2012-04-14 23 views
1

Matlabの並列計算ツールボックスでGPUの共有メモリがどのように使用されているかを誰かが伝えることができますか? MPユニットを同期させるために明示的に使用できますか?GPUの共有メモリはMatlabでどのように使用できますか?

BTW。私は1.5Gバイトのメモリ、マルチプロセッサあたり32コア(MPあたり16コア)、64Kbの共有(L1)メモリを持つGTX 580を持っています。

おかげ

答えて

1

私はMatlabのための答えを知らないが、あなたはPythonで動作するように喜んでいる場合は、PyCUDAはあなたの友達です。 CUDA-Cで直接カーネルコードを開発し、長い文字列でPythonで記述します。 PyCUDAを使用すると、これらをコンパイルしてデバイス変数を設定し、デバイスとの間でデータを送受信し、スレッド/ブロックなどを制御するための起動設定でカーネルを実行できます。共有メンバーを利用するには、sharedキーワードあなたのCUDA-CコードをPython文字列に変換します。

私は画像処理用のコードを書きましたis linked here。あなたはそれを解凍し、CUDA-CソースモジュールをPython文字列として書いた方法を見ることができます。 NumPyとSciPyでは、Pythonの残りのユーザーエクスペリエンスはMatlabと非常によく似ています。 Matlabでこのプロジェクトを行うことに結婚していない場合は、PyCUDAに切り替えることを検討してください。

+0

また、これはコメントとしては大きすぎる便利なものだと思っただけです。私はあなたのMatlabの質問に答えなかったので、私はあなたがアップの投票をしたり、答えとしてこれを受け入れることを望まないかどうかを完全に理解しています。 – ely

+0

初めてPythonコードを読みました...読みやすくて簡単です。私は自由な時間があるので、試してみます。ありがとう – Maiss

1

Maiss、

私はGPUのためのMコードにチャイムしたい - 私はGPUにアクセスするための有用な代替するジャケットを見つけました。 Jacketはデフォルトで共有メモリを使用して処理を行い、自分で制御する場合はSDKを使用します。

GTX 580は素晴らしいカードですが、現金があれば、長期的に(特に長期にわたる科学的アプリケーションの場合)、信頼性のためにTesla GPUのいくつかを個人的にお勧めします。

+0

おかげさまでビシュ、私はおそらく来年になるでしょう。私の上司を最初に説得する必要があります! – Maiss

+1

はい、GTXカードはゲームに最適です;)私は自分自身を持っています。しかし、長年走ってきた科学計算アプリケーションでGTXを焼いた後、私はテスラのメリットを学びました。再び、私の個人的な経験 - 別の意見が異なるかもしれません。 – Vish

関連する問題