Use arrayfun when function has multiple inputs, being one the gpuArray
显示 更早的评论
So, I have a gpuArray to which I would like to chunk into small pieces. I created a function to do exactly that:
function [ splitted_signal ] = ChunkSignals(b_factor, n_chunks, signal)
% Do things
My problem is, when I'm trying to use the function:
split2 = arrayfun(@ChunkSignalsb_factor, n_chunks, signal_2);
It doesn't work. How can I pass my signal (the gpuArray) as an input for this function? Or should I just skip it?
Since my goal here is to process a large data as fast as I can, using the GPU, I want to divide my signal into threads.
Thanks in advance.
2 个评论
Have you tried making n_chunks and b_factor into gpuArrays too?
I don't know much about using arrayfun on the gpu, but it is supported. I'm not sure if you can mix and match CPU and GPU inputs in it though. I would assume you would have to use ether the CPU overload or the GPU overload.
(Also I assume you just pasted your code in wrong as you are missing a comma after @ChunkSignals in your arrayfun)
Sean de Wolski
2015-10-30
Do you want it to work on each element of signal2 or the whole array at once?
回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 GPU Computing in MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!