max function in gpu error
조회 수: 3 (최근 30일)
이전 댓글 표시
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
답변 (2개)
Edric Ellis
2015년 9월 1일
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
Walter Roberson
2015년 8월 30일
Which MATLAB release are you using? Before R2011b there were more limitations on gpu functions
댓글 수: 2
Walter Roberson
2015년 8월 31일
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.
참고 항목
카테고리
Help Center 및 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!