I'm changing a function into mex file with GPU coder, and I have a problem while I using the GPU coder.
I want to get two matrices; D, N as the output of fcn_DH.
When I executed GPU coder with a code below, Running test file with MEX is not terminated, thus I cannot make MEX file.
However, When I changed the first line of the function into 'D = fcn_PRM(node,PosMap)', which has only one output, the GPU coder worked fine.
I'm wondering if I can apply the GPU coder to a function and only get one variable as a result.
Otherwise, if GPU coder can multiple outputs, I want to know which part of my code is wrong.
function [D,N] = fcn_PRM(node,PosMap)n = length(node);D = coder.nullcopy(zeros(n,n,2));N = coder.nullcopy(zeros(n,n));len=(1:n)';pos_mat=PosMap(node(len),:);coder.gpu.kernel;for i=1:n-1 for j=i+1:n dist=sqrt((pos_mat(i,1)-pos_mat(j,1))^2+(pos_mat(i,2)-pos_mat(j,2))^2+(pos_mat(i,3)-pos_mat(j,3))^2); B = collisionCheck_SP5(PosMap(node(i),:), PosMap(node(j),:)); D(i,j,1) = dist; N(i,j) = B; endend
Best Answer