CPU与GPU的区别
CPU就好比一个全能的教授,个人能力超级突出,可以处理各种各样的问题,但是在一些单计算的角度,尤其是深度学习发展所需要的大量的矩阵运算时,性能不如GPU,原因还是在与GPU设计走的小而简单化,而CPU走的是大而全的方向,所以往往在提到两者的时候会说在计算密集型的时候GPU会彰显更多的优势。
随便闲扯一句,GPU能够适用于显卡计算,那么TPU是干嘛的勒,是不是Google抢占计算硬件市场,哈哈哈,不能让老黄一家独大啊,现在1080Ti都下架了,强推2080Ti,这平民玩家玩不起泰塔啊。。。
- CPU/GPU之间传输数据时间比较(Pytorch代码)
"""运行环境
Python:3.6
torch:1.0.1
3*1080Ti
"""
from __future__ import print_function
import torch
import time
cuda1 = torch.device('cuda',1)
cpu = torch.device('cpu', 0)
s = time.time()
for _ in range(100000):
a = torch.randn((2,3), device=cpu)
a.to(cuda1)
print('cpu --> gpu cost time is', time.time()-s)
cuda1 = torch.device('cuda',1)
cuda2 = torch.device('cuda',2)
s = time.time()
for _ in range(100000):
a = torch.randn((2,3), device=cuda2)
a.to(cuda1)
print('gpu --> gpu cost time is', time.time()-s)
cpu --> gpu 耗时较少,1.5s # CPU直接分发数据到GPU
gpu --> gpu 之间耗时大概为前者的2倍,3s左右 # GPU与GPU应该还是通过CPU作为中间人通信的
# !硬件差异可能会导致不同的结果