_top_: Coco Nvg

Set environment to use NVG backend:

Example (using a known working fork):

export COCO_BACKEND=nvg export COCO_NVG_DEVICE=0 # first GPU export LIBCOCO_PATH=/path/to/coco-nvg/builddir LD_LIBRARY_PATH=$LIBCOCO_PATH ./my_coco_program coco nvg

./coco_run --backend nvg --kernel kernel.bin --global 1024 --local 256 Check if kernel loaded correctly: enable debug output

__kernel void vecadd(__global float *a, __global float *b, __global float *c) int gid = get_global_id(0); c[gid] = a[gid] + b[gid]; Set environment to use NVG backend: Example (using

coco_buffer_map(buf, host_ptr); // copy back coco_cleanup(dev);

// Set kernel arguments coco_kernel_set_arg(kernel, 0, sizeof(buf), &buf); coco_kernel_launch(kernel, 1, grid, block); // 1D grid __global float *b

coco_init(&dev, 0); // open device 0 coco_buffer_create(dev, size, &buf); // allocate GPU memory coco_kernel_load(dev, "kernel.bin", &kernel);