opencl

    0热度

    1回答

    产生错误内核代码: __kernel void testDynamic(__global int *data) { int id=get_global_id(0); atomic_add(&data[1],2); } __kernel void test(__global int * data) { int id=get_global_id(0);

    -2热度

    1回答

    是否有从MATLAB创建的OpenCL或CUDA GPU代码MATLAB代码生成? 我知道C++代码生成的,和MATLAB并行计算工具箱,可在GPU上运行,但我找不到任何文件来生成代码。 任何人都可以阐明关于这个问题的?

    0热度

    1回答

    有两个圆形的语句,例如: for(int i=0;i<1000;i++) for (int j=0;j<1000;j++) { for(int k=i*5;k<i*5+5;k++) for(int l=j*5;l<j*5+5;j++) { marrytemp=A[i]+B[j]+marry; } marry[i,j]=marrytemp;

    2热度

    1回答

    我是开放CL的新手,因此如果有人能帮忙,我会很感激。 我有一个小内核,总是CL_INVALID_COMMAND_QUEUE错误。我试过不同的硬件gtx 765m或gtx 980,结果是一样的。 下面是代码的主机+内核: //get all platforms (drivers) std::vector<cl::Platform> all_platforms; cl::Platform::get

    0热度

    1回答

    我做了一个简单的程序,输入一个矢量加法器,并想测试执行时间与组大小。 当我将1024到5012的组大小更改为256和128时。执行时间非常相似。为什么?在我看来,当我使用更小的组时,我们应该有更多的组,并且它们可以并行工作在内核中,这可能导致更少的执行时间(例如,如果工作组大小从512更改为256,执行时间应该减少一半? )但在我的gpu经验中,执行时间是否相似?我的看法不对?

    0热度

    1回答

    以下C++的OpenCL代码编译细跟克++ -c no_x.cpp: // no_x.cpp #include <CL/cl.h> void func() { cl_double2 xy; xy.x = 1.0; xy.y = 2.0; } 但随着C++ - 11启用相同的文件给出了错误: $ g++ -std=c++11 -c no_x.cpp nox

    -1热度

    1回答

    在OpenCl的定义中我总是看到“OpenCl是标准的”。我的问题什么是完全标准的语言,为什么OpenCl是标准的? 谢谢!

    0热度

    1回答

    我有一个内核源代码,可以在我的PC上的G970上运行,但不会在我的2015年初MacBook Pro上使用Iris 6100 1536MB图形进行编译。 platform = cl.get_platforms()[0] device = platform.get_devices()[1] # Get the GPU ID ctx = cl.Context([device]) # Tell

    0热度

    1回答

    我写了一个OpenCL内核,它在设备的while循环内部生成随机数。一旦获得可接受的随机数,内核应退出循环并将结果返回给主机。通常,每个工作项目的迭代次数为〜100-1000。 问题是,当我启用while循环并且从不返回结果时,此代码挂起。如果我只是禁用while循环 - 即。内核只能生成一个随机数而不是100s - 内核工作正常。 任何人对可能发生什么都有任何想法?内核代码如下,也可在此gith

    0热度

    1回答

    如果我使用clEnqueueMapBuffer相同的CL缓冲几次地图,可以在保证返回相同的地址?例如,如果我有: ptr1 = (float *) clEnqueueMapBuffer(commandQueue, buffer, CL_TRUE, CL_MAP_WRITE, 0, bufferSize, 0, NULL, NULL, &errorNumber); // do something