Select a GPU to be used by a function running in parallel(parfeval)
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Tutu
el 16 de Ag. de 2019
Comentada: Tutu
el 21 de Ag. de 2019
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.
0 comentarios
Respuesta aceptada
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
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).
Más respuestas (0)
Ver también
Categorías
Más información sobre GPU Computing in MATLAB en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!