以下代碼中G2 = G .* G
和G2 = G * G
之間的區別是什麼?爲什麼我用第一代GPU加載100%,第二次我得到GPU負載和內存控制器負載傳感器都在100%gpu-z?在Matlab GPU計算中G2 = G * G和G2 = G * G之間的區別
X = rand(5000, 'double');
G = gpuArray(X);
classUnderlying(G) % Returns 'single'
for m = 1:5000
G2 = G .* G .* G .* G; % Performed on GPU
end
whos G2 % Result on GPU
X = rand(5000, 'double');
G = gpuArray(X);
classUnderlying(G) % Returns 'single'
for m = 1:5000
G2 = G * G * G * G; % Performed on GPU
end
whos G2 % Result on GPU
我已經添加了另一個問題,你能回答這個問題嗎? – Aurelius
@FormlessCloud簡單地說,第二個操作的次數是第一個操作的2 * n倍(矩陣乘法要複雜得多) – rullof