I have an OpenACC code that I want to run on a large problem that does not fit in my current GPU.
I am trying to do this by compiling with -ta=tesla:managed to have the code
use uvm which I am told will swap as nessesary to run the code.
My code has unstructured data clauses and “presents” in it.
Does the managed flag make the compiler ignore my data management (data clauses) so that it will use uvm, or would I have to change the code to not use data clauses?
Does the managed flag make the compiler ignore my data management (data clauses) so that it will use uvm, or would I have to change the code to not use data clauses?
Yes, the data clauses are ignored for dynamic data when using CUDA Unified Memory. Though they are still needed for static data.
No need to remove them since you may need to turn them on later if you’re on a device without managed memory.
Depends on which CUDA driver you have and how you’re compiling the code. Paging support was added in CUDA 8.0 so make sure you have the most current CUDA driver installed. Also, compile with “-ta=tesla:managed,cuda8.0”.