max function in gpu error

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!

回答 (2 件)

Edric Ellis
Edric Ellis 2015 年 9 月 1 日

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.
Walter Roberson
Walter Roberson 2015 年 8 月 30 日

0 投票

Which MATLAB release are you using? Before R2011b there were more limitations on gpu functions

2 件のコメント

wonji sim
wonji sim 2015 年 8 月 31 日
編集済み: wonji sim 2015 年 8 月 31 日
I'm using R2011b.
um.. I have more question . I want to run the Random Forest Tree in gpu. But I confirm that structure is not supported in gpu. Error message is "Struct field access or indexing is not supported." Is it right?
Walter Roberson
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.

サインインしてコメントする。

カテゴリ

タグ

質問済み:

2015 年 8 月 29 日

回答済み:

2015 年 9 月 1 日

Community Treasure Hunt

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

Start Hunting!

Translated by