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