I’m planning to use 2D/3D data array for PDE solving. I’m not sure if using cuda runtime API for array allocation/memory transfer or using CUDA Fortran allocate()/assignment is better?
Could someone give me an advice?
Also, does CUDA Fortran support all CUDA runtime APIs necessary for manipulating 2D/3D array?
When you do a host to device assignment, the compiler will select the appropriate allocation and assignment CUDA calls. Though, you can call the 2D/3D CUDA API calls directly as well. For new CUDA API calls not listed in the PGI CUDA Fortran reference manual, you simply need to add an explicit interface to the routines before calling them.