Skip to content

[WIP] [CI] test Windows inference with CUDA 13.3#79381

Open
gouzil wants to merge 7 commits into
PaddlePaddle:developfrom
gouzil:codex/win-infer-test-vs2022
Open

[WIP] [CI] test Windows inference with CUDA 13.3#79381
gouzil wants to merge 7 commits into
PaddlePaddle:developfrom
gouzil:codex/win-infer-test-vs2022

Conversation

@gouzil

@gouzil gouzil commented Jun 26, 2026

Copy link
Copy Markdown
Member

PR Category

Environment Adaptation

PR Types

Improvements

Description

本 PR 调整 Windows-Inference CI,用于在 win-infer-test runner 上验证 VS2022 + CUDA 13.3 的 Windows inference 构建与测试。

主要改动:

  • Windows-Inference runner group 从 win-infer 切换为 win-infer-test
  • Windows-Inference 使用 VS2022 vcvars64.bat
  • Windows-Inference 的 CUDA_TOOLKIT_ROOT_DIR 从 CUDA 11.7 切换到 CUDA 13.3 默认安装路径。
  • Windows-Inference 将 CUDA 13.3 的 bin\x64 加入 PATH,并让 dynload 额外搜索该目录,用于加载 cublas64_13.dll 等运行时 DLL。
  • Windows-Inference 暂时关闭 WITH_TENSORRT,避免当前 win-infer-test runner 缺失 TensorRT 安装目录导致 CMake 阶段失败。
  • extern_warprnnt 作为独立 CMake 外部工程时显式继承顶层 CUDA_TOOLKIT_ROOT_DIR,避免 legacy FindCUDA 在 runner 环境中回落到 CUDA 11.7。
  • 新增 phi::dtype::is_floating_point,并让 float16_test / bfloat16_test 以及 CPU isfinite 路径使用 Paddle 自己的 dtype trait。VS2022 / MSVC STL 的 std::is_floating_point_v 只按标准内建浮点类型计算,用户对 std::is_floating_point<phi::dtype::float16> 的特化不会影响变量模板路径,因此在 C++20 + MSVC 19.44 下会得到 false;这里避免继续依赖标准库 type traits 的用户特化。

参考链接:

Windows-GPU、Windows-OPENBLAS、cmake/flags.cmake 保持不变。

是否引起精度变化

Copilot AI review requested due to automatic review settings June 26, 2026 17:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Windows inference GitHub Actions workflow to run on a different self-hosted runner group intended for VS2022 validation, and adjusts the Visual Studio toolchain initialization to use VS2022 Community’s vcvars64.bat instead of VS2019.

Changes:

  • Switch runs-on.group from win-infer to win-infer-test for the Windows inference job.
  • Update vcvars64_dir to point to VS2022 Community’s vcvars64.bat to avoid using the VS2019 toolchain after runner migration.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@risemeup1111 risemeup1111 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

代码改动本身未发现需要阻塞合入的问题。当前 Windows-Inference / Build and test 仍在运行,建议等该 job 在新的 win-infer-test runner 上完成后再合入。

Powered by Nyanpasu with gpt-5.5 xhigh, please check the suggestions carefully.

@paddle-bot paddle-bot Bot added the contributor External developers label Jun 26, 2026
PaddlePaddle-bot

This comment was marked as outdated.

@PaddlePaddle-bot

PaddlePaddle-bot commented Jun 26, 2026

Copy link
Copy Markdown

🤖 Paddle-CI-Agent | ci_status_monitor | 2026-07-01 00:56:11 UTC+08:00

CI报告基于以下代码生成(30分钟更新一次):
PR commit: a777c90 | Merge base: 0b2fd80 (branch: develop)


1 Required任务 : 15/29 通过

总执行(rerun次数) 总任务 ✅ 通过 ❌ 失败 ⏳ 运行中 ⏸️ 等待中 跳过
50(0) 50 36 1 13 0 0
任务 错误类型 置信度 日志
Check approval 需要 Approval Job

2 失败详情

🔴 Check approval — 需要 Approval(置信度: 高)

该 Job 需要人工 Approval,完成审批后 CI 才会继续执行。

修复建议:请通过人工审批。

@gouzil gouzil changed the title [WIP] [CI] test Windows inference with VS2022 runner [WIP] [CI] enable Windows C++20 toolchain Jun 27, 2026
@gouzil gouzil force-pushed the codex/win-infer-test-vs2022 branch from 21005eb to 72bc2f3 Compare June 27, 2026 03:17
@gouzil gouzil changed the title [WIP] [CI] enable Windows C++20 toolchain [WIP] [CI] use VS2022 for Windows CI Jun 27, 2026
PaddlePaddle-bot

This comment was marked as outdated.

PaddlePaddle-bot

This comment was marked as outdated.

@risemeup1111 risemeup1111 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

已复查新的 VS2022 Windows CI 配置。当前有需要先修复的阻塞问题:Windows-GPUWindows-OPENBLAS 已经因为新增的 VS2022 vcvars64.bat 固定路径在 runner 上不存在而失败,具体证据和建议见行内评论。

此前我只建议等待 Windows-Inference job 完成;这次新增的失败覆盖了更广的 Windows job,需要先让相关 runner 路径/镜像与 workflow 配置一致后再继续验证。

Powered by Nyanpasu with gpt-5.5 xhigh, please check the suggestions carefully.

