AccelerEyes在2012年12月宣布,它在图形处理器代码上与Mathworks合作,并已停止其用于MATLAB的产品夹克:
http://blog.accelereyes.com/blog/2012/12/12/exciting-updates-from-accelereyes/
不幸的是,他们不再出售夹克许可证。
据我所知,基于ArrayFire的夹克GPU阵列解决方案比MATLAB提供的gpuArray解决方案要快得多。
我开始使用gpuArray,但我发现很多函数的实现都很糟糕。例如,一个简单的
myArray(:) = 0 是非常慢的。我已经编写了一些自定义的CUDA内核,但实现不佳的标准MATLAB功能增加了很多开销,即使在整个代码中始终使用gpuArrays。我修复了一些问题,用手工编写的CUDA代码替换了MATLAB代码-但我不想重新实现MATLAB标准功能。
我遗漏的另一个特性是稀疏GPU矩阵。
所以我的问题是:
如何加速MATLAB提供的糟糕实现的默认GPU实现?特别是,我如何使用GPU加速MATLAB中的稀疏矩阵运算?
发布于 2013-10-31 14:10:22
我有幸参加了AccelerEyes创始人约翰的演讲。他们没有得到加速,因为他们只是删除了写得很差的代码,并将其替换为在这里和那里节省了一些位的代码。它们的加速主要来自于利用缓存的可用性和在内存(GPU)中执行大量操作。Matlab依赖于GPU和CPU之间的数据传输,如果我没记错的话,因此加速是疯狂的。
发布于 2013-11-15 20:11:23
MATLAB支持基于CUDA的GPU。你必须从“并行计算工具箱”访问它。希望这两个链接也能有所帮助:
关键功能
用于在多个processors
使用MATLAB进行GPU计算,与使用C或Fortran相比,使用GPU可以更轻松地加速应用程序。通过熟悉的MATLAB语言,您可以利用CUDA GPU计算技术,而不必学习复杂的GPU体系结构或低级GPU计算库。
您可以通过Parallel Computing Toolbox在MATLAB中使用GPU,它支持:
计算能力为2.0或更高的
了解有关对信号处理algorithms)
https://stackoverflow.com/questions/16943670
复制相似问题