How to convert my function for GPU (Cuda) and run it on GPU

10 views (last 30 days)
Hello, I hope you are doing well, I have the following function i want to convert it into cuda so it can run on GPU or any other Embedded Device
Can anybody Please help me with this
I also Attached My dataset for this
function [Score] = Scorefunction(Dataset,clusternumber)
dataset_len = size(Dataset,1);
Score = zeros(1,clusternumber);
for j=1:clusternumber
[cluster_assignments,centroids] = kmeans(Dataset,j);
distance_within=zeros(dataset_len,1);
distance_between=Inf(dataset_len,j);
for i=1:dataset_len
for jj=1:j
boo=cluster_assignments==cluster_assignments(i);
Xsamecluster=Dataset(boo,:);
if size(Xsamecluster,1)>1
distance_within(i)=sum(sum((Dataset(i,:)-Xsamecluster).^2,2))/(size(Xsamecluster,1)-1);
end
boo1= cluster_assignments~=cluster_assignments(i);
Xdifferentcluster=Dataset(boo1 & cluster_assignments ==jj,:);
if ~isempty(Xdifferentcluster)
distance_between(i,jj)=mean(sum((Dataset(i,:)-Xdifferentcluster).^2,2));
end
end
end
minavgDBetween = min(distance_between, [], 2);
silh = (minavgDBetween - distance_within) ./ max(distance_within,minavgDBetween);
Score(j) =mean(silh);
end
end
  1 Comment
Joss Knight
Joss Knight on 14 Mar 2023
Do you need to deploy to an embedded device or just run on GPU on the desktop? Because you can just use PCT's gpuArray.

Sign in to comment.

Answers (1)

Arka
Arka on 8 Mar 2023
Hi,
MATLAB has quite a few coder apps to generate specific code from MATLAB code.
To generate GPU code, you can make use of the GPU Coder.
To generate Embedded Code, you can use the Embdedded Coder.
If you wish to learn more about GPU coder and Embedded coder, please check out the MathWorks documentation links below:
  4 Comments
SH
SH on 8 Mar 2023
@Arka I am unable to convert it into cuda, I want to write a Code for this
Arka
Arka on 9 Mar 2023
What have you tried till now, and what is the error that you are encountering?

Sign in to comment.

Categories

Find more on Get Started with GPU Coder in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!