t1_h = torch.tensor(np.arange(100000), dtype=torch.float32)\ncuda0 = torch.device('cuda:0')\nt1_d = torch.tensor(np.arange(100000), dtype=torch.float32, device = cuda0)\nRun Code Online (Sandbox Code Playgroud)\n%timeit -n 10000 max_h = torch.max(t1_h, 0)\n%timeit -n 10000 max_d = torch.max(t1_d, 0)\nRun Code Online (Sandbox Code Playgroud)\n\n\n10000 个循环,3 个循环中最好的:每个循环 144 \xc2\xb5s
\n10000 个循环,3 个循环中最好的:每个循环 985 \xc2\xb5s
\n
正如您在上面看到的,GPU 比 CPU 花费更多的时间。但如果我不指定计算最大值的维度,那么 GPU 会更快。
\n%timeit -n 10000 max_h = torch.max(t1_h)\n%timeit -n 10000 max_d = torch.max(t1_d)\nRun Code Online (Sandbox Code Playgroud)\n\n\n10000 个循环,3 个循环中最好的:每个循环 111 \xc2\xb5s
\n10000 个循环,3 个循环中最好的:每个循环 41.8 \xc2\xb5s
\n
我也尝试过使用,argmax但max它工作正常(GPU 比 …