Dan*_*iel 6 scientific-computing opencl
首先:
所以现在我的问题是,我习惯于使用编程进行不同的科学计算.在复杂性和计算次数方面,我使用的一些东西非常紧张.所以我想知道,也许我可以使用OpenCL加快速度.
所以,我希望听到你们所有人的回答是以下一些[链接奖励]:
*什么样的计算/算法/一般问题适合OpenCL
*确定某些特定代码是否会因迁移到OpenCL而受益的一般原则是什么?
问候
我认为这是一个很好的问题,而且我正在努力为自己的研究工作.
目前,在GPU可以做什么方面存在很大的局限性,因为它们需要单独的线程在不同的数据集上执行完全相同的代码,即问题/算法必须是"数据并行".显然,数据并行问题包括蒙特卡罗模拟(其中许多MC模拟并行执行),图像处理和不太明显的分子动力学模拟.数值积分(蒙特卡罗或其他)是另一种科学应用程序,可以轻松移植到GPU上运行.
另一个主要限制是每个线程的内存非常有限,因此为了在GPU上有效地执行,算法必须具有高算术强度.算法成为在GPU上运行的候选算法的必要但不充分的条件是在CPU上算法必须是强大的CPU绑定而不是内存绑定.
我的观点是,随着时间的推移,越来越多的问题将被解决,以便使用这种范例可以解决这些问题,因为有很大的性能提升,但低悬的果实显然是数据并行问题.在我看来,大规模多核编程在未来十年将在科学界越来越重要和普遍.
我已经玩了一下这个,并设法将回溯问题转换为适当的格式,以便在GPU上执行(使用CUDA).仅供参考,我在演讲中对此进行了描述:http://lattice.complex.unimelb.edu.au/home/sites/default/files/mydocuments/clisby_cuda0509.pdf
| 归档时间: |
|
| 查看次数: |
1586 次 |
| 最近记录: |