问题标签 [dpc++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
72 浏览

c++ - dpc++ 错误 提交的命令组没有内核或显式内存操作。-59(CL_INVALID_OPERATION)

我正在尝试 sycl/dpc++。我写了下面的代码。我正在设备端创建一个数组 deviceArr,使用 memcpy 将 hostArr 的值复制到该数组,然后使用 parallel_for 内核将 devicearray 的值增加 1,并使用 memcpy 将值复制回来。

这段代码编译得很好,但是在运行时我在运行时收到以下错误。

但是我可以看到我提交的所有队列都有内核(parallel_for)或内存操作(memcpy)。谁能解释为什么会发生此错误?

0 投票
1 回答
82 浏览

c++ - 运行 SYCL/DPC++ 代码时出现意外/错误结果

我是 SYCl/DPC++ 的初学者。我想打印 10 的倍数,但不是那样,而是用 0 代替。

我正在使用 USM(统一共享内存),并且正在隐式检查共享内存和主机内存中的数据移动。因此,我创建了两个数组,并对其进行了初始化和操作。我可以看到他们两个相同的结果。

这是我的代码;我不明白我哪里出错了。

预期成绩:

实际输出:

0 投票
0 回答
87 浏览

c++ - Intel oneAPI DPCT 无法从 CUDA 1 通道纹理转换为 DPCT 4 通道 image_wrapper

我有以下问题:

我有一个使用纹理的 CUDA 代码,例如:

所以当我使用 DPCT 时,我有这个输出:

所以,我用这个改变了声明:

我的问题是我不知道如何在阅读时创建等价物。我有这个:

但我不知道如何在我的 DPC 代码中从 CUDA 获取相同的无符号字符。我必须修改读取的索引吗?我真的迷路了。

非常感谢您!

0 投票
1 回答
144 浏览

c++ - Unable to get values from kernel code in SYCL/DPC++

I am a beginner in SYCL/DPC++. I have created an array and by using buffers I am updating the values in the device code but when I try to print the updated values in the kernel/device code I am getting error. I am able to print the updated values through accessors and arrays. Can someone help me out how can I print/get the values from kernel code?

Here is my code.

I got these errors while compiling the code

0 投票
1 回答
66 浏览

intel-oneapi - Nvidia 示例应用程序的 DPCT 迁移问题

我正在尝试使用英特尔 DPCT 工具将 CUDA 代码迁移到 Dpc++。这是我的详细信息:

操作系统:Ubuntu 20.04 应用程序:BlackScholes(金融应用程序。Nvidia CUDA 工具包示例)

在迁移过程中,DPCT 工具生成了很多警告:

/home/administrator/NVIDIA_CUDA-11.1_Samples/4_Finance/BlackScholes/BlackScholes.cu:116:21:警告:DPCT1003:0:迁移的 API 不返回错误代码。( , 0) 被插入。您可能需要重写此代码。checkCudaErrors(cudaMalloc((void **)&d_CallResult, OPT_SZ)); ^ /home/administrator/NVIDIA_CUDA-11.1_Samples/4_Finance/BlackScholes/BlackScholes.cu:117:21:警告:DPCT1003:1:迁移的 API 不返回错误代码。( , 0) 被插入。您可能需要重写此代码。checkCudaErrors(cudaMalloc((void **)&d_PutResult, OPT_SZ)); ^ /home/administrator/NVIDIA_CUDA-11.1_Samples/4_Finance/BlackScholes/BlackScholes.cu:118:21:警告:DPCT1003:2:迁移的 API 不返回错误代码。(, 0) 被插入。您可能需要重写此代码。checkCudaErrors(cudaMalloc((void **)&d_StockPrice, OPT_SZ)); ^ /home/administrator/NVIDIA_CUDA-11.1_Samples/4_Finance/BlackScholes/BlackScholes.cu:119:21:警告:DPCT1003:3:迁移的 API 不返回错误代码。( , 0) 被插入。您可能需要重写此代码。checkCudaErrors(cudaMalloc((void **)&d_OptionStrike, OPT_SZ));

有人可以告诉我如何解决这些警告吗?

重现步骤:

  1. 拦截构建
  2. dpct -p compile_commands.json
0 投票
1 回答
48 浏览

intel-oneapi - 无法使用 dpct 工具迁移简单的 CUDA 矢量添加示例。致命错误:找不到“helper_cuda.h”文件

我正在尝试将简单的 vectorAdd.cu 从 NVDIA CUDA 示例迁移到 DPCPP。使用 DPCT 时,我在迁移过程中收到以下错误。

致命错误:找不到“helper_cude.h”文件

找不到文件错误

使用的命令:dpct --in-root=./vectorAdd.cu

而且,当我尝试使用 -I<path-of-helper_cuda.h> 添加“helper_cuda.h”的包含路径时,出现错误:

“未知的命令行参数'-I'。你的意思是'-h'吗?”

使用的命令:dpct --in-root=./ --out-root=dpct_out1 -I "C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\common\inc" vectorAdd.cu
未知的命令行参数

非常感谢这里的任何帮助!谢谢

0 投票
1 回答
82 浏览

c++ - 错误:从 'std::array 没有可行的转换' 到 'const void *' 使用 SYCL/DPC++

我是 SYCL/DPC++ 的初学者。我已经使用 USM(统一共享内存)编写了一个代码,并采用了两个数组主机和设备数组,我想在其中将主机数组值复制到设备数组并执行基本操作并打印这些值。但是在编译的时候,我得到了一个错误。

这是我的代码。

编译错误

有人可以帮我在哪里出错吗?

提前致谢。

0 投票
1 回答
203 浏览

c++ - 如何使用 DPC++ 和 CMake 构建 SYCL 程序?

背景

我正在尝试使用 CUDA 后端学习 SYCL(我使用这些指令编译了 dpc++ 编译器,并且矢量添加有效)。然而,第二天我无法使用 CMake 让书中的第一个示例工作,但是使用命令行和调用编译器直接解决了这个问题。

我使用这个脚本来设置环境变量:

这是我的 CMakeLists.txt:

以下是链接器错误的前几行:

我该如何解决?我的直觉告诉我,编译器在直接调用时以不同的方式调用链接器,并且我没有指定链接过程的一些非常重要的部分。

使用详细模式调用编译器会给出以下链接命令:

除了链接器错误之外,还有更多警告,这表明编译器未处于正确的“模式”。我不知道接下来从哪里开始挖掘。

0 投票
2 回答
121 浏览

c++ - 如何指定在 SYCL/DPC++ 中运行程序时要使用的特定 GPU 设备?

我正在尝试使用 SYCL/DPC++ 的代码。我的设备上有两个 GPU。如何指定我的代码需要在特定的 GPU 设备上运行?当我尝试使用“gpu-selector”运行我的代码时,只有一个默认的用于运行。如何使用其他 GPU 设备来运行我的代码?

这是我的代码。

有人可以帮我解决如何在特定的 GPU 设备上运行我的代码吗?

提前致谢!

0 投票
1 回答
92 浏览

c++ - DPC++ 中的范围函数面临的错误

我是 Sycl/DPC++ 语言的新手。我使用统一共享内存 (USM) 编写了一个示例向量添加代码:

当我编译它时,我收到以下错误:

如何修复此错误?