家にあるたくさんのデバイスを活用するために何かを書くことを計画しています。
基本的に、私の目的は、ラップトップを使用して計算を実行し、メインのデスクトップコンピューターを使用して電力を追加することです(そしてタスクをより速く完了することです)。私は細胞シミュレーションと化学的相互作用を扱っているので、家で利用できるすべてのものを利用するのは素晴らしいことです。
私は主にOSXを使用しているので、そのOSで動作する可能性のあるものが必要です。私はObjective-C、C、C++でコーディングできます。
私はGCD、OpenCL、MPIを知っていますが、どちらに進むべきかわかりません。
デスクトップの全機能を使用するのではなく、使用可能なコアの一部のみを使用することを計画していました(このようにして、リソースをあまり消費しない他のタスクを実行してデスクトップで作業を続けることができます)。特に、グラフィックカードの電源(ATIカードであるためCUDAは使用しない)を使用したいと思います。主にスプレッドシート、単語、Xcodeを使用したコーディングのみを行い、そのシナリオではグラフィックカードのリソースは基本的に使用されないためです。
前述の3つのライブラリまたはAPIの中に、タスクを選択的にルーティングし、制御を完全にコンパイラに任せずに別のマシンのリソースを使用できるようにする特定のライブラリまたはAPIのセットはありますか?GCDは素晴らしいと聞きましたが、MPIがスペクトルの反対側にあるのに対し、ブロックが実行される場所の制御は非常に限られています。OpenCLは真ん中にあるようです。
これらのテクノロジーの1つに飛び込む前に、どれが私のニーズに最も適しているかを知りたいと思います。私が達成しようとしていることを達成するために、他の何人かの研究者がすでに並列コンピューティングをうまく使用していると確信しています。
前もって感謝します。