max function in gpu error
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
hello,
I want to use max function in arrayfun function.
I'm not familiar with using matlab in gpu.
My function is
[ maxv , dtree ]= arrayfun(@ GetRandomDecisionTree, rand_vec , rand_label , ClaNum , RandFnum , RandTnum , MinSampleNum , MaxDepth ) ;
and in GetRandomDecisionTree function
function [ DTreeMaxVec DTrees ] = GetRandomDecisionTree( Vec , ClaLabel , ClaNum , RandFnum , RandTnum , MinSampleNum , MaxDepth )
DTreeMaxVec = max(Vec);
end
Vec is matrix 50 * 500 size
but this code has error "Too few arguments supplied to: 'max'. (One supplied, two required.) "
I just want to get DTreeMaxVec 1*500 size, I don't want to use max(a,b).
help me please!
0 Kommentare
Antworten (2)
Edric Ellis
am 1 Sep. 2015
On the GPU, arrayfun supports only the elementwise version of min and max - i.e. the two input argument case. In this case, I think you'll need to call max outside your arrayfun invocation.
0 Kommentare
Walter Roberson
am 30 Aug. 2015
Which MATLAB release are you using? Before R2011b there were more limitations on gpu functions
2 Kommentare
Walter Roberson
am 31 Aug. 2015
gpu arrays must be numeric or logical, not structures. However a structure (not on the GPU) may contain a gpu array object.
I do not seem to find any documentation about max on GPU.
Siehe auch
Kategorien
Mehr zu GPU Computing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!