Skip to content

Commit e3f2aa2

Browse files
committed
chore: add pixi for cuda-core and cuda-bindings
1 parent 69aac67 commit e3f2aa2

File tree

7 files changed

+7591
-0
lines changed

7 files changed

+7591
-0
lines changed

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,5 @@ cuda/_version.py export-subst
77
*.hpp binary
88
# git should not convert line endings in PNG files
99
*.png binary
10+
# SCM syntax highlighting & preventing 3-way merges
11+
pixi.lock merge=binary linguist-language=YAML linguist-generated=true

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,3 +182,6 @@ cython_debug/
182182

183183
# Dont ignore
184184
!.github/actions/build/
185+
# pixi environments
186+
.pixi/*
187+
!.pixi/config.toml

.pre-commit-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ repos:
2929
language: python
3030
additional_dependencies:
3131
- https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl
32+
exclude: '.*pixi\.lock'
3233

3334
- id: no-markdown-in-docs-source
3435
name: Prevent markdown files in docs/source directories

cuda_bindings/pixi.lock

Lines changed: 4637 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cuda_bindings/pixi.toml

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
#
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
[workspace]
6+
channels = ["conda-forge"]
7+
platforms = ["linux-64", "linux-aarch64", "win-64"]
8+
preview = ["pixi-build"]
9+
10+
[workspace.build-variants]
11+
python = ["3.10.*", "3.11.*", "3.12.*", "3.13.*", "3.14.*"]
12+
13+
[dependencies]
14+
cuda-bindings = { path = "." }
15+
libnvjitlink = "*"
16+
17+
[feature.test.dependencies]
18+
pytest = ">=6.2.4"
19+
pytest-benchmark = ">=3.4.1"
20+
pyglet = ">=2.1.9"
21+
22+
[feature.cu13.system-requirements]
23+
cuda = "13"
24+
25+
[feature.cu13.dependencies]
26+
cuda-version = "13.*"
27+
28+
[feature.cu12.system-requirements]
29+
cuda = "12"
30+
31+
[feature.cu12.dependencies]
32+
cuda-version = "12.*"
33+
34+
[environments]
35+
cu13 = { features = ["cu13", "test"], solve-group = "cu13" }
36+
cu12 = { features = ["cu12", "test"], solve-group = "cu12" }
37+
38+
[target.linux-64.activation.env]
39+
CUDA_HOME = "$CONDA_PREFIX/targets/x86_64-linux"
40+
41+
[target.linux-aarch64.activation.env]
42+
CUDA_HOME = "$CONDA_PREFIX/targets/aarch64-linux"
43+
44+
[target.win.activation.env]
45+
CUDA_HOME = '%CONDA_PREFIX%\Library'
46+
47+
[package]
48+
name = "cuda-bindings"
49+
version = "13.0.2"
50+
51+
[package.build]
52+
backend = { name = "pixi-build-python", version = "*" }
53+
config.noarch = false
54+
55+
[package.build-dependencies]
56+
cuda-nvrtc-dev = "*"
57+
cuda-profiler-api = "*"
58+
cuda-nvvm = "*"
59+
ccache = "*"
60+
61+
[package.host-dependencies]
62+
python = "*"
63+
setuptools = ">=77"
64+
cython = ">=3.1,<3.2"
65+
pyclibrary = ">=0.1.7"
66+
67+
[package.run-dependencies]
68+
python = "*"
69+
cuda-pathfinder = ">=1.1,<1.2"
70+
71+
[package.target.linux.build-dependencies]
72+
libcufile-dev = "*"
73+
74+
[package.target.linux-64.build-dependencies]
75+
cuda-crt-dev_linux-64 = "*"
76+
77+
[package.target.linux-aarch64.build-dependencies]
78+
cuda-crt-dev_linux-aarch64 = "*"
79+
80+
[package.target.win-64.build-dependencies]
81+
cuda-crt-dev_win-64 = "*"
82+
83+
[package.build.target.linux-64.config.env]
84+
CXX = "ccache c++"
85+
CC = "ccache cc"
86+
CUDA_HOME = "$BUILD_PREFIX/targets/x86_64-linux"
87+
88+
[package.build.target.linux-aarch64.config.env]
89+
CXX = "ccache c++"
90+
CC = "ccache cc"
91+
CUDA_HOME = "$BUILD_PREFIX/targets/sbsa-linux"
92+
93+
[package.build.target.win-64.config.env]
94+
CUDA_HOME = '%BUILD_PREFIX%\Library'

cuda_core/pixi.lock

Lines changed: 2771 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cuda_core/pixi.toml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
#
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
[workspace]
6+
channels = ["conda-forge"]
7+
platforms = ["linux-64", "linux-aarch64", "win-64"]
8+
preview = ["pixi-build"]
9+
10+
[workspace.build-variants]
11+
python = ["3.10.*", "3.11.*", "3.12.*", "3.13.*", "3.14.*"]
12+
13+
[dependencies]
14+
cuda-core = { path = "." }
15+
libnvjitlink = "*"
16+
17+
[feature.test.dependencies]
18+
pytest = "*"
19+
20+
[feature.cu13.system-requirements]
21+
cuda = "13"
22+
23+
[feature.cu13.dependencies]
24+
cuda-version = "13.*"
25+
26+
[feature.cu12.system-requirements]
27+
cuda = "12"
28+
29+
[feature.cu12.dependencies]
30+
cuda-version = "12.*"
31+
32+
[environments]
33+
cu13 = { features = ["cu13", "test"], solve-group = "cu13" }
34+
cu12 = { features = ["cu12", "test"], solve-group = "cu12" }
35+
36+
[target.linux-64.activation.env]
37+
CUDA_HOME = "$CONDA_PREFIX/targets/x86_64-linux"
38+
39+
[target.linux-aarch64.activation.env]
40+
CUDA_HOME = "$CONDA_PREFIX/targets/sbsa-linux"
41+
42+
[target.win.activation.env]
43+
CUDA_HOME = '%CONDA_PREFIX%\Library'
44+
45+
[package]
46+
name = "cuda-core"
47+
version = "0.4.1"
48+
49+
[package.build]
50+
backend = { name = "pixi-build-python", version = "*" }
51+
# config.compilers = ["cxx"]
52+
config.noarch = false
53+
54+
[package.build-dependencies]
55+
setuptools = ">=77"
56+
cython = ">=3.1"
57+
cuda-profiler-api = "*" # for some reason, without this, cuda.h isn't found ¯\_(ツ)_/¯
58+
ccache = "*"
59+
gxx = "*"
60+
gcc = "*"
61+
62+
[package.host-dependencies]
63+
python = "*"
64+
setuptools = ">=77"
65+
cython = ">=3.1"
66+
cuda-bindings = "*"
67+
68+
[package.run-dependencies]
69+
python = "*"
70+
numpy = "*"
71+
cuda-bindings = "*"
72+
73+
[package.build.target.linux-64.config.env]
74+
CUDA_HOME = "$BUILD_PREFIX/targets/x86_64-linux"
75+
SCCACHE_PATH = "$(which sscache)"
76+
CXX = "ccache c++"
77+
CC = "ccache cc"
78+
79+
[package.build.target.linux-aarch64.config.env]
80+
CUDA_HOME = "$BUILD_PREFIX/targets/sbsa-linux"
81+
82+
[package.build.target.win-64.config.env]
83+
CUDA_HOME = '%BUILD_PREFIX%\Library'

0 commit comments

Comments
 (0)