タグ

parallelismに関するakaneharaのブックマーク (3)

  • タダ飯を食わせろ

    CPUが複数あっても処理が早くならない。 これは、ソフトウェア側の都合があるからだ。 これが意外と厄介なのである。 複数のプロセッサを使って、並列処理をするためには、Windowsではプログラムをスレッドという実行単位に分割する必要がある。通常のプログラムでは、スレッド分割が意識されていない(スレッドを分けていない)ため、Windowsは並列に実行しようとしない。 なお、適時 DoEvents 命令を挟んでやることで、処理中に別の処理を割り込ませることはできる。しかし、残念ながら1プロセスあたりに割り当てられるCPUは同時に1つだけであり、CPU使用率の合計は常に1CPU分である。 DoEventsを実行したとき、他の処理が割り込むだけであって、並列には動かない。 ちなみに、Aの処理中にBの処理が割り込み、さらにその途中でCの処理が割り込んでくると、処理が終わる順番はC→B→Aとなる。割り

  • 並列プログラミング言語 PCからスパコンまで

    . ...... 並列プログラミング言語 PCからスパコンまで 田浦健次朗 tau@eidos.ic.i.u-tokyo.ac.jp 東京大学 1 / 49 自己紹介 ...1 1992 年 東京大学理学部情報科学科 卒業 ...2 学部 3 年時代は「アルゴリズムとデータ構造」で 勉強 ...3 そして石畑先生の講義も受けていた ...4 2001 年から ACM プログラミングコンテストの審 判員に加わり, 石畑先生と再会 ...5 その間, 並列分散処理, プログラミング言語, メモ リ管理など, プログラミング言語に関わる研究に 従事 2 / 49 日の概要 なぜ並列言語? 並列プログラミングをやってみよう (簡単)! いやでもやっぱ難しい. . . 3 / 49 突然のクイズ(のお膳立て) 0 1 CPU の「動作周波数」(Hz) ≡ 内部電子回路の ON/OFF 切り替えの

  • マルチコア時代の最新並列並行技術 Haskellから見える世界

    1 Haskell kazu@iij.ad.jp 2 (parallel) (concurrent) 3 4 5 6 7 Haskell 8 OS 9 Haskell 10 Haskell 11 Haskell Haskell 12 Haskell 13 Haskell 14 ) N 15 map map Google MapReduce 16 Java puzzles.parallel().map(e -> solve(e)); // Scala puzzles.par.map(solve); // Haskell map solve puzzles ‘using‘ parList rseq ) 17 % ghc -O2 -threaded foo.hs % ./foo +RTS -N2 18 Repa Accelerate GPU NVIDIA GPU CUDA 19 h x = do

  • 1