Torch 线性模型前向传递在 GPU 上比 CPU 慢 4 倍

Posted

技术标签:

【中文标题】Torch 线性模型前向传递在 GPU 上比 CPU 慢 4 倍【英文标题】:Torch linear model forward pass 4 times slower on GPU then CPU 【发布时间】:2016-10-13 00:05:32 【问题描述】:

我正在使用 Torch 7 开发 AWS GPU 实例之一。 以下代码对线性模型的简单前向传递进行了基准测试。 gpu 执行似乎慢了大约 4 倍。我做错了什么?

require 'torch';
require 'nn';

cmd = torch.CmdLine()
cmd:option("-gpu", 0) -- gpu/cpu
cmd:option("-n_in", 100)
cmd:option("-n_out", 100)
cmd:option("-n_iter", 1000)

params = cmd:parse(arg)
A = torch.Tensor():randn(params.n_in);
model = nn.Sequential():add(nn.Linear(params.n_in, params.n_out))

if params.gpu>0 then
    require 'cutorch';
    require 'cudnn';
    A = A:cuda()
    model = model:cuda()
end

timer = torch.Timer()

for i=1,params.n_iter do
    A2 = model:forward(A)
end
print("Average time:" .. timer:time().real/params.n_iter)

【问题讨论】:

尝试更大的维度 谢谢,好像是这样!使用 -n_in 10000 -n_out 500 运行可以在 gpu 上提供大约 30 倍的加速。 【参考方案1】:

您需要足够大的网络才能充分利用 GPU。对于小型网络(

【讨论】:

以上是关于Torch 线性模型前向传递在 GPU 上比 CPU 慢 4 倍的主要内容,如果未能解决你的问题,请参考以下文章

2022最新 pytorch安装方法 GPU版本 python3.9 torch-1.13.0+cu116-cp39 torchvision-0.14.0 亲自安装可用!

2022最新 pytorch安装方法 GPU版本 python3.9 torch-1.13.0+cu116-cp39 torchvision-0.14.0 亲自安装可用!

PyTorch 线性代数梯度

单机多GPU训练模型入门指南(torch.nn.DataParallel)

单机多GPU训练模型入门指南(torch.nn.DataParallel)

Torch.load()使用方式