问题标签 [sycl]

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 回答
49 浏览

sycl - queue.wait() 和等待缓冲区销毁有什么区别

考虑这个例子,我用 gpuQueue.wait() 等待完成:

而这个缓冲区位于嵌套范围内且无需等待的示例:

两者的输出是:

queue.wait() 嵌套范围
0 4 4 4
0 30 30 30
0 58 58 58

为什么 queue.wait() 不等待将缓冲区中的数据复制回主机?

0 投票
3 回答
440 浏览

cuda - Why does printf() work within a kernel, but using std::cout doesn't?

I have been exploring the field of parallel programming and have written basic kernels in Cuda and SYCL. I have encountered a situation where I had to print inside the kernel and I noticed that std::cout inside the kernel does not work whereas printf works. For example, consider the following SYCL Codes - This works -

whereas if I replace the printf with std::cout<<accessor[idx[0]] it raises a compile time error saying - Accessing non-const global variable is not allowed within SYCL device code. A similar thing happens with CUDA kernels. This got me thinking that what may be the difference between printf and std::coout which causes such behavior.

Also suppose If I wanted to implement a custom print function to be called from the GPU, how should I do it?
TIA

0 投票
0 回答
34 浏览

sycl - 使用 SYCL USM 时无法通过 malloc_device 分配内存

我正在使用 SYCL 编写神经网络,但我对malloc_deviceSYCL 感到困惑。

x = malloc_device<T>(N * K, Q), r = malloc_device<T>(M * K, Q)

当我连续有多个Linears 时,所有实例都可以正确分配weightand bias。但是,只有最后一个Linear实例可以正确分配for dz,其他Linear实例分配失败dz并得到结果0

有没有人可以解释为什么会发生?谢谢!

0 投票
0 回答
78 浏览

sycl - cl::sycl::queue::submit throw cl::sycl::exception

我正在尝试使用 SYCL 运行一小段代码,但它一直在崩溃。

这是重现问题的最小示例。

问题来自queue.submit抛出cl::sycl::exception.

即使函数不为空并且包含不应导致问题的内容,它也会发生。我获得的设备名称也是我要使用的 GPU 的名称。

谢谢!

0 投票
1 回答
83 浏览

sycl - 使用 hipSYCL / llvm 在 nvidia 上注册使用情况

我正在查看一些 hpc 代码的 sycl 端口的性能,我通过 hipSYCL 在 GV100 卡上运行这些代码。

通过分析器运行代码告诉我,非常高的寄存器使用率可能是性能的限制因素。

有什么方法可以影响 hipSYCL / clang 生成的 gpu 代码的寄存器使用,类似于 nvcc 的-maxregcount选项?

0 投票
1 回答
148 浏览

tbb - 错误:内核函数、SYCL、DPCPP 不允许隐式捕获“this”

我尝试编写一种“映射”类,它通过一些指定目标类型(CPU 或 GPU/加速器)的参数来包装 OneAPI 调用隐藏硬件定位问题。map,将代码引导到SYCL内核或TBB以通过parallel for实现map操作。它以设备类型、CPU 或 GPU 和函数作为参数,并应用于集合中的所有项目。但是在内核函数中,我有一个错误,即不允许隐式捕获。我无法理解我的错误是什么。这是我的代码:

当我在 Eclipse 的控制台中检查问题时,它显示了这个错误:

1- 内核函数不允许隐式捕获“this”

0 投票
2 回答
263 浏览

c++11 - ERROR: SYCL kernel cannot call through a function pointer, DPCPP, TBB

I try to define an array of functions and pass to the map, which I defined as a class, then if my device is CPU, the execution of each of my functions over the vector goes through the CPU, if not, goes through the SYCL part and execute on GPU. At the same time, I want to measure the performance of my code, the performance of executing my code on CPU with TBB library. The problem is, when I compile my program it shows me this error and I do not know how can I fix it. I should point out that, before defining an array of functions, with definition of local copy of function in the SYCL part, my code works well and I had the result, but after defining an array of function, it troughs an error. my code:

The ERROR:

0 投票
1 回答
113 浏览

opencl - 如何在 Sycl+openCL+DPCPP 上定义和执行函数数组

在我的程序中,我定义了一个函数数组

而不是每次都定义一个函数,我有兴趣定义一个函数数组,然后在我的程序中执行它。但是在用于在 GPU 上执行的 SYCL 部分中,我有一个错误,我不知道如何修复它。

错误:SYCL 内核无法通过函数指针调用

0 投票
1 回答
115 浏览

gpu - 如何使用 Profiling+openCL+Sycl+DPCPP 测量 GPU 的执行时间

我读了这个链接 https://github.com/intel/pti-gpu

我尝试使用 OpenCL(TM) 的设备活动跟踪,但我很困惑,我不知道应该如何使用设备活动文档来测量加速器上的时间。为了测量 CPU 的性能,我使用了 chrono,但我有兴趣使用 profiling 来测量不同设备中 CPU 和 GPU 的性能。我的程序:

0 投票
1 回答
97 浏览

gpu - 如何测量设备+OpenCL+GPU中代码的执行时间

我尝试测量我的代码在 CPU 和 GPU 上的执行时间。为了测量 CPU 上的时间,我使用了 std::chrono::high_resolution_clock::now() 和 std::chrono::high_resolution_clock::now(), std::chrono::duration_caststd::chrono::nanoseconds(end - 开始)并为了测量 GPU 设备上的时间,我阅读了以下链接: 1- https://github.com/intel/pti-gpu/blob/master/chapters/device_activity_tracing/OpenCL.md 2- https:// docs.oneapi.com/versions/latest/dpcpp/iface/event.html 3- https://developer.codeplay.com/products/computecpp/ce/guides/computecpp-profiler/step-by-step-profiler-guide ?版本=2.2.1 依此类推......问题是,我很困惑,我无法理解如何使用分析来测量 GPU 上代码的执行时间。我什至不知道我应该把我的代码放在哪里,我犯了很多错误。我的代码是: