Gather cell array from GPU to CPU

15 views (last 30 days)
Ted on 1 Nov 2019
Answered: Joss Knight on 1 Nov 2019
I have a cell array (let's call it 'A_gpu') where each cell contains a matrix which has been allocated on GPU device. I want to migrate the matrices onto CPU memory and still organize them in the same cell array format as before.
I tried
A_cpu = gather(A_gpu);
Then, I check the allocation of A_cpu. Unfortunetly, they are still on the GPU. Task failed.
The intuitive solution will be gathering the matrix at each cell individually and loop over the cells. I am wondering whether there is a short function, maybe a Matlab built-in function that I may not be aware of, that can help me relocate the cell array from GPU to CPU.
Thank you,

Accepted Answer

Joss Knight
Joss Knight on 1 Nov 2019
A_cpu = cellfun(@gather, A_gpu, 'UniformOutput', false);

More Answers (0)

Community Treasure Hunt

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

Start Hunting!