STRING: kernel-source2 __kernel square( __global float* input, __global float* output, const unsigned int count, const float addit) { int i = get_global_id(0); if (i < count) output[i] = input[i] * input[i] + addit ; } ; :: opencl-demo2 ( -- result ) [ platforms first devices>> first :> device device 1array &dispose :> context context device f f &dispose :> queue device "" context kernel-source2 1array sources>program &dispose :> program program "square" &dispose :> kernel context read-access 16 float-array{ 1.0 2.0 3.0 4.0 } &dispose :> in-data context write-access 16 f &dispose :> out-data kernel 0 in-data set-kernel-arg-buffer kernel 1 out-data set-kernel-arg-buffer kernel 2 4 set-kernel-arg-data kernel 3 9.5 set-kernel-arg-data queue kernel { 4 } [ ] enqueue-kernel &dispose :> event queue flush-queue event wait-event queue out-data 0 buffer-ptr boa 16 read-buffer 4 ] with-destructors ;