http://zh.d2l.ai/chapter_computational-performance/async-computation.html
“用户可以用各种前端语言编写python程序,如Python和C++”
这句话,在英文版中对应原文意为
“用户可以用各种前端语言编写pytorch程序,如Python和C++。”
2 Likes
换用CPU后,
numpy: 0.5302 sec
torch: 0.1184 sec
是否说明非异步
1 Like
cpu:
numpy: 0.3311 sec
torch: 0.1122 sec
torch还是做了异步处理才能快一些
异步计算是不是有点流水线的理念。。。。。。。。。。。。。。。。。。。。。。。。
应该是没有在计算完成前返还控制权,但计算是异步的?
# GPU计算热身
device = d2l.try_gpu()
a = torch.randn(size=(1000, 1000), device=device)
b = torch.mm(a, a)
with d2l.Benchmark('numpy'):
for _ in range(10):
a = numpy.random.normal(size=(1000, 1000))
b = numpy.dot(a, a)
with d2l.Benchmark('torch'):
for _ in range(10):
a = torch.randn(size=(1000, 1000), device=device)
b = torch.mm(a, a)
为什么在使用Benchmark之前还要先定义一边a,b呢?
创建一个 1000x1000 的随机矩阵 a
并在选定设备上进行矩阵乘法 b = torch.mm(a, a)
。这个步骤是为了确保 GPU 已经处于工作状态,避免第一次调用 GPU 计算时的延迟。