2012-08-09 78 views
-1

我正在研究一些广泛使用boost::multi_array<double>的C++代码。C++容器和openCL

下一步是移植代码以使用openCL。由于我对openCL相当陌生,因此我不知道我应该如何处理multi_array。我应该把它改写成nested-openCL-vector还是nested-c-array

你会怎么做?

+0

可能取决于你打算用它 – Kos 2012-08-09 12:31:34

+0

做什么我会想要一些固定大小的数组放入GPU的内存,并让卡片进行一些计算。 – user1587451 2012-08-09 13:49:09

+0

你的boost :: mult_array包含什么样的数据?什么是维度? – 2012-08-09 14:55:11

回答

0

还有像图书馆针对OpenCL已经存在升压,你可能想看看下面的库从GPU厂商

Thurst从NVIDIA:推力是并行算法和数据结构一个功能强大的库。 Thrust为GPU编程提供了一个灵活的高级界面,大大提高了开发人员的工作效率。通过使用Thrust,C++开发人员只需编写几行代码即可执行GPU加速的排序,扫描,转换和缩减操作,速度比最新的多核CPU要快几个数量级。例如,thrust :: sort算法的分选性能比STL和TBB提高5倍到100倍。

AMD提供数学函数库是包含写在OpenCL和设计在AMD GPU的更多信息看这里运行FFT和BLAS功能的软件库: http://developer.amd.com/libraries/appmathlibs/Pages/default.aspx