並列計算
1970年代のマイクロプロセッサの開発以来、コンピュータの主なアーキテクチャ上の進化はワードサイズ(プロセッサが一度に処理できるビット幅)を倍々にしていくことで成されてきた。ワードを大きくすることで、従来のワードサイズでは多数の命令を必要としていた大きな変数の処理が、より少ない命令数で実行可能となる。例えば、8ビットのプロセッサで2つの16ビットの整数を加算する場合を考える。まず、2つのデータの下位8ビットを通常の加算命令で加算し、その後上位8ビットをキャリー付き加算命令で加算することで、下位8ビットで発生したキャリーを考慮する。つまり、8ビットプロセッサでは1つの演算に2つの命令を必要とし、16ビットプロセッサならそれを1命令で実行できる。
マイクロプロセッサの歴史を見れば、8ビット、16ビット、32ビットとワードサイズは大きくなっていった。32ビットとなった段階で汎用コンピュータのワードサイズの大型化は約20年間止まり、32ビットが標準的とされる時代が続いた。そして近年になってx86-64アーキテクチャが登場し、64ビットプロセッサが一般化した。
アプリケーションは、スレッド間で同期や通信を必要とする頻度で分類できる。細粒度並列性 (fine-graind parallelism) を持つものは、スレッド間で頻繁に通信する必要がある。粗粒度並列性(coarse-grained parallelism)を持つものはその逆である。自明な並列性を持つ (embarassingly parallel) ものは、ほとんど全くスレッド間の通信を必要とせず、したがって並列化も最も容易である。
ベクトル計算機とは、多数のデータ群に対して同じ命令を実行できるCPUまたはコンピュータシステムである。数値の配列またはベクトルに対して高度な操作を実行できる。例えば、A、B、C がそれぞれ64個の64ビット浮動小数点数の配列としたとき、 A = B × C {\displaystyle A=B\times C} を一度に行う。ベクトル計算機は、フリンの分類におけるSIMDと密接に関連している。
1970年代から1980年代にかけて、クレイはベクトル計算機で有名になった。しかし、最近ではベクトル計算機という呼び方をすることは少なくなっている。最近のプロセッサの命令セットには、AltiVecやストリーミングSIMD拡張命令 (SSE) などのベクトル処理命令が含まれている。