Select a GPU to be used by a function running in parallel(parfeval)

3 visualizaciones (últimos 30 días)
Hello,
I am using two GPUs in a GUI postprocessing images live.
I am using the 'FramesAcquiredFcn' as a hub to transfer data from the buffer to the CPU RAM memory ('getdata') and launch a 'parfeval' function on GPU postprocessing these data. I have 1 pool with 3 workers initialized (one for the 'FramesAcquiredFcn' and one for each GPU). I can check that when the 'parfeval' function is not finished at the next iteration the second GPU is used instead. Now, I know that using 'wait' I can force the first GPU to be used.
However, I would like to split my postprocessing between these two GPUs because one is more powerful than the other. Hence, I would need the first 'parfeval' function to use the GPU1 pass the outputs (using 'afterEach'?) to an other parfeval function using the GPU2.
I have read the 'help selectGPU' but could not figure out how to modify it for my purpose.
Any help will be welcome.

Respuesta aceptada

Joss Knight
Joss Knight el 18 de Ag. de 2019
I'd have to know what kind of postprocessing you're doing - please post some code. On the face of it, the answer is simply to use gpuDevice(i) to select a particular device for each of your parfeval calls.
  7 comentarios
Joss Knight
Joss Knight el 21 de Ag. de 2019
You can use a third-party scheduler and give it the properties you like, but I suspect that is not really what you're after. I think the real issue here is that MATLAB has no way to switch devices without resetting the device, which is slow; this is something we intend to improve.
You may be able to use client/worker parallelism here. Do your front-end work on the client on one GPU and dispatch your background work to a single worker that has the other GPU selected (or multiple GPUs all of which have the other GPU selected, if that's appropriate).
Tutu
Tutu el 21 de Ag. de 2019
Thanks Joss Knight for your answer. It is not what I am after, but I understand as well that MATLAB has not yet implemented this option without reseting the whole device. It is what I needed to know.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre GPU Computing in MATLAB en Help Center y File Exchange.

Productos


Versión

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by