CUDA graph 3D Memcpy update problem

Hi, I’m not able to use cudaGraphExecMemcpyNodeSetParams() with cudaMemcpy3DParms. I always have a cudaErrorInvalidValue if I change some parameter compared to the original memcpy node.

From the documentation I can read:

Returns cudaErrorInvalidValue if the memory operands’ mappings changed or either the original or new memory operands are multidimensional.

What does it means exactly? I can’t use multidimensional memcpy? Why are you allowing us to use cudaMemcpy3DParms but you add this restriction to have only 1-dimensional memory transfer?

Do I need to execute multiple 1-dimensional memcpy to “emulate” a 3D memcpy? Thanks

1 Like

Ok so the best solution is to
“write your own 3d copy kernel whose parameters you can then update in the graph”

Anyway I really suggest to remove the 3D memcpy params from the graphExec interface because it’s very misleading.