Using multiple GPU for functions

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 Kommentare

Joss Knight
Joss Knight am 30 Sep. 2018
Please format this code to make it readable.
Mantas Vaitonis
Mantas Vaitonis am 30 Sep. 2018
Is it ok now?

Antworten (0)

Diese Frage ist geschlossen.

Gefragt:

am 29 Sep. 2018

Geschlossen:

am 2 Okt. 2018

Community Treasure Hunt

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

Start Hunting!

Translated by