gpt4 book ai didi

c++ - 缓冲区内的 SYCL 缓冲区

转载 作者:行者123 更新时间:2023-11-30 04:46:08 31 4
gpt4 key购买 nike

假设我有以下包含缓冲区的结构:

struct SomeAllocatorCode {
int* rawData;
size_t rawDataSize;
cl::sycl::buffer<int> nestedBuffer;
SomeAllocatorCode(int* rawData, size_t size): rawData(rawData),
rawDataSize(rawDataSize), nestedBuffer(rawData, cl::sycl::range<1>(rawDataSize)) {}
};

然后我想像这样创建一个缓冲区:

    int* data = new int[64];
SomeAllocatorCode* allocator = new SomeAllocatorCode(data, 64);
cl::sycl::buffer<SomeAllocatorCode> topLevelBuffer(allocator,
cl::sycl::range<1>(1));

我将如何从设备代码中读取 nestedBuffer?是否可以像这样构造数据?在使用读取访问器访问 topLevelBuffer 之后,像往常一样使用数据访问器并简单地获取 nestedBuffer 的数据访问器就够了吗?

最佳答案

我建议您了解内存缓冲区和访问器在 SYCL 中的工作方式,这将帮助您采用最佳方法来完成您正在尝试做的事情。以下是一些有用资源的链接:

Basics on buffers and accessors

Memory guide

Code sample showing good practice

关于c++ - 缓冲区内的 SYCL 缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56958977/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com