RuntimeError: “addmm_cuda“ not implemented for ‘Int‘

本文探讨了在使用PyTorch时遇到CUDA不支持整数类型矩阵乘法的问题,通过示例代码展示了在GPU和CPU环境下运行的结果差异。当尝试在CUDA设备上进行整数矩阵乘法时,会抛出'addmm_cuda'未实现的错误。而当切换到CPU时,整数矩阵乘法可以正常执行。此问题提示我们,对于特定的运算,需要使用CUDA支持的数据类型来确保计算的顺利进行。
摘要由CSDN通过智能技术生成

cuda不支持整数的矩阵乘法

如下所示:

import torch
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print(device)
a=torch.tensor([1,2,3],dtype=torch.int).to(device)
b=a.unsqueeze(dim=-1)@ a.unsqueeze(dim=0)
print(b)

结果

Traceback (most recent call last):
  File "____mytest.py", line 5, in <module>
    b=a.unsqueeze(dim=-1)@ a.unsqueeze(dim=0)
RuntimeError: "addmm_cuda" not implemented for 'Int'
 


但是当改成CPU时

import torch
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print(device)
a=torch.tensor([1,2,3],dtype=torch.int)
b=a.unsqueeze(dim=-1)@ a.unsqueeze(dim=0)
print(b)

cuda
tensor([[1, 2, 3],
        [2, 4, 6],
        [3, 6, 9]], dtype=torch.int32)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值