opencl

    0热度

    1回答

    如果我没有误解standard,它表示当希望重新使用用户事件时,无法完成并且必须创建新事件(clReleaseEvent() + clCreateUserEvent())。 在细节: ​​只能被调用一次改变事件的执行 状态。 现在,为了好奇:为什么呢?这是设计决定,还是由于某些特定的原因,我没有得到?

    2热度

    2回答

    我将数据存储在char数组中,并且需要从中读取float和int变量。 此代码工作正常的CPU: global float *p; p = (global float*)get_pointer_to_the_field(char_array, index); *p += 10; 但在GPU出现错误-5:CL_OUT_OF_RESOURCES。阅读本身是有效的,但是用这个值做一些事情(在这种

    1热度

    1回答

    我正在与OpenCL合作,我使用矩阵来增加其值,并且我需要的应用程序时间越少越好。用OpenCL提高性能的最佳方法是什么?我已经阅读了一些关于数据并行和任务并行的内容,但我不太了解它们。 我正在使用64x56矩阵。使用任务并行我创建了64个内核函数。每列有一个内核,但我认为我可以做得更好。

    0热度

    1回答

    打算使用所有可用的GPU的内存为我的算法,使检索它与用量: clGetDeviceInfo(..., CL_DEVICE_GLOBAL_MEM_SIZE, ...); 这是字节,然后分配给它的GPU有: clCreateBuffer(gpuContext, CL_MEM_READ_WRITE, 536543232, NULL, & errcode_ret); 想知道为什么它的工作原理,如果

    0热度

    1回答

    我在使用Xcode处理OpenCL时遇到了一些问题。 要处理该项目,应找到最短路径形成点到另一个点的网格。由于我不熟悉内核编程,我需要有人帮助我弄清楚我的代码中有什么问题。内核是一个双向bfs。 功能 ret = clBuildProgram(program, 1, &device_id, NULL, NULL, NULL); 返回错误,11至RET(以下时,禁用行由唯一的评论作品) 这是双向

    0热度

    1回答

    我试图重新从从代码的另一部分返回C指针一个UserEvent对象: uintptr_t get_event_ptr(); // returns cl_event pointer to user event, comes from pyopencl uintptr_t evt_ptr = get_event_ptr(); 用C活动++具有下面的构造: Event (const cl_eve

    0热度

    1回答

    当我尝试将数据循环回内核函数,几次迭代停止工作后,只给出0作为答案时,我的代码会中断吗?有人知道为什么吗?如果我循环调用内核的整个方法,但它的工作速度更慢 cl_mem *ptrInput = &Pressure_BUFF; cl_mem *ptrOutput = &Pressure_OUT_BUFF; for(int i = 0; i<Interaction_per_frame; i++)

    1热度

    1回答

    我已经创建了一个存储器对象上的共享存储器具有以下的OpenCL函数的调用memoryarea: cl_mem buffer_img_GAUSS_TEST = clCreateBuffer(context, CL_MEM_ALLOC_HOST_PTR, sizeof(uchar) * size_cols * size_rows,NULL,&status); 此功能的呼叫给我的指针: uchar

    0热度

    1回答

    我正在尝试将MJPEG解码器的顺序C代码翻译成OpenCL。我从this github项目获得了C代码。 我现在试图将IDCT的原始C代码转换为OpenCL。 我复制并粘贴了.c IDCT文件的代码,并粘贴到我的.cl文件中,我的文件名为invCosine.cl。 invCosine.cl: #define IDCT_INT_MIN (- IDCT_INT_MAX - 1) #def

    0热度

    1回答

    我正在将大数乘以两个整数数组。我基本上乘以大约20位数字,但对于更多的数字,它行为不稳定。我在测试和内核的CPU和内核上有一些代码,每次工作后给我不同的数字。这个问题可能是障碍或类似互斥,但我不会进入这么多。我该如何解决这种不稳定性?下面是代码 kernel void multiply(global int* A, const int M, global int*