小编Fak*_*een的帖子

使用OpenACC而不是OpenCL?

我是OpenACC的新手,这是GPU加速和CPU的新编程标准.根据我的知识,OpenACC是一种编译器指令的语言,我们可以直接在任何地方加速代码,而无需更改整个代码.与OpenMP不同,此编程标准适用于GPU.

现在我怀疑在这里提出..

我们有OpenCL加速,现在是OpenACC(它非常容易使用,只需提供编译器提示).对于主机程序加速,我们可以简单地放置编译器指令,那么如果我们有内核呢?即现在我想写我的GPU(c语言)代码,我该怎么办?像OpenCL我需要编写example.c&example.cl ?? 那么需要添加OpenACC编译器指令吗?或者以哪种方式?如果是这样,那么OpenACC在这里的用途是什么,因为我们正在编写*.c和*.cl文件,(我们需要检查所有内存约束以及编写OpenCL的所有内容,这是一项艰巨的工作).

kernel opencl openacc

5
推荐指数
1
解决办法
7247
查看次数

使用pass by value的概念从opencl内核调用函数

如果我想使用传值的概念怎么办?例如:

void sum(int &u, int &v)
{    return u+v;  }

__kernel void testing(__global int *a, __global int *b, __global int *c)
{    int i = get_global_id(0);
     int u = max(a,b);
     int v = min(b,c);
     int x = sum(u,v);
}
Run Code Online (Sandbox Code Playgroud)

现在我的错误是'&'符号.我无法使用传递参考概念传递参数.该怎么办?

kernel pass-by-value opencl

4
推荐指数
1
解决办法
3837
查看次数

如何在CMake文件中添加头文件路径

我是OpenCL的新手.我在OpenCL的帮助下在Internet上编写了一个矢量加法代码.我已经包含了一个头文件,即CL/cl.h使用#include.

我使用的是NVIDIA显卡,OpenCL实现是NVIDIA_GPU_Computing_SDK.我的OpenCL头文件驻留在此路径中/opt/NVIDIA_GPU_Computing_SDK/OpenCL/common/inc.通过在编译代码时添加此路径,我可以通过linux终端运行OpenCL程序.但现在我想为此代码编写CMake文件.由于此Path问题,CMake文件适用于C程序,但不适用于OpenCL程序.在终端,我以前输入$cmake .,之后$make,它将搜索由cmake创建的Makefile,现在我的错误是在输入命令后make

fatal error: CL/cl.h: No such file or directory!
Run Code Online (Sandbox Code Playgroud)

现在告诉我如何将此头文件包含到CMake文件中?

cmake opencl

2
推荐指数
1
解决办法
1万
查看次数

是否可以将所有零分配给128位的所有位?

int main()
{
    int* p= (int*)malloc(8);

    for(i=0;i<128;i++)
    p=0;

}
Run Code Online (Sandbox Code Playgroud)

我想为所有128位分配所有零.以上代码是否正确?我想澄清一下.我的目标是将128位分配给一个变量并将所有零分配给所有128位.

c

0
推荐指数
1
解决办法
320
查看次数

是否可以在OpenCL中的clCreateCommandQueue中使用多个属性

我正在使用OpenCL.启用时,我的工具不会生成内核统计信息OUT-OF-ORDER EXEC MODE.所以我决定使用启用分析,clCreateCommandQueue但后来我意识到如何同时使用两个属性?我现在要做的是,我想在异步(out-of-orderexecution)模式下运行profing enable.

opencl

0
推荐指数
1
解决办法
354
查看次数

标签 统计

opencl ×4

kernel ×2

c ×1

cmake ×1

openacc ×1

pass-by-value ×1