【问题标题】:Opencl kernel + ClMagma arraysOpencl 内核 + ClMagma 数组
【发布时间】:2016-08-17 08:30:27
【问题描述】:

我是 OpenCl 的新手,我想尝试以下方法,使用 ClMagma 和 opencl 内核:

cl_mem A_k, B_k;
magma_malloc(&A_k, col*row*sizeof(double));
magma_malloc(&B_k, col*row*sizeof(double));

magma_dgemm(MagmaNoTrans, MagmaTrans, row, row, col, alpha, A_k, size, row, A_k, size, row, beta, B_k, size, row, queue);

我想在 OpenCl 内核中使用 A_k 和 B_k,但是如果我使用类似的东西:

status = clSetKernelArg(k_test, 0, sizeof(cl_mem), &A_k);

我收到一个“CL_INVALID_MEM_OBJECT”,所以我如何在 OpenCl 内核中使用 A_k 数组而不将其移动到主机然后再次移动到设备(使用 clCreateBuffer 制作新数组)。

已经尝试过“clEnqueueCopyBuffer”,但没有成功

我们将不胜感激,谢谢!

【问题讨论】:

  • magma_dmalloc_pinned 如果是对齐问题可以工作吗?
  • 没有使用固定内存进行更改,问题是在 OpenCl 内核中使用 magma 指针数组...谢谢

标签: kernel opencl


【解决方案1】:

如果有和我一样的问题,你可以在这里找到答案: http://icl.cs.utk.edu/magma/forum/viewtopic.php?f=2&t=1351&sid=fa4fe6ef9bbed60604251583dc936d50

(如果有mod看到这个,你可以关闭这个帖子,谢谢)

【讨论】:

    猜你喜欢
    • 2012-02-05
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2016-05-28
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多