CUBLAS_STATUS_EXECUTION_FAILED when calling cublasSgemm:在首个 Linear 前检查真实特征

简介: 该帖描述一维信号CNN在GPU上执行fc1层时触发cuBLAS执行失败错误。重点强调:勿凭空猜测展平维度,应通过打印输入/权重形状、dtype、设备及启用`CUDA_LAUNCH_BLOCKING=1`定位真实首错点,再系统排查设备一致性、内存压力或环境兼容性问题。(239字)

原帖是一维信号 CNN,CPU 能跑,GPU 在 fc1 的线性运算失败;同步调试后从分配错误变成了执行错误:

RuntimeError: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling `cublasSgemm( handle, opa, opb, m, n, k, &alpha, a, lda, b, ldb, &beta, c, ldc)`

先核对真正送进 fc1 的张量

原题只给了信号载入与转置,没有完整卷积结构,因此无法从 3000 点信号直接推出 fc1 的 in_features。cuBLAS 执行错误也没有给出足够证据证明硬件损坏。同步调试后的首次失败点、输入最后一维和权重形状,是更可靠的下一步。

这并不能证明显卡损坏。先从发生失败的矩阵运算检查实际输入,不要把原始信号 [B,3000,1] 当成已经展平后的特征。

在模型 forward 中 x = self.fc1(x) 前插入:

print("josh050608")
print("features:", x.shape, x.dtype, x.device, x.stride())
print("weight:", self.fc1.weight.shape, self.fc1.weight.dtype, self.fc1.weight.device)
print("finite:", bool(x.isfinite().all()))

x 的最后一维应等于 self.fc1.in_features,dtype 与设备也应匹配。检查展平是否写成 x.flatten(1),避免用错误的 view(-1,...) 意外改变 batch 数。原帖没有贴出卷积结构,不能直接替它指定正确的 in_features。

在新进程中开启 CUDA_LAUNCH_BLOCKING=1 后重跑一个批次;Linux 可用 CUDA_LAUNCH_BLOCKING=1 python train.py。若更早的卷积或索引才是首个失败操作,应先修复它。

若形状与设备均正确,用同样 dtype 做很小的 CUDA 矩阵乘法,再逐步增加到该层尺寸,并记录 torch/CUDA 构建、GPU 与驱动版本。小矩阵也失败时查环境;只在大尺寸失败时结合 memory_summary 与 nvidia-smi 看资源压力。不要同时改 batch、驱动和网络,避免丢失区分线索。

修复后应验证同一批数据在 CPU/GPU 的输出形状一致,数值在所用精度允许的范围内接近,并能完成反向。

给真实层挂临时检查,比猜展平结果可靠

若不方便修改 forward,可在模型构建后给 model.fc1 挂前置 hook。batch_x 是已经转置并送到目标设备的一小批真实信号,务必来自失败路径:

def inspect_linear(layer, args):
    features = args[0]
    print("linear input:", features.shape, features.dtype, features.device)
    print("linear weight:", layer.weight.shape, layer.weight.dtype, layer.weight.device)
    assert features.shape[-1] == layer.in_features
    assert features.dtype == layer.weight.dtype
    assert features.device == layer.weight.device

handle = model.fc1.register_forward_pre_hook(inspect_linear)
try:
    prediction = model(batch_x)
finally:
    handle.remove()

下面以合成 1D CNN 演示如何确定展平宽度,不声称它就是原题网络:

import torch
from torch import nn
features = nn.Sequential(nn.Conv1d(1, 4, 3), nn.ReLU(), nn.AdaptiveAvgPool1d(5))
signals = torch.randn(2, 30, 1)
activation = features(signals.transpose(1, 2))
flat = activation.flatten(1)
head = nn.Linear(4 * 5, 1)
assert flat.shape == (2, head.in_features)
result = head(flat)
result.square().mean().backward()
assert result.shape == (2, 1)
assert head.weight.grad is not None
print("activation/flat/result:", activation.shape, flat.shape, result.shape)

