8
8
CLIENT = boto3 .client ("s3" )
9
9
BUCKET = S3 .Bucket ("pytorch" )
10
10
11
- PACKAGES_PER_PROJECT = [
12
- {"package" : "sympy" , "version" : "latest" , "project" : "torch" },
13
- {"package" : "mpmath" , "version" : "latest" , "project" : "torch" },
14
- {"package" : "pillow" , "version" : "latest" , "project" : "torch" },
15
- {"package" : "networkx" , "version" : "latest" , "project" : "torch" },
16
- {"package" : "numpy" , "version" : "latest" , "project" : "torch" },
17
- {"package" : "jinja2" , "version" : "latest" , "project" : "torch" },
18
- {"package" : "filelock" , "version" : "latest" , "project" : "torch" },
19
- {"package" : "fsspec" , "version" : "latest" , "project" : "torch" },
20
- {"package" : "nvidia-cudnn-cu11" , "version" : "latest" , "project" : "torch" },
21
- {"package" : "nvidia-cudnn-cu12" , "version" : "latest" , "project" : "torch" },
22
- {"package" : "typing-extensions" , "version" : "latest" , "project" : "torch" },
23
- {
24
- "package" : "nvidia-cuda-nvrtc-cu12" ,
11
+ PACKAGES_PER_PROJECT = {
12
+ "sympy" : {"version" : "latest" , "project" : "torch" },
13
+ "mpmath" : {"version" : "latest" , "project" : "torch" },
14
+ "pillow" : {"version" : "latest" , "project" : "torch" },
15
+ "networkx" : {"version" : "latest" , "project" : "torch" },
16
+ "numpy" : {"version" : "latest" , "project" : "torch" },
17
+ "jinja2" : {"version" : "latest" , "project" : "torch" },
18
+ "filelock" : {"version" : "latest" , "project" : "torch" },
19
+ "fsspec" : {"version" : "latest" , "project" : "torch" },
20
+ "nvidia-cudnn-cu11" : {"version" : "latest" , "project" : "torch" },
21
+ "nvidia-cudnn-cu12" : {"version" : "latest" , "project" : "torch" },
22
+ "typing-extensions" : {"version" : "latest" , "project" : "torch" },
23
+ "nvidia-cuda-nvrtc-cu12" : {
25
24
"version" : "12.9.86" ,
26
25
"project" : "torch" ,
27
26
"target" : "cu129" ,
28
27
},
29
- {
30
- "package" : "nvidia-cuda-runtime-cu12" ,
28
+ "nvidia-cuda-runtime-cu12" : {
31
29
"version" : "12.9.79" ,
32
30
"project" : "torch" ,
33
31
"target" : "cu129" ,
34
32
},
35
- {
36
- "package" : "nvidia-cuda-cupti-cu12" ,
33
+ "nvidia-cuda-cupti-cu12" : {
37
34
"version" : "12.9.79" ,
38
35
"project" : "torch" ,
39
36
"target" : "cu129" ,
40
37
},
41
- {
42
- "package" : "nvidia-cublas-cu12" ,
38
+ "nvidia-cublas-cu12" : {
43
39
"version" : "12.9.1.4" ,
44
40
"project" : "torch" ,
45
41
"target" : "cu129" ,
46
42
},
47
- {
48
- "package" : "nvidia-cufft-cu12" ,
43
+ "nvidia-cufft-cu12" : {
49
44
"version" : "11.4.1.4" ,
50
45
"project" : "torch" ,
51
46
"target" : "cu129" ,
52
47
},
53
- {
54
- "package" : "nvidia-curand-cu12" ,
48
+ "nvidia-curand-cu12" : {
55
49
"version" : "10.3.10.19" ,
56
50
"project" : "torch" ,
57
51
"target" : "cu129" ,
58
52
},
59
- {
60
- "package" : "nvidia-cusolver-cu12" ,
53
+ "nvidia-cusolver-cu12" : {
61
54
"version" : "11.7.5.82" ,
62
55
"project" : "torch" ,
63
56
"target" : "cu129" ,
64
57
},
65
- {
66
- "package" : "nvidia-cusparse-cu12" ,
58
+ "nvidia-cusparse-cu12" : {
67
59
"version" : "12.5.10.65" ,
68
60
"project" : "torch" ,
69
61
"target" : "cu129" ,
70
62
},
71
- {
72
- "package" : "nvidia-nvtx-cu12" ,
63
+ "nvidia-nvtx-cu12" : {
73
64
"version" : "12.9.79" ,
74
65
"project" : "torch" ,
75
66
"target" : "cu129" ,
76
67
},
77
- {
78
- "package" : "nvidia-nvjitlink-cu12" ,
68
+ "nvidia-nvjitlink-cu12" : {
79
69
"version" : "12.9.86" ,
80
70
"project" : "torch" ,
81
71
"target" : "cu129" ,
82
72
},
83
- {
84
- "package" : "nvidia-cufile-cu12" ,
73
+ "nvidia-cufile-cu12" : {
85
74
"version" : "1.14.1.1" ,
86
75
"project" : "torch" ,
87
76
"target" : "cu129" ,
88
77
},
89
- { "package " : "arpeggio" , "version" : "latest" , "project" : "triton" },
90
- { "package" : " caliper-reader", "version" : "latest" , "project" : "triton" },
91
- { "package " : "contourpy" , "version" : "latest" , "project" : "triton" },
92
- { "package " : "cycler" , "version" : "latest" , "project" : "triton" },
93
- { "package " : "dill" , "version" : "latest" , "project" : "triton" },
94
- { "package " : "fonttools" , "version" : "latest" , "project" : "triton" },
95
- { "package " : "kiwisolver" , "version" : "latest" , "project" : "triton" },
96
- { "package" : " llnl-hatchet", "version" : "latest" , "project" : "triton" },
97
- { "package " : "matplotlib" , "version" : "latest" , "project" : "triton" },
98
- { "package " : "pandas" , "version" : "latest" , "project" : "triton" },
99
- { "package " : "pydot" , "version" : "latest" , "project" : "triton" },
100
- { "package " : "pyparsing" , "version" : "latest" , "project" : "triton" },
101
- { "package " : "pytz" , "version" : "latest" , "project" : "triton" },
102
- { "package " : "textX" , "version" : "latest" , "project" : "triton" },
103
- { "package " : "tzdata" , "version" : "latest" , "project" : "triton" },
104
- { "package" : " importlib-metadata", "version" : "latest" , "project" : "triton" },
105
- { "package" : " importlib-resources", "version" : "latest" , "project" : "triton" },
106
- { "package " : "zipp" , "version" : "latest" , "project" : "triton" },
107
- { "package " : "aiohttp" , "version" : "latest" , "project" : "torchtune" },
108
- { "package " : "aiosignal" , "version" : "latest" , "project" : "torchtune" },
109
- { "package" : " antlr4-python3-runtime", "version" : "latest" , "project" : "torchtune" },
110
- { "package " : "attrs" , "version" : "latest" , "project" : "torchtune" },
111
- { "package " : "blobfile" , "version" : "latest" , "project" : "torchtune" },
112
- { "package " : "certifi" , "version" : "latest" , "project" : "torchtune" },
113
- { "package" : " charset-normalizer", "version" : "latest" , "project" : "torchtune" },
114
- { "package " : "datasets" , "version" : "latest" , "project" : "torchtune" },
115
- { "package " : "dill" , "version" : "latest" , "project" : "torchtune" },
116
- { "package " : "frozenlist" , "version" : "latest" , "project" : "torchtune" },
117
- { "package" : " huggingface-hub", "version" : "latest" , "project" : "torchtune" },
118
- { "package " : "idna" , "version" : "latest" , "project" : "torchtune" },
119
- { "package " : "lxml" , "version" : "latest" , "project" : "torchtune" },
120
- { "package " : "markupsafe" , "version" : "latest" , "project" : "torchtune" },
121
- { "package " : "multidict" , "version" : "latest" , "project" : "torchtune" },
122
- { "package " : "multiprocess" , "version" : "latest" , "project" : "torchtune" },
123
- { "package " : "omegaconf" , "version" : "latest" , "project" : "torchtune" },
124
- { "package " : "pandas" , "version" : "latest" , "project" : "torchtune" },
125
- { "package " : "pyarrow" , "version" : "latest" , "project" : "torchtune" },
126
- { "package" : " pyarrow-hotfix", "version" : "latest" , "project" : "torchtune" },
127
- { "package " : "pycryptodomex" , "version" : "latest" , "project" : "torchtune" },
128
- { "package" : " python-dateutil", "version" : "latest" , "project" : "torchtune" },
129
- { "package " : "pytz" , "version" : "latest" , "project" : "torchtune" },
130
- { "package " : "pyyaml" , "version" : "latest" , "project" : "torchtune" },
131
- { "package " : "regex" , "version" : "latest" , "project" : "torchtune" },
132
- { "package " : "requests" , "version" : "latest" , "project" : "torchtune" },
133
- { "package " : "safetensors" , "version" : "latest" , "project" : "torchtune" },
134
- { "package " : "sentencepiece" , "version" : "latest" , "project" : "torchtune" },
135
- { "package " : "six" , "version" : "latest" , "project" : "torchtune" },
136
- { "package " : "tiktoken" , "version" : "latest" , "project" : "torchtune" },
137
- { "package " : "tqdm" , "version" : "latest" , "project" : "torchtune" },
138
- { "package " : "tzdata" , "version" : "latest" , "project" : "torchtune" },
139
- { "package " : "urllib3" , "version" : "latest" , "project" : "torchtune" },
140
- { "package " : "xxhash" , "version" : "latest" , "project" : "torchtune" },
141
- { "package " : "yarl" , "version" : "latest" , "project" : "torchtune" },
142
- { "package" : " dpcpp-cpp-rt", "version" : "latest" , "project" : "torch_xpu" },
143
- { "package" : " intel-cmplr-lib-rt", "version" : "latest" , "project" : "torch_xpu" },
144
- { "package" : " intel-cmplr-lib-ur", "version" : "latest" , "project" : "torch_xpu" },
145
- { "package" : " intel-cmplr-lic-rt", "version" : "latest" , "project" : "torch_xpu" },
146
- { "package" : " intel-opencl-rt", "version" : "latest" , "project" : "torch_xpu" },
147
- { "package" : " intel-sycl-rt", "version" : "latest" , "project" : "torch_xpu" },
148
- { "package" : " intel-openmp", "version" : "latest" , "project" : "torch_xpu" },
149
- { "package " : "tcmlib" , "version" : "latest" , "project" : "torch_xpu" },
150
- { "package " : "umf" , "version" : "latest" , "project" : "torch_xpu" },
151
- { "package" : " intel-pti", "version" : "latest" , "project" : "torch_xpu" },
152
- { "package " : "tbb" , "version" : "latest" , "project" : "torch_xpu" },
153
- { "package" : " oneccl-devel", "version" : "latest" , "project" : "torch_xpu" },
154
- { "package " : "oneccl" , "version" : "latest" , "project" : "torch_xpu" },
155
- { "package" : " impi-rt", "version" : "latest" , "project" : "torch_xpu" },
156
- { "package" : " onemkl-sycl-blas", "version" : "latest" , "project" : "torch_xpu" },
157
- { "package" : " onemkl-sycl-dft", "version" : "latest" , "project" : "torch_xpu" },
158
- { "package" : " onemkl-sycl-lapack", "version" : "latest" , "project" : "torch_xpu" },
159
- { "package" : " onemkl-sycl-sparse", "version" : "latest" , "project" : "torch_xpu" },
160
- { "package" : " onemkl-sycl-rng", "version" : "latest" , "project" : "torch_xpu" },
161
- { "package " : "mkl" , "version" : "latest" , "project" : "torch_xpu" },
162
- ]
78
+ "arpeggio " : { "version" : "latest" , "project" : "triton" },
79
+ " caliper-reader": { "version" : "latest" , "project" : "triton" },
80
+ "contourpy " : { "version" : "latest" , "project" : "triton" },
81
+ "cycler " : { "version" : "latest" , "project" : "triton" },
82
+ "dill " : { "version" : "latest" , "project" : "triton" },
83
+ "fonttools " : { "version" : "latest" , "project" : "triton" },
84
+ "kiwisolver " : { "version" : "latest" , "project" : "triton" },
85
+ " llnl-hatchet": { "version" : "latest" , "project" : "triton" },
86
+ "matplotlib " : { "version" : "latest" , "project" : "triton" },
87
+ "pandas " : { "version" : "latest" , "project" : "triton" },
88
+ "pydot " : { "version" : "latest" , "project" : "triton" },
89
+ "pyparsing " : { "version" : "latest" , "project" : "triton" },
90
+ "pytz " : { "version" : "latest" , "project" : "triton" },
91
+ "textX " : { "version" : "latest" , "project" : "triton" },
92
+ "tzdata " : { "version" : "latest" , "project" : "triton" },
93
+ " importlib-metadata": { "version" : "latest" , "project" : "triton" },
94
+ " importlib-resources": { "version" : "latest" , "project" : "triton" },
95
+ "zipp " : { "version" : "latest" , "project" : "triton" },
96
+ "aiohttp " : { "version" : "latest" , "project" : "torchtune" },
97
+ "aiosignal " : { "version" : "latest" , "project" : "torchtune" },
98
+ " antlr4-python3-runtime": { "version" : "latest" , "project" : "torchtune" },
99
+ "attrs " : { "version" : "latest" , "project" : "torchtune" },
100
+ "blobfile " : { "version" : "latest" , "project" : "torchtune" },
101
+ "certifi " : { "version" : "latest" , "project" : "torchtune" },
102
+ " charset-normalizer": { "version" : "latest" , "project" : "torchtune" },
103
+ "datasets " : { "version" : "latest" , "project" : "torchtune" },
104
+ "dill " : { "version" : "latest" , "project" : "torchtune" },
105
+ "frozenlist " : { "version" : "latest" , "project" : "torchtune" },
106
+ " huggingface-hub": { "version" : "latest" , "project" : "torchtune" },
107
+ "idna " : { "version" : "latest" , "project" : "torchtune" },
108
+ "lxml " : { "version" : "latest" , "project" : "torchtune" },
109
+ "markupsafe " : { "version" : "latest" , "project" : "torchtune" },
110
+ "multidict " : { "version" : "latest" , "project" : "torchtune" },
111
+ "multiprocess " : { "version" : "latest" , "project" : "torchtune" },
112
+ "omegaconf " : { "version" : "latest" , "project" : "torchtune" },
113
+ "pandas " : { "version" : "latest" , "project" : "torchtune" },
114
+ "pyarrow " : { "version" : "latest" , "project" : "torchtune" },
115
+ " pyarrow-hotfix": { "version" : "latest" , "project" : "torchtune" },
116
+ "pycryptodomex " : { "version" : "latest" , "project" : "torchtune" },
117
+ " python-dateutil": { "version" : "latest" , "project" : "torchtune" },
118
+ "pytz " : { "version" : "latest" , "project" : "torchtune" },
119
+ "pyyaml " : { "version" : "latest" , "project" : "torchtune" },
120
+ "regex " : { "version" : "latest" , "project" : "torchtune" },
121
+ "requests " : { "version" : "latest" , "project" : "torchtune" },
122
+ "safetensors " : { "version" : "latest" , "project" : "torchtune" },
123
+ "sentencepiece " : { "version" : "latest" , "project" : "torchtune" },
124
+ "six " : { "version" : "latest" , "project" : "torchtune" },
125
+ "tiktoken " : { "version" : "latest" , "project" : "torchtune" },
126
+ "tqdm " : { "version" : "latest" , "project" : "torchtune" },
127
+ "tzdata " : { "version" : "latest" , "project" : "torchtune" },
128
+ "urllib3 " : { "version" : "latest" , "project" : "torchtune" },
129
+ "xxhash " : { "version" : "latest" , "project" : "torchtune" },
130
+ "yarl " : { "version" : "latest" , "project" : "torchtune" },
131
+ " dpcpp-cpp-rt": { "version" : "latest" , "project" : "torch_xpu" },
132
+ " intel-cmplr-lib-rt": { "version" : "latest" , "project" : "torch_xpu" },
133
+ " intel-cmplr-lib-ur": { "version" : "latest" , "project" : "torch_xpu" },
134
+ " intel-cmplr-lic-rt": { "version" : "latest" , "project" : "torch_xpu" },
135
+ " intel-opencl-rt": { "version" : "latest" , "project" : "torch_xpu" },
136
+ " intel-sycl-rt": { "version" : "latest" , "project" : "torch_xpu" },
137
+ " intel-openmp": { "version" : "latest" , "project" : "torch_xpu" },
138
+ "tcmlib " : { "version" : "latest" , "project" : "torch_xpu" },
139
+ "umf " : { "version" : "latest" , "project" : "torch_xpu" },
140
+ " intel-pti": { "version" : "latest" , "project" : "torch_xpu" },
141
+ "tbb " : { "version" : "latest" , "project" : "torch_xpu" },
142
+ " oneccl-devel": { "version" : "latest" , "project" : "torch_xpu" },
143
+ "oneccl " : { "version" : "latest" , "project" : "torch_xpu" },
144
+ " impi-rt": { "version" : "latest" , "project" : "torch_xpu" },
145
+ " onemkl-sycl-blas": { "version" : "latest" , "project" : "torch_xpu" },
146
+ " onemkl-sycl-dft": { "version" : "latest" , "project" : "torch_xpu" },
147
+ " onemkl-sycl-lapack": { "version" : "latest" , "project" : "torch_xpu" },
148
+ " onemkl-sycl-sparse": { "version" : "latest" , "project" : "torch_xpu" },
149
+ " onemkl-sycl-rng": { "version" : "latest" , "project" : "torch_xpu" },
150
+ "mkl " : { "version" : "latest" , "project" : "torch_xpu" },
151
+ }
163
152
164
153
165
154
def download (url : str ) -> bytes :
@@ -265,7 +254,9 @@ def main() -> None:
265
254
266
255
parser = ArgumentParser ("Upload dependent packages to s3://pytorch" )
267
256
# Get unique paths from the packages list
268
- project_paths = list (set (pkg ["project" ] for pkg in PACKAGES_PER_PROJECT ))
257
+ project_paths = list (
258
+ set (pkg_info ["project" ] for pkg_info in PACKAGES_PER_PROJECT .values ())
259
+ )
269
260
parser .add_argument ("--package" , choices = project_paths , default = "torch" )
270
261
parser .add_argument ("--dry-run" , action = "store_true" )
271
262
parser .add_argument ("--only-pypi" , action = "store_true" )
@@ -278,17 +269,19 @@ def main() -> None:
278
269
279
270
for prefix in SUBFOLDERS :
280
271
# Filter packages by the selected project path
281
- selected_packages = [
282
- pkg for pkg in PACKAGES_PER_PROJECT if pkg ["project" ] == args .package
283
- ]
284
- for pkg_info in selected_packages :
285
- if hasattr (pkg_info , "target" ) and pkg_info ["target" ] != "" :
272
+ selected_packages = {
273
+ pkg_name : pkg_info
274
+ for pkg_name , pkg_info in PACKAGES_PER_PROJECT .items ()
275
+ if pkg_info ["project" ] == args .package
276
+ }
277
+ for pkg_name , pkg_info in selected_packages .items ():
278
+ if "target" in pkg_info and pkg_info ["target" ] != "" :
286
279
full_path = f'{ prefix } /{ pkg_info ["target" ]} '
287
280
else :
288
281
full_path = f"{ prefix } "
289
282
290
283
upload_missing_whls (
291
- pkg_info [ "package" ] ,
284
+ pkg_name ,
292
285
full_path ,
293
286
dry_run = args .dry_run ,
294
287
only_pypi = args .only_pypi ,
0 commit comments