Using multiple GPU for functions
Info
This question is closed. Reopen it to edit or answer.
Show older comments
Dear All,
I have two GPU devices (GeForce GTX 1070 Ti and GeForce GTX 1060 6GB) and I have code that works great with one GPU. However when I try to implement the code on two GPUs it becomes 10x times slower. The thing is that I never workd with multiple GPUs. What is wrong with my implementation? Here is code:
clear;
delete(gcp('nocreate'));
parpool(gpuDeviceCount);
dydis=5050;
load 4.mat
[z,~]=size(test);
% in how many peaces should data be divided, due to GPU memory
z=z/dydis;
z = fix(z);
tic
%from here starts parfor, which should be used by both GPUS
parfor i=1:z
%a list of constants
comi=0.05;
ut=1;
t=0.6;
ut1=ut;
d=5001;
window=5000;
atidaryta=1000;
dydis=5050;
%create 3D array
x1(:,:,i)=test(i*dydis+1-dydis:i*dydis,:);
x=gpuArray(x1(:,:,i));
x23=x(1:end-d,:);
[n1,n2]=size(x);
n1=gpuArray(n1);
n2=gpuArray(n2);
d=gpuArray(d);
t=gpuArray(t);
window=gpuArray(window);
atidaryta=gpuArray(atidaryta);
xt=x.';
x = [];
dx=(d-window-1:d-2).' + (1:n1-d);
% function where data is sent for futher calculations
[sujn1(:,:,i),sujn2(:,:,i)]=mazinta(xt,dx,n2,n1,d,x23,t,window,atidaryta,comi);
end
toc
2 Comments
Joss Knight
on 30 Sep 2018
Please format this code to make it readable.
Mantas Vaitonis
on 30 Sep 2018
Answers (0)
This question is closed.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!