2012-03-11 9 views
0

openclのC++コードでmatlabにmexルーチンを使用する方法はありますか? 私は以前のC++ CUDAコードを実行し、MATLABでそれをmexedしました。 私はOpenClで同じことをすることはできませんでした。私はOpenClをサポートするATI Graphicsカードを持っています。それはmatlabがnvidiaグラフィックスカードでしか動かないのですか? 誰もこの状況で私を助けることができますmatlab mex for amd

+0

エラーとは何ですか? – user1071136

+0

ジャケットはOpenCLをサポートしています。あなたはそれを試しましたか? (http://accelereyes.com/jacket_tour) – arrayfire

答えて

1

要するに、はい。あなたはmexを通してOpenCLを呼び出すことができるはずです。 Mexファイルは事実上ちょうど.dllファイルなので、あなたがmexゲートウェイの外で行うことができることは、あなたがそこでできるはずです。 mexゲートウェイがスレッドセーフでないもの(例えばmexファイルの中からprintfが呼び出されるもの)を定義して再定義する方法にはいくつかの例外がありますが、そのことを回避できるはずです。

OpenCLで位置独立コードに関連する問題があることに注意してください。 OpenCLライブラリのコンパイル方法によっては、-fPICを使用して再コンパイルする必要があります()。これはmexとopenclを組み合わせて使用​​する方法について説明しています。

「Hello OpenCL World」プログラムに相当するものを処理した後で、困ったときやエラーが発生した場合は、再投稿してください。

ハッピーハッキング。

関連する問題