GPUの並列処理能力の使い方を知りたいです。しかし、私はグラフィックを作ることを熱望していません!私はCgのチュートリアルを試しましたが、グラフィックス用語では重いようです。さらに、私はそのようなプログラムをどのように入出力に接続できるのか把握していないようです。シンプルなGPUプログラミング(Cg?)
2つのファイルから2つの大きな整数配列を読み込み、最後の2つの要素を追加して新しい配列を作成し、それは別のファイルにあります。私はそれをテストし、私は、C++でそれをコーディングする方法をthatsのなかった:
#include <iostream>
#include <fstream>
using namespace std;
int main(void)
{
const int N=10000000;
int a[N],b[N],c[N];
ifstream a_source ("file_a",ios::binary);
ifstream b_source ("file_a",ios::binary);
ofstream c_target ("file_a",ios::binary);
a_source.read((char*)a,N*sizeof(int));
b_source.read((char*)b,N*sizeof(int));
for(int i=0;i<N;i++)
c[i]=a[i]+b[i];
c_target.write((char*)c,N*sizeof(int));
return 0;
}
私は、このためのCgを使用する方法を詳しく説明していただけますか?
Cgで死んでいますか?私が覚えている限り、これは純粋にシェーダ言語なので、汎用GPUプログラミングには必ずしも適していません。代わりにCUDAまたはOpenCLを見てください。 (注意:あなたの特定の例は、もちろん些細なシェーダですが、グラフィック用に開発されたAPIの代わりに汎用APIを使用する方が理にかなっていると思います)。 –
CgはグラフィックスではC、GPUではCではありません。 GPGPUを使ってGPGPUを実行したい場合は、グラフィックス処理の仕組みやGPGPUのマッピング方法を知る必要があります。 – KillianDS