neurokernel.tools.gpu.set_by_inds_from_inds

neurokernel.tools.gpu.set_by_inds_from_inds(dest_gpu, ind_dest, src_gpu, ind_src)[source]

Set values in a GPUArray by index from indexed values in another GPUArray.

Parameters:

Examples

>>> import pycuda.gpuarray as gpuarray
>>> import pycuda.autoinit
>>> import numpy as np
>>> from nk.tools.gpu import set_by_inds_from_inds
>>> dest_gpu = gpuarray.to_gpu(np.zeros(5, dtype=np.float32))
>>> ind_dest = gpuarray.to_gpu(np.array([0, 2, 4]))
>>> src_gpu =  gpuarray.to_gpu(np.arange(5, 10, dtype=np.float32))
>>> ind_src =  gpuarray.to_gpu(np.array([2, 3, 4]))
>>> gpu.set_by_inds_from_inds(dest_gpu, ind_dest, src_gpu, ind_src)
>>> assert np.allclose(dest_gpu.get(), np.array([7, 0, 8, 0, 9], dtype=np.float32))
True