我是新来的卤化物。现在,我有一个指向GPU上数据的指针。我想从该指针获取一个卤化物缓冲区而不复制数据。我进行了很多搜索,发现了这个/halidebuffer-on-gpu。它说使用Buffer :: device_wrap_native会有所帮助。而且我已经阅读了其中的文档Buffer::device_wrap_native,但对于应该将哪些值传递给device_interface感到困惑不已? docs of device_interface对我没有太大帮助。
答案 0 :(得分: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();