我正在和一些有一些MATLAB代码的人一起工作,他们希望加快速度。他们目前正试图将所有这些代码转换成CUDA,以便让它在CPU上运行。我认为使用MATLAB的并行计算工具箱加快速度,并在具有MATLAB的分布式计算工具箱的集群上运行它会更快,从而允许我在多个不同的工作节点上运行它。现在,作为并行计算工具箱的一部分,您可以使用things like GPUArray。但是,我很困惑这将如何工作。正在使用诸如parfor(并行化)和gpuarray(gpu编程)之类的东西相互兼容吗?我可以同时使用吗?是否可以在不同的工作节点上进行拆分(并行化),同时还可以利用每个工人可用的GPU?MATLAB Parallel Computing Toolbox - Parallization vs GPU?
他们认为它仍然值得探索将所有matlab代码转换为cuda代码以在具有多个GPU的机器上运行所需的时间......但我认为正确的方法是使用已经内置到MATLAB。
任何帮助,建议,方向将非常感激!
谢谢!
你可能会考虑尝试使用Jacket来代替gpuArrays。我没有听说任何人对gpuArrays的性能感到满意,因为这些原因:http://accelereyes.com/compare – arrayfire