Skip to content

Conversation

@Cutelemon6
Copy link
Contributor

@Cutelemon6 Cutelemon6 commented Jun 26, 2025

PR Category

Execute Infrastructure

PR Types

Improvements

Description

为 paddle.linalg.lu 添加显式不支持大 tensor 检查,目前的 paddle.linalg.lu 调用 cusolver 库 32 位表示矩阵大小的 api: cusolverDnSgetrf / cusolverDnDgetrf 有以下情况:

  • 面对大 tensor (m * n > INT_MAX)出现 cuda error 700
  • 稍小一点的 tensor (eg. 20000 * 20000)出现精度错误(~80% error),这一部分配置没有出现在 PaddleAPITest 中,由大 tensor 配置修改而来
  • PaddleAPITest 下的小 tensor 配置和 batch 维度数值较大的小 tensor 配置通过

实验分支下换用 cusolver 64 位表示矩阵大小的 api: cusolverDnXgetrf 后(commit: f33fd4c),仍有以上的情况,故添加 PADDLE_ENFORCE_* 检查,显式不支持大 tensor。cusolverDnXgetrf 依赖 cuda toolkit >= 11.01。

torch 对应 api:torch.lu 使用 magma 线性代数库,与 paddle 不同(cusolver 线性代数库),面对大 tensor case 同样会出现 cuda error 700。

@paddle-bot
Copy link

paddle-bot bot commented Jun 26, 2025

你的PR提交成功,感谢你对开源项目的贡献!
请关注后续CI自动化测试结果,详情请参考Paddle-CI手册
Your PR has been submitted. Thanks for your contribution!
Please wait for the result of CI firstly. See Paddle CI Manual for details.

@paddle-bot paddle-bot bot added the contributor External developers label Jun 26, 2025
@Cutelemon6
Copy link
Contributor Author

/re-run all-failed

1 similar comment
@Cutelemon6
Copy link
Contributor Author

/re-run all-failed

@wanghuancoder wanghuancoder merged commit 34f721b into PaddlePaddle:develop Jun 27, 2025
82 of 87 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor External developers

2 participants