Memory mode - Memory allocation modes for CPU and GPU global memories - MATLAB (original) (raw)
Memory allocation modes for CPU and GPU global memories
Since R2020b
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
discrete (default) | unified
discrete
The generated code uses the cudaMalloc
API 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.
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' |
Version History
Introduced in R2020b
R2021a: Deprecating support for unified
memory allocation mode on host
In a future release, support for the unified memory allocation (cudaMallocManaged
) mode will be removed when targeting NVIDIA GPU devices on the host development computer. When targeting GPU devices on the host, select 'discrete'
for theMemory mode parameter.
You can continue to use unified memory allocation mode when targeting NVIDIA embedded platforms.