簡體   English   中英

OS X上的ViennaCL:無法將數據復制到GPU

[英]ViennaCL on OS X: Can't copy data to GPU

我正在學習與ViennaCL合作。 在CPU上的第一次嘗試運行良好,現在我正在嘗試使用OpenCL。 但是,我無法將數據獲取到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編譯。 我正在使用OS X和提供的OpenCL驅動程序。

我在這里做錯了什么?

編輯:刪除VIENNACL_WITH_OPENCL解決問題,但不是我想要的。

看起來(我?)OpenCL的OS X安裝被某種程度破壞了。 其他普通的OpenCL示例也會失敗:

noname:histogram Markus$ ./histogram 
OpenCL Device Vendor = NVIDIA,  OpenCL Device Name = GeForce GT 650M,  OpenCL Device Version = OpenCL 1.1 
Image Histogram for image type = CL_RGBA, CL_UNORM_INT8: verify_histogram_results failed for indx = 0, gpu result = 0, expected result = 8204
Image dimensions: 1920 x 1080 pixels, Image type = CL_RGBA, CL_UNORM_INT8
Time to compute histogram = 0 ms
Image Histogram for image type = CL_RGBA, CL_FLOAT: verify_histogram_results failed for indx = 0, gpu result = 0, expected result = 8049
Image dimensions: 1920 x 1080 pixels, Image type = CL_RGBA, CL_FLOAT
Time to compute histogram = 0 ms
noname:histogram Markus$ pwd
/Users/Markus/Desktop/tmp/opencl-book-samples-read-only/src/Chapter_14/histogram

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM