:::: MENU ::::
Programlama Dilleri

wait (GPUDevice) Komutu – MATLAB(Parallel Computing Toolbox) GPU Computing

GPU’daki işlemlerin bitmesini beklerken MATLAB’daki diğer işlemleri bekletir. Verileri gather ile GPU’dan CPU’ya aktardığınız zamanlarda kullanımına gerek yoktur, zira GPU’daki işlem bitmeden gather devreye girmemektedir.

gpu = gpuDevice % gpu değişkenine cihazın ataması yapılır
wait(gpu); % Bekleme işlemi gerçekleştirilir


MATLAB(Parallel Computing Toolbox) GPU Hesaplama Örneği – Monte Carlo Simülasyonu

MATLAB(Parallel Computing Toolbox) GPU Hesaplama Örneği – Monte Carlo Simülasyonu


close all; clear all
N = 1e8;
gpu = gpuDevice
for pass = 1:2
disp(' ')
if (pass==1)
disp('Single precision:')
prec = 'single';
else
disp('Double precision:')
prec = 'double';
end
disp(' ')
disp('GPU')
for M = [1e5 1e6 1e7]
parallel.gpu.rng('default');
tic
e4 = 0;
for m = 1:M:N
n = min(M,N-m+1);
x = gpuArray.randn(1,n, prec);
e4 = e4 + sum(x.^4);
end
e4 = e4 / N;
wait(gpu); % ensure it has completed)
fprintf(' ave = %f, elapsed time = %f \n',e4,toc)
end
disp(' ')
disp('CPU')
for M = [1e4 1e5 1e6 1e7]
rng('default');
tic
e4 = 0;
for m = 1:M:N
n = min(M,N-m+1);
y = randn(1,n, prec);
e4 = e4 + sum(y.^4);
end
e4 = e4 / N;
fprintf(' ave = %f, elapsed time = %f \n',e4,toc)
end
end
disp(' ')
whos

Kaynak: http://people.maths.ox.ac.uk/gilesm/codes/matlab_gpu/mc.m


Sayfalar:1...2021222324252627