State of multi-gpu support #626
-
If I had a system with multiple NVIDIA GPUs I would of course just test this by compiling with MATX_MULTI_GPU=ON, but what is the state of multi-gpu support? Do I need to make any library changes (besides the one CMakeLists.txt change) when switching from one-to-many GPUs? Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
Hi @mfzmullen, the state of multi-gpu is complicated and really depends on your use case. Some of our libraries on the backend support multi-gpu to some extent (BLAS, FFT), but not all of them. Can you let us know what you want to use multiple GPUs for? As much detail as you can provide will be appreciated. |
Beta Was this translation helpful? Give feedback.
Hi @mfzmullen, right now multi-gpu support is possibly manually by the user writing device/stream-specific code using
cudaSetDevice
and others. We currently do not support single operations that launch across multiple GPUs. A lot of times this is best left to the user anyways since there's a tradeoff with transfer times, and that transfer time is dependent on the system. Basic arithmetic on a tensor might fall into that category where trying to automatically handle the data shuffles could perform worse than doing it manually.cuSPARSE is another that's difficult to support at this time since the tensor types would not be compatible with anything we have now. If we were to support it users…