Skip to content

build(windows): add Pixi development environments#1117

Open
IvanaGyro wants to merge 2 commits into
codex/windows-msvc-cuda-stackfrom
codex/windows-pixi-dev
Open

build(windows): add Pixi development environments#1117
IvanaGyro wants to merge 2 commits into
codex/windows-msvc-cuda-stackfrom
codex/windows-pixi-dev

Conversation

@IvanaGyro

@IvanaGyro IvanaGyro commented Jul 23, 2026

Copy link
Copy Markdown
Member

Base and stack

#1116 is now a standalone PR directly on master. This downstream PR is based on codex/windows-msvc-cuda-stack, an integration anchor that preserves #1109, #1110, and the same #1116 patch while those PRs are unmerged:

#1109 → #1110 → codex/windows-msvc-cuda-stack → #1117 → #1118 → #1119 → #1113

This PR contains only Windows development tooling and documentation.

Summary

  • add locked Pixi default and cuda environments with Python 3.10, MSVC 2022, Ninja, MKL, and contributor tools;
  • source CUDA 13 and cuTENSOR from PyPI without adding them to base pyproject.toml dependencies;
  • generate the MSVC import libraries omitted by the upstream CUDA wheels;
  • provide CUDA 13's canonical bin/x64 NVVM layout for device LTO when the PyPI wheel installs the DLL under bin/x86_64;
  • document CPU/CUDA native and editable development;
  • make activation recover when Pixi retains ordinary variables independently of a stale PATH.

Linux and macOS

The Pixi workspace targets only win-64; source builds on Linux and macOS are unchanged.

Validation

  • reduced default and cuda lock installs pass;
  • CPU/CUDA doctors find MSVC, Python 3.10, CMake, Ninja, and nvcc;
  • CUDA import-library preparation and CMake configuration pass;
  • prepare-cuda creates the canonical bin/x64/nvvm64_40_0.dll alias and check-cuda-layout validates it;
  • repository-pinned pre-commit hooks pass.

Part of #1114.

Provision Python 3.10, MSVC activation, MKL, and optional PyPI CUDA tooling in locked default and cuda environments. Keep release-wheel dependencies out of the contributor environments.

Co-Authored-By: OpenAI Codex <codex@openai.com>
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 74c7062949

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread pixi.toml
configure-cuda = { cmd = "tools\\activate_windows.bat cmake --preset mkl-cuda -B build/windows-mkl-cuda -DUSE_HPTT=OFF -DHPTT_ENABLE_FINE_TUNE=OFF -DUSE_CUQUANTUM=OFF -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF", depends-on = ["setup", "prepare-cuda"] }
build-cuda = { cmd = "tools\\activate_windows.bat cmake --build build/windows-mkl-cuda --parallel 2", depends-on = ["configure-cuda"] }

install-python-cuda = { cmd = "tools\\activate_windows.bat python -m pip install --editable . --no-deps --no-build-isolation --verbose --config-settings=build-dir=build/windows-mkl-cuda-editable --config-settings=cmake.args=--preset=mkl-cuda", depends-on = ["setup", "prepare-cuda"] }

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Prepare CUDA import libraries before editable installation

In a fresh cuda environment, this task depends on prepare-windows, which invokes the preparation script without --cuda; the script then returns before generating the CUDA .lib files. Since the added NVIDIA math-library wheels omit those import libraries, install-python-cuda can fail during CMake configuration/linking unless the user previously ran prepare-cuda or build-cuda. Make this task depend on prepare-cuda instead.

Useful? React with 👍 / 👎.

CUDA 13 device LTO makes nvlink search bin/x64, while the PyPI NVVM wheel installs its DLL below bin/x86_64. Create an idempotent hard-link or copy in the canonical directory during CUDA preparation.

Co-Authored-By: OpenAI Codex <codex@openai.com>
@IvanaGyro
IvanaGyro changed the base branch from codex/windows-msvc-cuda to codex/windows-msvc-cuda-stack July 23, 2026 02:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant