Скажем, у меня есть следующая структура, содержащая буферы:
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
из кода устройства?Можно ли структурировать данные таким образом?Достаточно ли использовать средства доступа к данным как обычно и просто получить средство доступа к данным nestedBuffer
после доступа к topLevelBuffer
с помощью средства чтения?