该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
代码如下:
clear;clc;
x=single(rand(10));
%%
tic
e=x^1e10;
toc
%%
gpux=gpuArray(x);
tic
gpue=gpux^1e10;
toc
结果如下:
时间已过 0.003349 秒。
时间已过 0.015573 秒。
CPU运算速度显然大于GPU运算速度。配置如下:
CUDADevice - 属性:
Name: 'GeForce GTX 1050'
Index: 1
ComputeCapability: '6.1'
SupportsDouble: 1
DriverVersion: 11
ToolkitVersion: 9.1000
MaxThreadsPerBlock: 1024
MaxShmemPerBlock: 49152
MaxThreadBlockSize: [1024 1024 64]
MaxGridSize: [2.1475e+09 65535 65535]
SIMDWidth: 32
TotalMemory: 4.2950e+09
AvailableMemory: 3.4016e+09
MultiprocessorCount: 5
ClockRateKHz: 1493000
ComputeMode: 'Default'
GPUOverlapsTransfers: 1
KernelExecutionTimeout: 1
CanMapHostMemory: 1
DeviceSupported: 1
DeviceSelected: 1
,CPU配置为 Intel i5-8300H @2.30GHZ,内存8GB
问题:为什么这么简单的矩阵运算,GPU的速度要慢于CPU呀?