I understand that you want to use Nvidia NVLink with MATLAB to leverage multiple Nvidia Geforce 2080 ti graphic cards.
Currently, there is no straightforward way to utilize the high bidirectional bandwidth to distribute the computations across the available GPUs. This would be possible with the introduction of distributed GPU arrays which can use all GPUs and gather the results back automatically. Distributed GPU arrays are currently not supported in MATLAB.
Our development teams are aware of this and are currently considering "distributed GPU Arrays" for future releases of MATLAB.
Currently, there are no commands to enable NVLink in MDCS. As a workaround to leverage NVlink, you can use "gop" function as in example given below that does the computation in each gpu and get the result back :
>> gop(@plus, gpuArray(X), 'gpuArray');
Open a parpool and issue local and/or communicating instructions via spmd that will allow to do distributed computation between the GPUs.
Refer to the following link for using gop with spmd to distribute the operations to each GPU and in turn effectively use all the GPU memory for the same function using chunks of data:
Best Answer