真实网络不一定需要 AdaptiveAvgPool;应先确认输出布局,再选择固定输入长度、调整全连接宽度或有意池化。不要仅为满足乘法而用 view 把 batch 维揉进特征维。

原题还按 batch 编号切标签,如果将来让 loader 打乱数据,这种外部切片会错配标签;应让信号与目标来自同一个 Dataset。它不必是此次 cuBLAS 的根因,但在验证恢复训练时必须保证输入目标对应,避免错误消失却训练了错标签。

参考:原始求助帖;技术依据:Linear(2.5)、PyTorch CUDA 语义(2.5)、CUDA 内存统计(2.5);Conv1d 官方源码(2.5.1)。

相关文章
|
10天前
|
Linux 开发工具 iOS开发
Codex保姆级教程(下载+安装+登录+使用,含所有版本,2026最新)
Codex是OpenAI推出的开源AI编程智能体,本地运行,可理解整个代码库,支持自然语言指令改代码、执行命令、跑测试、修Bug,兼容Win/macOS/Linux。(239字)
4057 20
|
11天前
|
JavaScript API iOS开发
DeepSeek Harness下载、安装、配置一篇搞定(2026整理,送常用插件)
DeepSeek Harness(DSH)是DeepSeek于2026年开源的MIT协议AI Agent框架,支持插件化组装模型、工具、沙箱与UI,兼容主流大模型。本文提供免Node.js的桌面端安装包(Win/macOS),含详细图文教程及热门插件推荐。
4158 49
|
11天前
|
iOS开发 Docker MacOS
【2026实测】Docker Desktop下载、安装、汉化、配置教程(附官网安装包)
Docker Desktop 是 Docker 官方推出的桌面容器管理工具,集成引擎、CLI、图形界面与 Kubernetes,支持 Win/macOS/Linux。2026 最新版 4.88.1 强化 ARM 原生运行、镜像加速及资源可视化,附中文汉化与国内镜像配置指南。
1996 7
|
6天前
|
云安全 人工智能 安全
|
6天前
|
存储 弹性计算 人工智能
2026 年阿里云双十一活动入口攻略,新客服务器优惠通道、三大会场入口梳理
综合来看,2026年阿里云双十一活动入口清晰: 阿里云轻量应用服务器、阿里云ECS云服务器、阿里云GPU云服务器、阿里云百炼大模型服务平台 活动会场、综合权益中心、99计划专场三大入口覆盖服务器、AI权益与续费特价;新用户通过控制台首页banner、权益中心、产品页三处路径进入专属专场,老用户通过控制台弹窗和费用中心权益中心进入老客专区,企业用户做企业实名后解锁专属满减与阶梯折扣。
820 0
|
5天前
|
Linux 开发工具 iOS开发
2026最新codex下载安装保姆级使用教程(下载+安装+登录+使用,含所有历史版本)
本文详解OpenAI Codex国内快速上手指南:提供Win/macOS/Linux全平台免安装包、npm/Homebrew等多方式安装、账号/API Key双登录、简体中文切换,覆盖下载、安装、汉化、使用及高频避坑(如微软商店失败、npm超时等),10分钟即可跑通。
1112 3
|
12天前
|
安全 算法 定位技术
《高性价比人生指南》完整原版:普通人用最少的资源,过好这一生的底层逻辑~How To Live Better
📖《高性价比人生指南》是一份基于实证、拒绝焦虑的生存手册,倡导以“人生时薪”为视角,重新计算时间、金钱与精力的成本与收益。它不承诺逆袭,只教人算清账:省下的钱若耗掉时间便亏;买体验比买物品更值;睡眠是最高杠杆的健康投资;关系贵在情绪价值而非表面热络;学习重在改变行为而非自我安慰。核心理念:用低成本、高回报的微小行动,换取长期的选择权——不是成为谁,而是掌控自己人生的主动权。
2145 6
|
云安全 安全 网络安全
|
24天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
4351 58

热门文章

最新文章