「ベクトルプロセッサー」の版間の差分

編集の要約なし
編集の要約なし
 
(2人の利用者による、間の12版が非表示)
1行目: 1行目:
'''ベクトルプロセッサー'''(vector processor)とは、[[CPU]]の内部の回路の大部分を[[ベクトル演算]]に振った製品の総称です。
'''ベクトルプロセッサー'''(vector processor)とは、[[CPU]]の回路の大部分を[[ベクトル演算]]([[SIMD演算]])に振った製品の総称です。


主に大量の[[データ]]を延々と処理し続けたい[[スーパーコンピューター]]で大流行しました。
主に大量の[[データ]]を延々と処理し続けたい[[スーパーコンピューター]]で大流行しました。


なお、[[パソコン]]や[[スマホ]]では[[ベクトル演算器]]をオマケ程度に付けた[[CPU]]が主流です。
一方でベクトル演算が不要な場面でもベクトル演算しかできないので[[パソコン]]用途ではまったく流行りませんでした。なお、[[パソコン]]や[[スマホ]]では[[ベクトル演算器]]([[AVX]]や[[NEON]]など)をオマケ程度に付けた[[CPU]]が主流です。これらはベクトルプロセッサーに対して「[[スカラープロセッサー]]」と呼ばれます。


ベクトルプロセッサーの新形態でありベクトルコプロセッサーともいえる「[[GPU]]」を使った「[[GPGPU]]」の登場で主流は完全にそちらになっています。
ベクトルプロセッサーの新形態でありベクトル'''コ'''プロセッサーともいえる「[[GPU]]」を使った「[[GPGPU]]」の登場で主流は完全にそちらになっています。


ベクトルプロセッサーはGPUよりプログラミングなどが手軽だという利点があります。ベクトルプロセッサーはC言語やC#などでOSが用意するfloat4構造体やVector4構造体などを使ってプログラミングすれば全自動でコンパイラが展開してくれメモリの出し入れも考える必要がなく非常に簡単という利点があります。一方でコプロセッサーであるGPUでは「シェーダーを送り込んで」「加工前データを送り込んで」「加工済みデータを取り出す」という手順が必要になります。
== プログラミングが簡単 ==
ベクトルプロセッサーは[[GPU]]より[[プログラミング]]などが手軽だという利点があります。
 
[[C言語]]や[[C Sharp|C#]]などで[[OS]]や[[ランタイム]]が用意するfloat4構造体やVector4構造体などを使って[[プログラミング]]すれば全自動で[[コンパイラ]]が[[ベクトル演算]]に展開してくれ、float4構造体やVector4構造体は普通の[[変数]]として扱われるので[[メモリ]]の出し入れも考える必要がなく非常に簡単という利点があります。
 
一方でそもそもの登場経緯が[[コプロセッサー]]である[[GPU]]では「[[シェーダー]]を送り込んで」「加工前データを送り込んで」「加工済みデータを取り出す」という手順が必要になります。また[[コプロセッサー]]での処理は[[デバッグ]]も容易ではないという欠点もあります。


[[category: CPU]]
[[category: CPU]]
[[category: SIMD]]