タグ

プログラムに関するhirotomo88445のブックマーク (4)

  • 現代のプロセッサと並列実行 (2/3)- @IT

    スーパースカラーでは、実行ユニットの並列化にあわせて命令デコーダも並列化する必要がありました。実行を高速化したいだけなのに、命令デコーダも並列化する必要があるのは少し無駄なように思われます。なんとかならないのでしょうか。 デコーダを並列化しなければならない理由は、複数の処理を実行するには複数の命令が必要だからです。それならば、一命令で複数の処理をしてしまえば命令デコーダを並列化する必要がなくなるのではないか、という気がします。 この一命令で複数の処理をしてしまうというのを実現したハードウェアがSIMD(Single Instruction Multiple Data)です。SIMDは実行ユニットだけを並列化したものです。このブロック図を図3に示します。 SIMDを実装したハードウェアでは、SIMD命令と呼ばれる「1つの命令で複数のデータを処理する命令」が用意されています。例えば、x86のS

  • OpenMPとは | 高速化・並列化 | 計算力学研究センター RCCM

    OpenMP(Open Multi-Processing)とは共有メモリ型マシンで並列プログラミングを可能にする API(Application Programming Interface) で、FORTRAN、C/C++から利用できます。 OpenMPの特徴は次の通りです。 ディレクティブを挿入するだけで並列化できる 同じソースからシリアル、並列の実行ファイルが作成できる コアごとのロードバランスをとり易い 比較的粒度が小さい計算でも並列の効果が得られる 自動並列化できる(単純なプログラムでないとなかなか効果は出ない) 何よりも、MPI や GPGPU と異なり、プログラムの一部ずつ、 デバッグしながらの並列化作業が可能ですので、 導入への敷居が低いものとなっています。 OpenMPの並列処理 OpenMPでは、マルチコアCPUの複数コアを利用し、複数のスレッドを処理します。 各スレッド

  • Peter Selinger: MD5 Collision Demo

    Published Feb 22, 2006. Last updated Oct 11, 2011. Collisions in the MD5 cryptographic hash function It is now well-known that the crytographic hash function MD5 has been broken. In March 2005, Xiaoyun Wang and Hongbo Yu of Shandong University in China published an article in which they describe an algorithm that can find two different sequences of 128 bytes with the same MD5 hash. One famous such

  • 第1回 ナンプレを解いてみよう

    ナンプレ(ナンバープレイス,数独)というパズルゲームがあります。図1を見てください。全体では9×9のマス目があり,その中が3×3のマスに分かれています。縦横の列に1~9までの数字がそれぞれ一つずつ入ります。また,3×3のマスにも1~9までの数字が一つずつ入ります。このルールで空白のマスを数字で埋めるアルゴリズムを考えてください。 NHK教育テレビの「ピタゴラスイッチ」という番組をご存知でしょうか。「ある物は,ある考え方で構成されている。その考え方はほかにも使われているから,そうした基となる考え方を知ろう」という趣旨に基づいて,考え方や物の成り立ちを児童向けに教える,とても面白い番組です。児童向けなのに周りのプログラマたちはだいたい見ています(笑)。 この番組の制作には,「だんご3兄弟」の作詞者として著名な佐藤雅彦氏が参加しています。佐藤氏の著書「毎月新聞」(毎日新聞社)には,要約すると以

    第1回 ナンプレを解いてみよう
  • 1