Bele a közepébe
A MATLAB egy script nyelv, aminek használata viszonlag kevés körítést igényel. Az alapvető CUDA használatba is rögtön fejest tudunk ugrani mindenféle különösebb előkészület nélkül.
Vegyük például az alábbi MATLAB kódot, ami definiál két mátrixot, és összeadja azokat.
%% Adatok a CPU-n
A = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]
B = [1 0 0 0; 0 2 0 0; 0 0 3 0; 0 0 0 4]
%% Számítás a CPU-n
C = A * B
Ugyanez a feladat elvégezhető a GPU-n is. Annyi a dolgunk, hogy az adatokat átteszzük a GPU memóriájában a gpuArray(...) függvény segítségével.
A MATLAB legtöbb művelete automatikusan kezeli a GPU-t is. Ha egy művelet egy, vagy több operandusa gpuArray típusú, akkor a számítás automatikusan a GPU-n lesz futtatva.
%% Adatok a GPU-n
d_A = gpuArray(A)
d_B = gpuArray(B)
%% Számítás a GPU-n
d_C = d_A * d_B