# GPU Mode Command Line Initialization

There are several command line arguments that can be used on startup for library initialization. The following command line arguments can be used to control the GPU Mode, which GPU device to use and the allocation of GPU memory:

Command | Description
--- | ---
--gpu-mode=NoSupport or SingleDevicePerTool or MultipleDevicesPerTool | Specifies the GPU mode to be used by the application.
SingleDevicePerTool | A single GPU is used for the analysis of the tool. When using multiple GPUs, the processing time of a single image remains the same, but multiple images can be processed concurrently on different devices.
MultipleDevicesPerTool | For use with the Red Analyze tool, this mode offers the potential of speed increases (in terms of single-image processing latency). Image analysis will be split among multiple GPUs.
NoSupport | Specifies that a GPU will not be used. Note: This option conflicts with --gpu-devices and/or --optimized-gpu-memory.
--gpu-devices=comma separated indexed list of GPUs | Specifies the GPUs that will be used on initialization, via an indexed list. For example: --gpu-devices=0,1
--optimized-gpu-memory=memory size, in MB | Specifies the size of the pre-allocated optimized memory buffer. The default value is ⅔ the available amount of GPU memory. If set to 0, the feature is deactivated.
--optimized-gpu-memory-override=[0 or 1] | If using the --optimized-gpu-memory setting, set to 1. If set to 0, the default amount of memory will be allocated.