Comment thread .github/workflows/_Windows-GPU.yml Outdated
PRECISION_TEST: "OFF"
PYTHON_ROOT: C:\Python310
vcvars64_dir: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat'
vcvars64_dir: 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 优先级:P1
这里切到 VS2022 Community 固定路径后,当前 win-gpu runner 上该文件不存在,已经导致 Windows-GPU / Build and test 在 Build paddle 阶段失败:日志打印 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat 后立即出现 The system cannot find the path specified.,随后 CMake 报 No CMAKE_CXX_COMPILER could be foundhttps://github.com/PaddlePaddle/Paddle/actions/runs/28277012818/job/83785864387)。请先把 win-gpu runner 镜像更新到包含该路径的 VS2022,或改成该 runner 实际存在的 VS2022 vcvars64.bat 路径;否则该必跑 Windows job 无法进入编译。

修复形态例如:

vcvars64_dir: '<win-gpu runner 上实际存在的 VS2022 vcvars64.bat 绝对路径>'

Comment thread .github/workflows/_Windows-OPENBLAS.yml Outdated
WITH_TESTING: "ON"
PRECISION_TEST: "OFF"
PYTHON_ROOT: C:\Python310
vcvars64_dir: 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 优先级:P1
新增的 VS2022 Community 路径在当前 win-openblas runner 上也不存在,已经导致 Windows-OPENBLAS / Build and test 在 Build paddle 阶段失败:日志打印 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat 后出现 The system cannot find the path specified.,随后 CMake 报 No CMAKE_CXX_COMPILER could be foundhttps://github.com/PaddlePaddle/Paddle/actions/runs/28277012818/job/83785863898)。请先更新 win-openblas runner 镜像,或把这里配置为该 runner 实际存在的 VS2022 vcvars64.bat 路径;否则该 Windows OPENBLAS job 会稳定失败。

修复形态例如:

vcvars64_dir: '<win-openblas runner 上实际存在的 VS2022 vcvars64.bat 绝对路径>'

@gouzil gouzil force-pushed the codex/win-infer-test-vs2022 branch from 72bc2f3 to 8ea483e Compare June 30, 2026 03:36
@gouzil gouzil changed the title [WIP] [CI] use VS2022 for Windows CI [WIP] [CI] test Windows inference with CUDA 13.3 Jun 30, 2026
PaddlePaddle-bot

This comment was marked as outdated.

@gouzil gouzil force-pushed the codex/win-infer-test-vs2022 branch from 8ea483e to 35c24e2 Compare June 30, 2026 05:41
PaddlePaddle-bot

This comment was marked as outdated.

@gouzil gouzil force-pushed the codex/win-infer-test-vs2022 branch from 35c24e2 to 49c5fbe Compare June 30, 2026 05:48
PaddlePaddle-bot

This comment was marked as outdated.

@gouzil gouzil force-pushed the codex/win-infer-test-vs2022 branch from 49c5fbe to e4f76f8 Compare June 30, 2026 09:03
PaddlePaddle-bot

This comment was marked as outdated.

@gouzil gouzil force-pushed the codex/win-infer-test-vs2022 branch from e4f76f8 to 023bf0b Compare June 30, 2026 09:50
PaddlePaddle-bot

This comment was marked as outdated.

PaddlePaddle-bot

This comment was marked as outdated.

PaddlePaddle-bot

This comment was marked as outdated.

PaddlePaddle-bot

This comment was marked as outdated.

PaddlePaddle-bot

This comment was marked as outdated.

PaddlePaddle-bot

This comment was marked as outdated.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Comment on lines 37 to 41
template <typename T>
struct is_other_float
: std::integral_constant<bool,
std::is_floating_point<T>::value &&
phi::dtype::is_floating_point<T>::value &&
!is_float_or_double<T>::value> {};
Comment on lines 379 to +383
std::vector<std::string> dso_names = split(dso_name, ";");
auto search_extra_paths = extra_paths;
#if defined(_WIN32) && defined(PADDLE_WITH_CUDA)
search_extra_paths.emplace_back(cuda_lib_x64_path);
#endif

@PaddlePaddle-bot PaddlePaddle-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Paddle-CI-Agent | pr_review | 2026-07-01 09:25:02

📋 Review 摘要

PR 概述:调整 Windows-Inference CI 到 win-infer-test/VS2022/CUDA 13.3,并补充 Windows 下 CUDA dynload、PIR schema、profiler/framework 导出和 dtype trait 兼容修正。
变更范围:Windows CI/build/CMake、Phi dynload/type traits/isfinite、PIR 序列化、Profiler/Operator 导出、相关 C++ 测试。
影响面 Tag[Environment Adaptation] [Execute Infrastructure] [Operator Mechanism] [Inference]

问题

未发现新的阻塞性问题。PR 规范问题在下面章节报,不在这里重复。

历史 Findings 修复情况

Finding 问题 状态
F1 dynamic_loader.ccbin/x64 追加后仍可能覆盖已有 bin 回退加载结果 ⚠️ 仍存在

📝 PR 规范检查

标题仍使用 [WIP] [CI],Tag 不在 checklist §D2 枚举中;PR 描述结构已补齐。

标题建议(可直接复制):

  • [Environment Adaptation] test Windows inference with VS2022 runner

总体评价

本轮按风险优先覆盖了 14 个变更文件中的 Windows CI/CMake、CUDA 动态加载、PIR schema、dtype trait/isfinite、profiler 和 operator 注册表导出路径。除历史 F1 仍未修复外,未发现新的阻塞性代码问题。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor External developers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants