Passing composite variable to mex file
古いコメントを表示
I am running an spmd, and I am wondering if there is a way to pass a composite variable to a mex file without "aggregating" it first. The following is a (simple) example. Say I have the following code.
parpool(2);
spmd
test = labindex + zeros(1000, 2);
end
result = sum([test{:}], 2);
Suppose I would like to replace the sum function with a C/mex implementation of it. It is possible to do something like the following:
test_cellarray = test(:);
result = sum_function(test_cellarray); % Not a built-in function
where sum_function takes in cell arrays. However, in the above "solution", the first line takes up the vast majority of the time.
Is it possible to pass "test" directly to a mex function and access the parts for different workers through pointers?
Thanks for the help.
2 件のコメント
James Tursa
2022 年 1 月 31 日
What exactly is the test variable? I.e., what does "whos test" show?
Vivek Bhattacharya
2022 年 1 月 31 日
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Parallel Computing Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!