2012-03-11 68 views
0

有什麼辦法可以通過opencl C++代碼來使用matlab的mex例程。 我已經完成了早些時候的C++ CUDA代碼,並將它與MATLAB聯繫起來。 我還沒有能夠用OpenCl做同樣的事情。我有一個支持OpenCl的ATI顯卡。這是matlab只能在nvidia顯卡上運行的問題嗎? 任何人都可以幫助我處理這種情況matlab mex with opencl for amd

+0

什麼是錯誤/問題? – user1071136 2012-03-11 22:26:32

+0

Jacket支持OpenCL。你嘗試過嗎? (http://accelereyes.com/jacket_tour) – arrayfire 2012-03-12 03:22:47

回答

1

總之,是的。你應該可以通過mex調用OpenCL。 Mex文件實際上只是.dll文件,因此您可以在Mex網關外執行任何您應該能夠執行的任何操作。 mex網關如何定義和重新定義一些不是線程安全的東西(例如,在mex文件中調用printf)有一些例外,但是您應該能夠解決這個問題。

您應該意識到偶爾會出現與位置無關的代碼與OpenCL相關的問題。根據您的OpenCL庫的編譯方式,您可能需要使用-fPIC重新編譯它們,如in this blog post(其中描述了使用mex和opencl的組合)。

如果在編寫了一個與「Hello OpenCL World」程序相當的程序後,您遇到了障礙或錯誤,請重新發布,我們應該可以提供幫助。

快樂的黑客攻擊。