onnxruntime-gpu-extended-auto 1.23.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- onnxruntime_gpu_extended_auto-1.23.2/LICENSE +21 -0
- onnxruntime_gpu_extended_auto-1.23.2/MANIFEST.in +2 -0
- onnxruntime_gpu_extended_auto-1.23.2/PKG-INFO +91 -0
- onnxruntime_gpu_extended_auto-1.23.2/README.md +68 -0
- onnxruntime_gpu_extended_auto-1.23.2/onnxruntime_gpu_extended_auto.egg-info/PKG-INFO +91 -0
- onnxruntime_gpu_extended_auto-1.23.2/onnxruntime_gpu_extended_auto.egg-info/SOURCES.txt +9 -0
- onnxruntime_gpu_extended_auto-1.23.2/onnxruntime_gpu_extended_auto.egg-info/dependency_links.txt +1 -0
- onnxruntime_gpu_extended_auto-1.23.2/onnxruntime_gpu_extended_auto.egg-info/requires.txt +1 -0
- onnxruntime_gpu_extended_auto-1.23.2/onnxruntime_gpu_extended_auto.egg-info/top_level.txt +1 -0
- onnxruntime_gpu_extended_auto-1.23.2/setup.cfg +4 -0
- onnxruntime_gpu_extended_auto-1.23.2/setup.py +136 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Jeff Hykin
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: onnxruntime-gpu-extended-auto
|
|
3
|
+
Version: 1.23.2
|
|
4
|
+
Summary: Installs the onnxruntime-gpu-extended build matching this machine's CUDA and cuDNN versions
|
|
5
|
+
Home-page: https://github.com/jeff-hykin/onnxruntime-gpu-extended-auto
|
|
6
|
+
License: MIT
|
|
7
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
8
|
+
Classifier: Environment :: GPU :: NVIDIA CUDA
|
|
9
|
+
Classifier: Topic :: Scientific/Engineering
|
|
10
|
+
Requires-Python: >=3.10
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Requires-Dist: onnxruntime-gpu-extended==1.23.2.12.9
|
|
14
|
+
Dynamic: classifier
|
|
15
|
+
Dynamic: description
|
|
16
|
+
Dynamic: description-content-type
|
|
17
|
+
Dynamic: home-page
|
|
18
|
+
Dynamic: license
|
|
19
|
+
Dynamic: license-file
|
|
20
|
+
Dynamic: requires-dist
|
|
21
|
+
Dynamic: requires-python
|
|
22
|
+
Dynamic: summary
|
|
23
|
+
|
|
24
|
+
# onnxruntime-gpu-extended-auto
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
pip install onnxruntime-gpu-extended-auto
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
That is the whole thing. It looks at which CUDA and cuDNN are installed on the
|
|
31
|
+
machine you are running `pip` on, then pulls the matching
|
|
32
|
+
[onnxruntime-gpu-extended](https://pypi.org/project/onnxruntime-gpu-extended/)
|
|
33
|
+
build.
|
|
34
|
+
|
|
35
|
+
## Why this exists
|
|
36
|
+
|
|
37
|
+
A wheel filename can say "Python 3.12, aarch64, glibc 2.34". It cannot say
|
|
38
|
+
"cuDNN 8" or "cuDNN 9". Both JetPack 6.0 and JetPack 6.2 produce the exact same
|
|
39
|
+
tag, `cp312-cp312-manylinux_2_34_aarch64`, so PyPI has no way to hand each one a
|
|
40
|
+
different file. An onnxruntime built against cuDNN 8 will not load on cuDNN 9,
|
|
41
|
+
and vice versa.
|
|
42
|
+
|
|
43
|
+
This package resolves that at install time instead.
|
|
44
|
+
|
|
45
|
+
Published versions are `<onnxruntime version>.<cuda major>.<cudnn major>`, so the
|
|
46
|
+
ABI that the filename cannot express lives in the version number instead.
|
|
47
|
+
|
|
48
|
+
| Detected | Installs |
|
|
49
|
+
|---|---|
|
|
50
|
+
| CUDA 12 / cuDNN 8 (JetPack 6.0, L4T r36.3) | `onnxruntime-gpu-extended==1.22.2.12.8` |
|
|
51
|
+
| CUDA 12 / cuDNN 9 (JetPack 6.1 / 6.2, L4T r36.4) | `onnxruntime-gpu-extended==1.23.2.12.9` |
|
|
52
|
+
| anything not aarch64 | `onnxruntime-gpu` |
|
|
53
|
+
|
|
54
|
+
Check what you have with `head -1 /etc/nv_tegra_release`.
|
|
55
|
+
|
|
56
|
+
Jetson is the only platform upstream never shipped CUDA wheels for, so on x86_64
|
|
57
|
+
this hands you the normal `onnxruntime-gpu` and gets out of the way. It is safe
|
|
58
|
+
to depend on from a project that runs on both.
|
|
59
|
+
|
|
60
|
+
## Install it on the device
|
|
61
|
+
|
|
62
|
+
Detection reads the machine running `pip`. Building a lockfile or a container
|
|
63
|
+
image on one JetPack and deploying to another will bake in the wrong choice.
|
|
64
|
+
|
|
65
|
+
pip caches the wheel it builds from this package, keyed on the source archive
|
|
66
|
+
rather than on the machine. After upgrading JetPack on a box, reinstall with
|
|
67
|
+
`--no-cache-dir` so detection runs again.
|
|
68
|
+
|
|
69
|
+
To pick explicitly instead of detecting:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
ORT_GPU_EXTENDED_VARIANT='onnxruntime-gpu-extended==1.23.2.12.9' pip install onnxruntime-gpu-extended-auto
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
The same variable is how this package's own source archive gets built off-device,
|
|
76
|
+
since detection otherwise refuses to run on an aarch64 machine without CUDA.
|
|
77
|
+
|
|
78
|
+
## Verify
|
|
79
|
+
|
|
80
|
+
```python
|
|
81
|
+
import onnxruntime
|
|
82
|
+
print(onnxruntime.get_available_providers())
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
`get_available_providers()` lists what was compiled in, not what loads. To prove
|
|
86
|
+
CUDA actually works, build a session and ask it:
|
|
87
|
+
|
|
88
|
+
```python
|
|
89
|
+
session = onnxruntime.InferenceSession("model.onnx", providers=["CUDAExecutionProvider"])
|
|
90
|
+
print(session.get_providers())
|
|
91
|
+
```
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# onnxruntime-gpu-extended-auto
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
pip install onnxruntime-gpu-extended-auto
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
That is the whole thing. It looks at which CUDA and cuDNN are installed on the
|
|
8
|
+
machine you are running `pip` on, then pulls the matching
|
|
9
|
+
[onnxruntime-gpu-extended](https://pypi.org/project/onnxruntime-gpu-extended/)
|
|
10
|
+
build.
|
|
11
|
+
|
|
12
|
+
## Why this exists
|
|
13
|
+
|
|
14
|
+
A wheel filename can say "Python 3.12, aarch64, glibc 2.34". It cannot say
|
|
15
|
+
"cuDNN 8" or "cuDNN 9". Both JetPack 6.0 and JetPack 6.2 produce the exact same
|
|
16
|
+
tag, `cp312-cp312-manylinux_2_34_aarch64`, so PyPI has no way to hand each one a
|
|
17
|
+
different file. An onnxruntime built against cuDNN 8 will not load on cuDNN 9,
|
|
18
|
+
and vice versa.
|
|
19
|
+
|
|
20
|
+
This package resolves that at install time instead.
|
|
21
|
+
|
|
22
|
+
Published versions are `<onnxruntime version>.<cuda major>.<cudnn major>`, so the
|
|
23
|
+
ABI that the filename cannot express lives in the version number instead.
|
|
24
|
+
|
|
25
|
+
| Detected | Installs |
|
|
26
|
+
|---|---|
|
|
27
|
+
| CUDA 12 / cuDNN 8 (JetPack 6.0, L4T r36.3) | `onnxruntime-gpu-extended==1.22.2.12.8` |
|
|
28
|
+
| CUDA 12 / cuDNN 9 (JetPack 6.1 / 6.2, L4T r36.4) | `onnxruntime-gpu-extended==1.23.2.12.9` |
|
|
29
|
+
| anything not aarch64 | `onnxruntime-gpu` |
|
|
30
|
+
|
|
31
|
+
Check what you have with `head -1 /etc/nv_tegra_release`.
|
|
32
|
+
|
|
33
|
+
Jetson is the only platform upstream never shipped CUDA wheels for, so on x86_64
|
|
34
|
+
this hands you the normal `onnxruntime-gpu` and gets out of the way. It is safe
|
|
35
|
+
to depend on from a project that runs on both.
|
|
36
|
+
|
|
37
|
+
## Install it on the device
|
|
38
|
+
|
|
39
|
+
Detection reads the machine running `pip`. Building a lockfile or a container
|
|
40
|
+
image on one JetPack and deploying to another will bake in the wrong choice.
|
|
41
|
+
|
|
42
|
+
pip caches the wheel it builds from this package, keyed on the source archive
|
|
43
|
+
rather than on the machine. After upgrading JetPack on a box, reinstall with
|
|
44
|
+
`--no-cache-dir` so detection runs again.
|
|
45
|
+
|
|
46
|
+
To pick explicitly instead of detecting:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
ORT_GPU_EXTENDED_VARIANT='onnxruntime-gpu-extended==1.23.2.12.9' pip install onnxruntime-gpu-extended-auto
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
The same variable is how this package's own source archive gets built off-device,
|
|
53
|
+
since detection otherwise refuses to run on an aarch64 machine without CUDA.
|
|
54
|
+
|
|
55
|
+
## Verify
|
|
56
|
+
|
|
57
|
+
```python
|
|
58
|
+
import onnxruntime
|
|
59
|
+
print(onnxruntime.get_available_providers())
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
`get_available_providers()` lists what was compiled in, not what loads. To prove
|
|
63
|
+
CUDA actually works, build a session and ask it:
|
|
64
|
+
|
|
65
|
+
```python
|
|
66
|
+
session = onnxruntime.InferenceSession("model.onnx", providers=["CUDAExecutionProvider"])
|
|
67
|
+
print(session.get_providers())
|
|
68
|
+
```
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: onnxruntime-gpu-extended-auto
|
|
3
|
+
Version: 1.23.2
|
|
4
|
+
Summary: Installs the onnxruntime-gpu-extended build matching this machine's CUDA and cuDNN versions
|
|
5
|
+
Home-page: https://github.com/jeff-hykin/onnxruntime-gpu-extended-auto
|
|
6
|
+
License: MIT
|
|
7
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
8
|
+
Classifier: Environment :: GPU :: NVIDIA CUDA
|
|
9
|
+
Classifier: Topic :: Scientific/Engineering
|
|
10
|
+
Requires-Python: >=3.10
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Requires-Dist: onnxruntime-gpu-extended==1.23.2.12.9
|
|
14
|
+
Dynamic: classifier
|
|
15
|
+
Dynamic: description
|
|
16
|
+
Dynamic: description-content-type
|
|
17
|
+
Dynamic: home-page
|
|
18
|
+
Dynamic: license
|
|
19
|
+
Dynamic: license-file
|
|
20
|
+
Dynamic: requires-dist
|
|
21
|
+
Dynamic: requires-python
|
|
22
|
+
Dynamic: summary
|
|
23
|
+
|
|
24
|
+
# onnxruntime-gpu-extended-auto
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
pip install onnxruntime-gpu-extended-auto
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
That is the whole thing. It looks at which CUDA and cuDNN are installed on the
|
|
31
|
+
machine you are running `pip` on, then pulls the matching
|
|
32
|
+
[onnxruntime-gpu-extended](https://pypi.org/project/onnxruntime-gpu-extended/)
|
|
33
|
+
build.
|
|
34
|
+
|
|
35
|
+
## Why this exists
|
|
36
|
+
|
|
37
|
+
A wheel filename can say "Python 3.12, aarch64, glibc 2.34". It cannot say
|
|
38
|
+
"cuDNN 8" or "cuDNN 9". Both JetPack 6.0 and JetPack 6.2 produce the exact same
|
|
39
|
+
tag, `cp312-cp312-manylinux_2_34_aarch64`, so PyPI has no way to hand each one a
|
|
40
|
+
different file. An onnxruntime built against cuDNN 8 will not load on cuDNN 9,
|
|
41
|
+
and vice versa.
|
|
42
|
+
|
|
43
|
+
This package resolves that at install time instead.
|
|
44
|
+
|
|
45
|
+
Published versions are `<onnxruntime version>.<cuda major>.<cudnn major>`, so the
|
|
46
|
+
ABI that the filename cannot express lives in the version number instead.
|
|
47
|
+
|
|
48
|
+
| Detected | Installs |
|
|
49
|
+
|---|---|
|
|
50
|
+
| CUDA 12 / cuDNN 8 (JetPack 6.0, L4T r36.3) | `onnxruntime-gpu-extended==1.22.2.12.8` |
|
|
51
|
+
| CUDA 12 / cuDNN 9 (JetPack 6.1 / 6.2, L4T r36.4) | `onnxruntime-gpu-extended==1.23.2.12.9` |
|
|
52
|
+
| anything not aarch64 | `onnxruntime-gpu` |
|
|
53
|
+
|
|
54
|
+
Check what you have with `head -1 /etc/nv_tegra_release`.
|
|
55
|
+
|
|
56
|
+
Jetson is the only platform upstream never shipped CUDA wheels for, so on x86_64
|
|
57
|
+
this hands you the normal `onnxruntime-gpu` and gets out of the way. It is safe
|
|
58
|
+
to depend on from a project that runs on both.
|
|
59
|
+
|
|
60
|
+
## Install it on the device
|
|
61
|
+
|
|
62
|
+
Detection reads the machine running `pip`. Building a lockfile or a container
|
|
63
|
+
image on one JetPack and deploying to another will bake in the wrong choice.
|
|
64
|
+
|
|
65
|
+
pip caches the wheel it builds from this package, keyed on the source archive
|
|
66
|
+
rather than on the machine. After upgrading JetPack on a box, reinstall with
|
|
67
|
+
`--no-cache-dir` so detection runs again.
|
|
68
|
+
|
|
69
|
+
To pick explicitly instead of detecting:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
ORT_GPU_EXTENDED_VARIANT='onnxruntime-gpu-extended==1.23.2.12.9' pip install onnxruntime-gpu-extended-auto
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
The same variable is how this package's own source archive gets built off-device,
|
|
76
|
+
since detection otherwise refuses to run on an aarch64 machine without CUDA.
|
|
77
|
+
|
|
78
|
+
## Verify
|
|
79
|
+
|
|
80
|
+
```python
|
|
81
|
+
import onnxruntime
|
|
82
|
+
print(onnxruntime.get_available_providers())
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
`get_available_providers()` lists what was compiled in, not what loads. To prove
|
|
86
|
+
CUDA actually works, build a session and ask it:
|
|
87
|
+
|
|
88
|
+
```python
|
|
89
|
+
session = onnxruntime.InferenceSession("model.onnx", providers=["CUDAExecutionProvider"])
|
|
90
|
+
print(session.get_providers())
|
|
91
|
+
```
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
LICENSE
|
|
2
|
+
MANIFEST.in
|
|
3
|
+
README.md
|
|
4
|
+
setup.py
|
|
5
|
+
onnxruntime_gpu_extended_auto.egg-info/PKG-INFO
|
|
6
|
+
onnxruntime_gpu_extended_auto.egg-info/SOURCES.txt
|
|
7
|
+
onnxruntime_gpu_extended_auto.egg-info/dependency_links.txt
|
|
8
|
+
onnxruntime_gpu_extended_auto.egg-info/requires.txt
|
|
9
|
+
onnxruntime_gpu_extended_auto.egg-info/top_level.txt
|
onnxruntime_gpu_extended_auto-1.23.2/onnxruntime_gpu_extended_auto.egg-info/dependency_links.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
onnxruntime-gpu-extended==1.23.2.12.9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"""Metadata-only package that resolves to the onnxruntime-gpu-extended build
|
|
2
|
+
matching the CUDA/cuDNN majors present on the machine running pip."""
|
|
3
|
+
|
|
4
|
+
import glob
|
|
5
|
+
import os
|
|
6
|
+
import platform
|
|
7
|
+
import re
|
|
8
|
+
import subprocess
|
|
9
|
+
import sys
|
|
10
|
+
|
|
11
|
+
from setuptools import setup
|
|
12
|
+
|
|
13
|
+
DISPATCHER_VERSION = "1.23.2"
|
|
14
|
+
DISTRIBUTION = "onnxruntime-gpu-extended"
|
|
15
|
+
|
|
16
|
+
# Jetson is the only platform upstream never shipped CUDA wheels for.
|
|
17
|
+
UPSTREAM_DISTRIBUTION = "onnxruntime-gpu"
|
|
18
|
+
|
|
19
|
+
# Published wheel versions are <ort_version>.<cuda_major>.<cudnn_major>, so the
|
|
20
|
+
# ABI lives in the version rather than in the project name.
|
|
21
|
+
# (cuda_major, cudnn_major) -> version
|
|
22
|
+
VARIANTS = {
|
|
23
|
+
(12, 8): "1.22.2.12.8",
|
|
24
|
+
(12, 9): "1.23.2.12.9",
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
LIBRARY_DIRECTORIES = [
|
|
28
|
+
"/usr/lib/aarch64-linux-gnu",
|
|
29
|
+
"/usr/lib/x86_64-linux-gnu",
|
|
30
|
+
"/usr/local/cuda/lib64",
|
|
31
|
+
"/usr/local/cuda/targets/aarch64-linux/lib",
|
|
32
|
+
"/usr/local/cuda/targets/x86_64-linux/lib",
|
|
33
|
+
"/usr/lib64",
|
|
34
|
+
"/usr/lib",
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def soname_majors(library_stem):
|
|
39
|
+
"""Every N for which libFOO.so.N is visible to the dynamic linker."""
|
|
40
|
+
pattern = re.compile(re.escape(library_stem) + r"\.so\.(\d+)")
|
|
41
|
+
majors = set()
|
|
42
|
+
|
|
43
|
+
try:
|
|
44
|
+
ldconfig_output = subprocess.run(
|
|
45
|
+
["/sbin/ldconfig", "-p"],
|
|
46
|
+
capture_output=True,
|
|
47
|
+
text=True,
|
|
48
|
+
timeout=30,
|
|
49
|
+
).stdout
|
|
50
|
+
majors.update(int(match) for match in pattern.findall(ldconfig_output))
|
|
51
|
+
except (OSError, subprocess.SubprocessError):
|
|
52
|
+
pass
|
|
53
|
+
|
|
54
|
+
search_directories = list(LIBRARY_DIRECTORIES)
|
|
55
|
+
search_directories += [
|
|
56
|
+
directory
|
|
57
|
+
for directory in os.environ.get("LD_LIBRARY_PATH", "").split(":")
|
|
58
|
+
if directory
|
|
59
|
+
]
|
|
60
|
+
for directory in search_directories:
|
|
61
|
+
for path in glob.glob(os.path.join(directory, library_stem + ".so.*")):
|
|
62
|
+
match = pattern.search(os.path.basename(path))
|
|
63
|
+
if match:
|
|
64
|
+
majors.add(int(match.group(1)))
|
|
65
|
+
|
|
66
|
+
return majors
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def detect_requirement():
|
|
70
|
+
override = os.environ.get("ORT_GPU_EXTENDED_VARIANT")
|
|
71
|
+
if override:
|
|
72
|
+
return override, "ORT_GPU_EXTENDED_VARIANT"
|
|
73
|
+
|
|
74
|
+
# Only Jetson lacks upstream CUDA wheels; everywhere else upstream is correct.
|
|
75
|
+
machine = platform.machine()
|
|
76
|
+
if machine not in ("aarch64", "arm64"):
|
|
77
|
+
return UPSTREAM_DISTRIBUTION, "non-aarch64 machine (%s)" % machine
|
|
78
|
+
|
|
79
|
+
cuda_majors = soname_majors("libcudart")
|
|
80
|
+
cudnn_majors = soname_majors("libcudnn")
|
|
81
|
+
if not cuda_majors or not cudnn_majors:
|
|
82
|
+
raise SystemExit(
|
|
83
|
+
"onnxruntime-gpu-extended-auto: could not find CUDA and cuDNN on this "
|
|
84
|
+
"machine.\n"
|
|
85
|
+
" libcudart.so.N found: %s\n"
|
|
86
|
+
" libcudnn.so.N found: %s\n"
|
|
87
|
+
"This package must be installed on the target device (a Jetson with "
|
|
88
|
+
"JetPack installed), not cross-built.\n"
|
|
89
|
+
"To bypass detection, set ORT_GPU_EXTENDED_VARIANT to a pip "
|
|
90
|
+
"requirement, e.g.\n"
|
|
91
|
+
" ORT_GPU_EXTENDED_VARIANT='onnxruntime-gpu-extended==1.23.2'"
|
|
92
|
+
% (sorted(cuda_majors) or "none", sorted(cudnn_majors) or "none")
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
# A box carrying several cuDNN majors can run the build for the newest one.
|
|
96
|
+
key = (max(cuda_majors), max(cudnn_majors))
|
|
97
|
+
if key not in VARIANTS:
|
|
98
|
+
raise SystemExit(
|
|
99
|
+
"onnxruntime-gpu-extended-auto: no build published for CUDA %d / "
|
|
100
|
+
"cuDNN %d.\nPublished combinations: %s\n"
|
|
101
|
+
"Please open an issue at "
|
|
102
|
+
"https://github.com/jeff-hykin/onnxruntime-gpu-extended-auto/issues"
|
|
103
|
+
% (key[0], key[1], ", ".join("CUDA %d / cuDNN %d" % k for k in sorted(VARIANTS)))
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
return "%s==%s" % (DISTRIBUTION, VARIANTS[key]), "CUDA %d / cuDNN %d" % key
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
requirement, detection_source = detect_requirement()
|
|
110
|
+
sys.stderr.write(
|
|
111
|
+
"onnxruntime-gpu-extended-auto: detected %s -> installing %s\n"
|
|
112
|
+
% (detection_source, requirement)
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
setup(
|
|
116
|
+
name="onnxruntime-gpu-extended-auto",
|
|
117
|
+
version=DISPATCHER_VERSION,
|
|
118
|
+
description=(
|
|
119
|
+
"Installs the onnxruntime-gpu-extended build matching this machine's "
|
|
120
|
+
"CUDA and cuDNN versions"
|
|
121
|
+
),
|
|
122
|
+
long_description=open(
|
|
123
|
+
os.path.join(os.path.dirname(os.path.abspath(__file__)), "README.md")
|
|
124
|
+
).read(),
|
|
125
|
+
long_description_content_type="text/markdown",
|
|
126
|
+
license="MIT",
|
|
127
|
+
url="https://github.com/jeff-hykin/onnxruntime-gpu-extended-auto",
|
|
128
|
+
python_requires=">=3.10",
|
|
129
|
+
install_requires=[requirement],
|
|
130
|
+
py_modules=[],
|
|
131
|
+
classifiers=[
|
|
132
|
+
"Operating System :: POSIX :: Linux",
|
|
133
|
+
"Environment :: GPU :: NVIDIA CUDA",
|
|
134
|
+
"Topic :: Scientific/Engineering",
|
|
135
|
+
],
|
|
136
|
+
)
|