Memory mode
Memory allocation modes for CPU and GPU global memories
Model Configuration Pane: Code Generation / GPU Code
Description
The Memory mode parameter specifies the memory allocation (malloc) mode to use in the generated CUDA® code.
Dependencies
This parameter requires a GPU Coder™ license.
To enable this parameter, select Generate GPU code on the Code Generation pane.
Settings
discreteThe generated code uses the
cudaMallocAPI for transferring data between the CPU and the GPU. From the programmers point-of-view, the discrete mode has a traditional memory architecture with separate CPU and GPU global memory address space.
unifiedThe generated code uses the
cudaMallocManagedAPI that uses a shared (unified) CPU and GPU global memory address space. This option is applicable for NVIDIA® embedded targets only. For more information, see Deprecating support for unified memory allocation mode on host.
Recommended Settings
| Application | Setting |
|---|---|
| Debugging | No impact |
| Traceability | No impact |
| Efficiency | No impact |
| Safety precaution | No impact |
Programmatic Use
Parameter: GPUMallocMode |
| Type: character vector |
Value: 'discrete' | 'unified' |
Default: 'discrete' |