Как получить галоидный буфер с данными на GPU?

Я новичок в галогенидах. Теперь у меня есть указатель, который указывает на данные на GPU. Я хочу получить галоидный буфер из этого указателя без копирования данных. Я много искал и нашел этот /halidebuffer-on-gpu. В нем говорится, что использование Buffer::device_wrap_native будет полезно. И я прочитал его документыBuffer::device_wrap_native, но я немного запутался в том, какое значение я должен передать в device_interface? документы device_interface мне мало помогают.


person 111qqz    schedule 05.03.2019    source источник


Ответы (1)


Для device_interface вы хотите передать либо halide_cuda_device_interface(), либо halide_opencl_device_interface(), либо что-то подобное. Все эти методы определены в HalideRuntime*.h. Вот полный список:

HalideRuntimeCuda.h: halide_cuda_device_interface();
HalideRuntimeD3D12Compute.h: halide_d3d12compute_device_interface();
HalideRuntimeHexagonDma.h: halide_hexagon_dma_device_interface();
HalideRuntimeHexagonHost.h: halide_hexagon_device_interface();
HalideRuntimeMetal.h: halide_metal_device_interface();
HalideRuntimeOpenCL.h: halide_opencl_device_interface();
HalideRuntimeOpenGL.h: halide_opengl_device_interface();
HalideRuntimeOpenGLCompute.h: halide_openglcompute_device_interface();
person Andrew Adams    schedule 05.03.2019