0
我刚刚学习与ViennaCL合作。第一次尝试在CPU上工作正常,现在我正在尝试使用OpenCL。但是,我不能管理获取数据到GPU - 而矩阵似乎创造,他们没有得到任何内容:OS X上的ViennaCL:无法将数据复制到GPU
#define VIENNACL_WITH_OPENCL
#define VIENNACL_WITH_UBLAS
#include <boost/numeric/ublas/matrix.hpp>
#include "viennacl/matrix.hpp"
int main() {
boost::numeric::ublas::matrix<float> data_cpu(1,1);
data_cpu(0,0) = 1;
viennacl::matrix<float> data_gpu(1,1);
viennacl::copy(data_cpu, data_gpu);
assert(data_cpu(0,0) == data_gpu(0,0));
}
在此之后,data_gpu(0,0)
是0
但我相信它应该是1
。我正在编译g++ nocopy.cpp -framework OpenCL
。我使用提供的OpenCL驱动程序使用OS X.
我在这里做错了什么?
编辑:删除VIENNACL_WITH_OPENCL
解决了问题,但不是我想要的。
更新:这似乎是OS X的问题 - 在另一台(SLES)机器上,它工作正常。有任何想法吗? – mrks 2013-05-15 07:49:49