はじめに CPUは、コンピューターの頭脳です。単純に考えると、頭脳が2つあれば、1つの時と比べて、同じ時間でたくさんのことを考えることができそうです。10年ほど前、Intel製プロセッサーPentium IIの頃から、1枚のボードに複数のCPUを載せて高速化する試みがなされました。Intel製CPUでは2ユニットまででしたが、SUN Microsystems製のコンピューターでは、もっとたくさんのユニットを載せることができていました。今では、CPU自体に複数の「コア」を載せ、1ユニットで同時に別々のことを実行できるようになっています。 ハードウェアが、同時に複数のことを実行できるようになったため、ソフトウェアもそれに対応する必要が出てきました。本記事では、昨今あちらこちらで声高に繰り返される、「並列処理化すれば速くなる」に疑問を持ったため、それを検証することにします。 対象読者 なんといっ
GPU を使用した並列計算環境が一般的になりつつあります。ユーザサイド立ってみれば、「並列化適用方法の種類とその効果」をもう一度整理して考え、自分に合った手法を選択しなければいけないと思っている方も多いことでしょう。並列計算と言っても、プロセッサ・コア自体が自動的にSIMD(ベクトル処理)実行するものから、マルチコアを利用した自動並列、OpenMPによるスレッドレベルの並列実行、さらにプログラムを改造してマルチプロセスによる MPI 並列実行と様々な手法が用意されています。さらに、今、GPUを利用した many cores 並列を利用した並列実行も加わり、ユーザにとっては、自分でも手軽にできる方法の判断やその性能効果に関する一つの判断基準を持っておくことが必要でしょう。また、簡単な並列実行の原理等の知識があるだけでも、今後の many cores 並列時代に向けて、合理的な並列化のための指
はじめに CPUメーカーは、発熱の問題上、クロックレートが4.0GHzを超えるCPUを何年も実質的に製造できずにいます。シングルコアプロセッサの速度にこうした限界がある以上、プログラムの実行速度を上げるには、プログラムを複数のプロセッサで実行するしかありません。そこで、CPUメーカー各社は複数のコアを持つプロセッサ(マルチプロセッサCPU)を製造し始めました。近い将来には、100基以上のコアを持つプロセッサも登場することでしょう。このような新しいプロセッサの性能を最大限に活用するために、ソフトウェア開発者は並列処理プログラムを作成することが求められます。ハーブ・サッター氏がムーアの法則について述べたとおり、「The Free Lunch Is Over(タダ飯は終わった)」のです。とはいえ、並列処理プログラムの作成は厄介で、移行は容易ではありません。 過去30年、並列処理の主要フレームワー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く