Coco Nvg Patched Site
Allocated via DRM dumb buffers or ttm (Nouveau). No unified memory.
__kernel void vecadd(__global float *a, __global float *b, __global float *c) int gid = get_global_id(0); c[gid] = a[gid] + b[gid]; coco nvg
Set environment to use NVG backend:
#include <coco/runtime.h> struct coco_device *dev; struct coco_buffer *buf; struct coco_kernel *kernel; Allocated via DRM dumb buffers or ttm (Nouveau)
coco_init(&dev, 0); // open device 0 coco_buffer_create(dev, size, &buf); // allocate GPU memory coco_kernel_load(dev, "kernel.bin", &kernel); __global float *b