Is there a way to clear or memset a cudaArray_t or the generated cudaSurfaceObject_t?

Did I just miss anything in the documentation or is there no proper way to clear or memset a cudaArray_t or the created cudaSurfaceObject_t?

Do I really need to have a seperate block of memory which I copy for a “clear” into my main cudaArray_t or one other solution I found was to set each value seperatly with the cudaSurfaceObject_t in a kernel.
But both these solutions seem very inefficient and overcomplicated.

I need to blend data to a cleared 3D volume and later raycast through that volume with multiple accesses trilinearly interpolated along the ray, and I’m not really sure if the performance gains of interpolation and boundary checks are worth the trouble of working with 3D textures in Cuda, or if I just should switch back to linear array memory with software solutions to interpolation and boundaries.

There aren’t any functions that do a memset on a cudaArray. You’re welcome to file a bug using the sticky post instructions if you find a deficiency in the cuda runtime API (or cuda driver API).