Publish Qwen3-Coder v1.0.0 R9700 compiled runtime package
Browse files- .gitattributes +1 -0
- LICENSE +201 -0
- LICENSES/AITER-MIT.txt +21 -0
- LICENSES/AMD-SMI-MIT.txt +19 -0
- LICENSES/Composable-Kernel-MIT.txt +28 -0
- LICENSES/Triton-MIT.txt +23 -0
- LICENSES/flash-linear-attention-MIT.txt +21 -0
- NOTICE.md +25 -0
- QWEN_LICENSE +202 -0
- README.md +158 -0
- SHA256SUMS +16 -0
- THIRD_PARTY_NOTICES.md +28 -0
- container-images.json +10 -0
- overlay/qwen3_coder_moe_w4a16_g32_gfx1201.json +20 -0
- overlay/qwen3_coder_moe_w4a16_g32_gfx1201.so +3 -0
- paiton-hub.json +40 -0
- results.json +558 -0
- serve-docker.sh +105 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
overlay/qwen3_coder_moe_w4a16_g32_gfx1201.so filter=lfs diff=lfs merge=lfs -text
|
LICENSE
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Apache License
|
| 2 |
+
Version 2.0, January 2004
|
| 3 |
+
http://www.apache.org/licenses/
|
| 4 |
+
|
| 5 |
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
| 6 |
+
|
| 7 |
+
1. Definitions.
|
| 8 |
+
|
| 9 |
+
"License" shall mean the terms and conditions for use, reproduction,
|
| 10 |
+
and distribution as defined by Sections 1 through 9 of this document.
|
| 11 |
+
|
| 12 |
+
"Licensor" shall mean the copyright owner or entity authorized by
|
| 13 |
+
the copyright owner that is granting the License.
|
| 14 |
+
|
| 15 |
+
"Legal Entity" shall mean the union of the acting entity and all
|
| 16 |
+
other entities that control, are controlled by, or are under common
|
| 17 |
+
control with that entity. For the purposes of this definition,
|
| 18 |
+
"control" means (i) the power, direct or indirect, to cause the
|
| 19 |
+
direction or management of such entity, whether by contract or
|
| 20 |
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
| 21 |
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
| 22 |
+
|
| 23 |
+
"You" (or "Your") shall mean an individual or Legal Entity
|
| 24 |
+
exercising permissions granted by this License.
|
| 25 |
+
|
| 26 |
+
"Source" form shall mean the preferred form for making modifications,
|
| 27 |
+
including but not limited to software source code, documentation
|
| 28 |
+
source, and configuration files.
|
| 29 |
+
|
| 30 |
+
"Object" form shall mean any form resulting from mechanical
|
| 31 |
+
transformation or translation of a Source form, including but
|
| 32 |
+
not limited to compiled object code, generated documentation,
|
| 33 |
+
and conversions to other media types.
|
| 34 |
+
|
| 35 |
+
"Work" shall mean the work of authorship, whether in Source or
|
| 36 |
+
Object form, made available under the License, as indicated by a
|
| 37 |
+
copyright notice that is included in or attached to the work
|
| 38 |
+
(an example is provided in the Appendix below).
|
| 39 |
+
|
| 40 |
+
"Derivative Works" shall mean any work, whether in Source or Object
|
| 41 |
+
form, that is based on (or derived from) the Work and for which the
|
| 42 |
+
editorial revisions, annotations, elaborations, or other modifications
|
| 43 |
+
represent, as a whole, an original work of authorship. For the purposes
|
| 44 |
+
of this License, Derivative Works shall not include works that remain
|
| 45 |
+
separable from, or merely link (or bind by name) to the interfaces of,
|
| 46 |
+
the Work and Derivative Works thereof.
|
| 47 |
+
|
| 48 |
+
"Contribution" shall mean any work of authorship, including
|
| 49 |
+
the original version of the Work and any modifications or additions
|
| 50 |
+
to that Work or Derivative Works thereof, that is intentionally
|
| 51 |
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
| 52 |
+
or by an individual or Legal Entity authorized to submit on behalf of
|
| 53 |
+
the copyright owner. For the purposes of this definition, "submitted"
|
| 54 |
+
means any form of electronic, verbal, or written communication sent
|
| 55 |
+
to the Licensor or its representatives, including but not limited to
|
| 56 |
+
communication on electronic mailing lists, source code control systems,
|
| 57 |
+
and issue tracking systems that are managed by, or on behalf of, the
|
| 58 |
+
Licensor for the purpose of discussing and improving the Work, but
|
| 59 |
+
excluding communication that is conspicuously marked or otherwise
|
| 60 |
+
designated in writing by the copyright owner as "Not a Contribution."
|
| 61 |
+
|
| 62 |
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
| 63 |
+
on behalf of whom a Contribution has been received by Licensor and
|
| 64 |
+
subsequently incorporated within the Work.
|
| 65 |
+
|
| 66 |
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
| 67 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 68 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 69 |
+
copyright license to reproduce, prepare Derivative Works of,
|
| 70 |
+
publicly display, publicly perform, sublicense, and distribute the
|
| 71 |
+
Work and such Derivative Works in Source or Object form.
|
| 72 |
+
|
| 73 |
+
3. Grant of Patent License. Subject to the terms and conditions of
|
| 74 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 75 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 76 |
+
(except as stated in this section) patent license to make, have made,
|
| 77 |
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
| 78 |
+
where such license applies only to those patent claims licensable
|
| 79 |
+
by such Contributor that are necessarily infringed by their
|
| 80 |
+
Contribution(s) alone or by combination of their Contribution(s)
|
| 81 |
+
with the Work to which such Contribution(s) was submitted. If You
|
| 82 |
+
institute patent litigation against any entity (including a
|
| 83 |
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
| 84 |
+
or a Contribution incorporated within the Work constitutes direct
|
| 85 |
+
or contributory patent infringement, then any patent licenses
|
| 86 |
+
granted to You under this License for that Work shall terminate
|
| 87 |
+
as of the date such litigation is filed.
|
| 88 |
+
|
| 89 |
+
4. Redistribution. You may reproduce and distribute copies of the
|
| 90 |
+
Work or Derivative Works thereof in any medium, with or without
|
| 91 |
+
modifications, and in Source or Object form, provided that You
|
| 92 |
+
meet the following conditions:
|
| 93 |
+
|
| 94 |
+
(a) You must give any other recipients of the Work or
|
| 95 |
+
Derivative Works a copy of this License; and
|
| 96 |
+
|
| 97 |
+
(b) You must cause any modified files to carry prominent notices
|
| 98 |
+
stating that You changed the files; and
|
| 99 |
+
|
| 100 |
+
(c) You must retain, in the Source form of any Derivative Works
|
| 101 |
+
that You distribute, all copyright, patent, trademark, and
|
| 102 |
+
attribution notices from the Source form of the Work,
|
| 103 |
+
excluding those notices that do not pertain to any part of
|
| 104 |
+
the Derivative Works; and
|
| 105 |
+
|
| 106 |
+
(d) If the Work includes a "NOTICE" text file as part of its
|
| 107 |
+
distribution, then any Derivative Works that You distribute must
|
| 108 |
+
include a readable copy of the attribution notices contained
|
| 109 |
+
within such NOTICE file, excluding those notices that do not
|
| 110 |
+
pertain to any part of the Derivative Works, in at least one
|
| 111 |
+
of the following places: within a NOTICE text file distributed
|
| 112 |
+
as part of the Derivative Works; within the Source form or
|
| 113 |
+
documentation, if provided along with the Derivative Works; or,
|
| 114 |
+
within a display generated by the Derivative Works, if and
|
| 115 |
+
wherever such third-party notices normally appear. The contents
|
| 116 |
+
of the NOTICE file are for informational purposes only and
|
| 117 |
+
do not modify the License. You may add Your own attribution
|
| 118 |
+
notices within Derivative Works that You distribute, alongside
|
| 119 |
+
or as an addendum to the NOTICE text from the Work, provided
|
| 120 |
+
that such additional attribution notices cannot be construed
|
| 121 |
+
as modifying the License.
|
| 122 |
+
|
| 123 |
+
You may add Your own copyright statement to Your modifications and
|
| 124 |
+
may provide additional or different license terms and conditions
|
| 125 |
+
for use, reproduction, or distribution of Your modifications, or
|
| 126 |
+
for any such Derivative Works as a whole, provided Your use,
|
| 127 |
+
reproduction, and distribution of the Work otherwise complies with
|
| 128 |
+
the conditions stated in this License.
|
| 129 |
+
|
| 130 |
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
| 131 |
+
any Contribution intentionally submitted for inclusion in the Work
|
| 132 |
+
by You to the Licensor shall be under the terms and conditions of
|
| 133 |
+
this License, without any additional terms or conditions.
|
| 134 |
+
Notwithstanding the above, nothing herein shall supersede or modify
|
| 135 |
+
the terms of any separate license agreement you may have executed
|
| 136 |
+
with Licensor regarding such Contributions.
|
| 137 |
+
|
| 138 |
+
6. Trademarks. This License does not grant permission to use the trade
|
| 139 |
+
names, trademarks, service marks, or product names of the Licensor,
|
| 140 |
+
except as required for reasonable and customary use in describing the
|
| 141 |
+
origin of the Work and reproducing the content of the NOTICE file.
|
| 142 |
+
|
| 143 |
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
| 144 |
+
agreed to in writing, Licensor provides the Work (and each
|
| 145 |
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
| 146 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
| 147 |
+
implied, including, without limitation, any warranties or conditions
|
| 148 |
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
| 149 |
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
| 150 |
+
appropriateness of using or redistributing the Work and assume any
|
| 151 |
+
risks associated with Your exercise of permissions under this License.
|
| 152 |
+
|
| 153 |
+
8. Limitation of Liability. In no event and under no legal theory,
|
| 154 |
+
whether in tort (including negligence), contract, or otherwise,
|
| 155 |
+
unless required by applicable law (such as deliberate and grossly
|
| 156 |
+
negligent acts) or agreed to in writing, shall any Contributor be
|
| 157 |
+
liable to You for damages, including any direct, indirect, special,
|
| 158 |
+
incidental, or consequential damages of any character arising as a
|
| 159 |
+
result of this License or out of the use or inability to use the
|
| 160 |
+
Work (including but not limited to damages for loss of goodwill,
|
| 161 |
+
work stoppage, computer failure or malfunction, or any and all
|
| 162 |
+
other commercial damages or losses), even if such Contributor
|
| 163 |
+
has been advised of the possibility of such damages.
|
| 164 |
+
|
| 165 |
+
9. Accepting Warranty or Additional Liability. While redistributing
|
| 166 |
+
the Work or Derivative Works thereof, You may choose to offer,
|
| 167 |
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
| 168 |
+
or other liability obligations and/or rights consistent with this
|
| 169 |
+
License. However, in accepting such obligations, You may act only
|
| 170 |
+
on Your own behalf and on Your sole responsibility, not on behalf
|
| 171 |
+
of any other Contributor, and only if You agree to indemnify,
|
| 172 |
+
defend, and hold each Contributor harmless for any liability
|
| 173 |
+
incurred by, or claims asserted against, such Contributor by reason
|
| 174 |
+
of your accepting any such warranty or additional liability.
|
| 175 |
+
|
| 176 |
+
END OF TERMS AND CONDITIONS
|
| 177 |
+
|
| 178 |
+
APPENDIX: How to apply the Apache License to your work.
|
| 179 |
+
|
| 180 |
+
To apply the Apache License to your work, attach the following
|
| 181 |
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
| 182 |
+
replaced with your own identifying information. (Don't include
|
| 183 |
+
the brackets!) The text should be enclosed in the appropriate
|
| 184 |
+
comment syntax for the file format. We also recommend that a
|
| 185 |
+
file or class name and description of purpose be included on the
|
| 186 |
+
same "printed page" as the copyright notice for easier
|
| 187 |
+
identification within third-party archives.
|
| 188 |
+
|
| 189 |
+
Copyright [yyyy] [name of copyright owner]
|
| 190 |
+
|
| 191 |
+
Licensed under the Apache License, Version 2.0 (the "License");
|
| 192 |
+
you may not use this file except in compliance with the License.
|
| 193 |
+
You may obtain a copy of the License at
|
| 194 |
+
|
| 195 |
+
http://www.apache.org/licenses/LICENSE-2.0
|
| 196 |
+
|
| 197 |
+
Unless required by applicable law or agreed to in writing, software
|
| 198 |
+
distributed under the License is distributed on an "AS IS" BASIS,
|
| 199 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 200 |
+
See the License for the specific language governing permissions and
|
| 201 |
+
limitations under the License.
|
LICENSES/AITER-MIT.txt
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Copyright © Advanced Micro Devices, Inc. All rights reserved.
|
| 2 |
+
|
| 3 |
+
MIT License
|
| 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.
|
LICENSES/AMD-SMI-MIT.txt
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Copyright (c) Advanced Micro Devices, Inc. All rights reserved.
|
| 2 |
+
|
| 3 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 4 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 5 |
+
in the Software without restriction, including without limitation the rights
|
| 6 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 7 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 8 |
+
furnished to do so, subject to the following conditions:
|
| 9 |
+
|
| 10 |
+
The above copyright notice and this permission notice shall be included in
|
| 11 |
+
all copies or substantial portions of the Software.
|
| 12 |
+
|
| 13 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 14 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 15 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 16 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 17 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 18 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
| 19 |
+
THE SOFTWARE.
|
LICENSES/Composable-Kernel-MIT.txt
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Copyright (c) 2018- , Advanced Micro Devices, Inc. (Chao Liu, Jing Zhang)
|
| 2 |
+
Copyright (c) 2019- , Advanced Micro Devices, Inc. (Letao Qin, Qianfeng Zhang, Liang Huang, Shaojie Wang)
|
| 3 |
+
Copyright (c) 2022- , Advanced Micro Devices, Inc. (Anthony Chang, Chunyu Lai, Illia Silin, Adam Osewski, Poyen Chen, Jehandad Khan)
|
| 4 |
+
Copyright (c) 2019-2021, Advanced Micro Devices, Inc. (Hanwen Chang)
|
| 5 |
+
Copyright (c) 2019-2020, Advanced Micro Devices, Inc. (Tejash Shah)
|
| 6 |
+
Copyright (c) 2020 , Advanced Micro Devices, Inc. (Xiaoyan Zhou)
|
| 7 |
+
Copyright (c) 2021-2022, Advanced Micro Devices, Inc. (Jianfeng Yan)
|
| 8 |
+
|
| 9 |
+
SPDX-License-Identifier: MIT
|
| 10 |
+
Copyright (c) 2018-2025, Advanced Micro Devices, Inc. All rights reserved.
|
| 11 |
+
|
| 12 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 13 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 14 |
+
in the Software without restriction, including without limitation the rights
|
| 15 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 16 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 17 |
+
furnished to do so, subject to the following conditions:
|
| 18 |
+
|
| 19 |
+
The above copyright notice and this permission notice shall be included in all
|
| 20 |
+
copies or substantial portions of the Software.
|
| 21 |
+
|
| 22 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 23 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 24 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 25 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 26 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 27 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 28 |
+
SOFTWARE.
|
LICENSES/Triton-MIT.txt
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
* Copyright 2018-2020 Philippe Tillet
|
| 3 |
+
* Copyright 2020-2022 OpenAI
|
| 4 |
+
*
|
| 5 |
+
* Permission is hereby granted, free of charge, to any person obtaining
|
| 6 |
+
* a copy of this software and associated documentation files
|
| 7 |
+
* (the "Software"), to deal in the Software without restriction,
|
| 8 |
+
* including without limitation the rights to use, copy, modify, merge,
|
| 9 |
+
* publish, distribute, sublicense, and/or sell copies of the Software,
|
| 10 |
+
* and to permit persons to whom the Software is furnished to do so,
|
| 11 |
+
* subject to the following conditions:
|
| 12 |
+
*
|
| 13 |
+
* The above copyright notice and this permission notice shall be
|
| 14 |
+
* included in all copies or substantial portions of the Software.
|
| 15 |
+
*
|
| 16 |
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
| 17 |
+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
| 18 |
+
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
| 19 |
+
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
| 20 |
+
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
| 21 |
+
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
| 22 |
+
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
| 23 |
+
*/
|
LICENSES/flash-linear-attention-MIT.txt
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2023-2025, Songlin Yang, Yu Zhang
|
| 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.
|
NOTICE.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# License and provenance
|
| 2 |
+
|
| 3 |
+
- Qwen3-Coder-30B-A3B-Instruct: Qwen, Apache-2.0. Official model/config examined
|
| 4 |
+
at revision `b2cff646eb4bb1d68355c01b18ae02e7cf42d120`.
|
| 5 |
+
- Quantized checkpoint: cyankiwi/Qwen3-Coder-30B-A3B-Instruct-AWQ-4bit,
|
| 6 |
+
revision `4bd30395b72ea6045edd04806c4fea448d4467b3`, Apache-2.0 as declared
|
| 7 |
+
by its publisher. The quantizer does not identify the exact upstream weight
|
| 8 |
+
revision. No weight conversion is performed by this package.
|
| 9 |
+
- Paiton runtime integration and benchmark scripts: repository Apache-2.0
|
| 10 |
+
license. Only compiled Paiton artifacts are included in the separate local
|
| 11 |
+
overlay; private compiler source is excluded.
|
| 12 |
+
- The compiled runtime includes AITemplate-derived components (Apache-2.0),
|
| 13 |
+
and links against the ROCm libraries in the base image. Existing repository
|
| 14 |
+
third-party notices and license texts remain applicable.
|
| 15 |
+
- AMD SMI runtime package and `libamd_smi.so` in the container: Advanced Micro
|
| 16 |
+
Devices, MIT. Its complete license is retained here in
|
| 17 |
+
`LICENSES/AMD-SMI-MIT.txt` and in the container's AMD SMI package.
|
| 18 |
+
- Base image is pinned to
|
| 19 |
+
`ghcr.io/eliovp/paiton-vllm-plugin@sha256:c56baf54aca1ad229829c1de26e8792806608e65ee9d06ee210b79cd49f70bc9`.
|
| 20 |
+
It supplies vLLM, PyTorch, Triton, Transformers and ROCm; their individual
|
| 21 |
+
licenses and notices continue to apply.
|
| 22 |
+
|
| 23 |
+
No model weights, access tokens or private compiler source are copied into the
|
| 24 |
+
container build context. The model is downloaded separately into persistent
|
| 25 |
+
user storage from its pinned public Hugging Face revision.
|
QWEN_LICENSE
ADDED
|
@@ -0,0 +1,202 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
Apache License
|
| 3 |
+
Version 2.0, January 2004
|
| 4 |
+
http://www.apache.org/licenses/
|
| 5 |
+
|
| 6 |
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
| 7 |
+
|
| 8 |
+
1. Definitions.
|
| 9 |
+
|
| 10 |
+
"License" shall mean the terms and conditions for use, reproduction,
|
| 11 |
+
and distribution as defined by Sections 1 through 9 of this document.
|
| 12 |
+
|
| 13 |
+
"Licensor" shall mean the copyright owner or entity authorized by
|
| 14 |
+
the copyright owner that is granting the License.
|
| 15 |
+
|
| 16 |
+
"Legal Entity" shall mean the union of the acting entity and all
|
| 17 |
+
other entities that control, are controlled by, or are under common
|
| 18 |
+
control with that entity. For the purposes of this definition,
|
| 19 |
+
"control" means (i) the power, direct or indirect, to cause the
|
| 20 |
+
direction or management of such entity, whether by contract or
|
| 21 |
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
| 22 |
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
| 23 |
+
|
| 24 |
+
"You" (or "Your") shall mean an individual or Legal Entity
|
| 25 |
+
exercising permissions granted by this License.
|
| 26 |
+
|
| 27 |
+
"Source" form shall mean the preferred form for making modifications,
|
| 28 |
+
including but not limited to software source code, documentation
|
| 29 |
+
source, and configuration files.
|
| 30 |
+
|
| 31 |
+
"Object" form shall mean any form resulting from mechanical
|
| 32 |
+
transformation or translation of a Source form, including but
|
| 33 |
+
not limited to compiled object code, generated documentation,
|
| 34 |
+
and conversions to other media types.
|
| 35 |
+
|
| 36 |
+
"Work" shall mean the work of authorship, whether in Source or
|
| 37 |
+
Object form, made available under the License, as indicated by a
|
| 38 |
+
copyright notice that is included in or attached to the work
|
| 39 |
+
(an example is provided in the Appendix below).
|
| 40 |
+
|
| 41 |
+
"Derivative Works" shall mean any work, whether in Source or Object
|
| 42 |
+
form, that is based on (or derived from) the Work and for which the
|
| 43 |
+
editorial revisions, annotations, elaborations, or other modifications
|
| 44 |
+
represent, as a whole, an original work of authorship. For the purposes
|
| 45 |
+
of this License, Derivative Works shall not include works that remain
|
| 46 |
+
separable from, or merely link (or bind by name) to the interfaces of,
|
| 47 |
+
the Work and Derivative Works thereof.
|
| 48 |
+
|
| 49 |
+
"Contribution" shall mean any work of authorship, including
|
| 50 |
+
the original version of the Work and any modifications or additions
|
| 51 |
+
to that Work or Derivative Works thereof, that is intentionally
|
| 52 |
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
| 53 |
+
or by an individual or Legal Entity authorized to submit on behalf of
|
| 54 |
+
the copyright owner. For the purposes of this definition, "submitted"
|
| 55 |
+
means any form of electronic, verbal, or written communication sent
|
| 56 |
+
to the Licensor or its representatives, including but not limited to
|
| 57 |
+
communication on electronic mailing lists, source code control systems,
|
| 58 |
+
and issue tracking systems that are managed by, or on behalf of, the
|
| 59 |
+
Licensor for the purpose of discussing and improving the Work, but
|
| 60 |
+
excluding communication that is conspicuously marked or otherwise
|
| 61 |
+
designated in writing by the copyright owner as "Not a Contribution."
|
| 62 |
+
|
| 63 |
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
| 64 |
+
on behalf of whom a Contribution has been received by Licensor and
|
| 65 |
+
subsequently incorporated within the Work.
|
| 66 |
+
|
| 67 |
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
| 68 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 69 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 70 |
+
copyright license to reproduce, prepare Derivative Works of,
|
| 71 |
+
publicly display, publicly perform, sublicense, and distribute the
|
| 72 |
+
Work and such Derivative Works in Source or Object form.
|
| 73 |
+
|
| 74 |
+
3. Grant of Patent License. Subject to the terms and conditions of
|
| 75 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 76 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 77 |
+
(except as stated in this section) patent license to make, have made,
|
| 78 |
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
| 79 |
+
where such license applies only to those patent claims licensable
|
| 80 |
+
by such Contributor that are necessarily infringed by their
|
| 81 |
+
Contribution(s) alone or by combination of their Contribution(s)
|
| 82 |
+
with the Work to which such Contribution(s) was submitted. If You
|
| 83 |
+
institute patent litigation against any entity (including a
|
| 84 |
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
| 85 |
+
or a Contribution incorporated within the Work constitutes direct
|
| 86 |
+
or contributory patent infringement, then any patent licenses
|
| 87 |
+
granted to You under this License for that Work shall terminate
|
| 88 |
+
as of the date such litigation is filed.
|
| 89 |
+
|
| 90 |
+
4. Redistribution. You may reproduce and distribute copies of the
|
| 91 |
+
Work or Derivative Works thereof in any medium, with or without
|
| 92 |
+
modifications, and in Source or Object form, provided that You
|
| 93 |
+
meet the following conditions:
|
| 94 |
+
|
| 95 |
+
(a) You must give any other recipients of the Work or
|
| 96 |
+
Derivative Works a copy of this License; and
|
| 97 |
+
|
| 98 |
+
(b) You must cause any modified files to carry prominent notices
|
| 99 |
+
stating that You changed the files; and
|
| 100 |
+
|
| 101 |
+
(c) You must retain, in the Source form of any Derivative Works
|
| 102 |
+
that You distribute, all copyright, patent, trademark, and
|
| 103 |
+
attribution notices from the Source form of the Work,
|
| 104 |
+
excluding those notices that do not pertain to any part of
|
| 105 |
+
the Derivative Works; and
|
| 106 |
+
|
| 107 |
+
(d) If the Work includes a "NOTICE" text file as part of its
|
| 108 |
+
distribution, then any Derivative Works that You distribute must
|
| 109 |
+
include a readable copy of the attribution notices contained
|
| 110 |
+
within such NOTICE file, excluding those notices that do not
|
| 111 |
+
pertain to any part of the Derivative Works, in at least one
|
| 112 |
+
of the following places: within a NOTICE text file distributed
|
| 113 |
+
as part of the Derivative Works; within the Source form or
|
| 114 |
+
documentation, if provided along with the Derivative Works; or,
|
| 115 |
+
within a display generated by the Derivative Works, if and
|
| 116 |
+
wherever such third-party notices normally appear. The contents
|
| 117 |
+
of the NOTICE file are for informational purposes only and
|
| 118 |
+
do not modify the License. You may add Your own attribution
|
| 119 |
+
notices within Derivative Works that You distribute, alongside
|
| 120 |
+
or as an addendum to the NOTICE text from the Work, provided
|
| 121 |
+
that such additional attribution notices cannot be construed
|
| 122 |
+
as modifying the License.
|
| 123 |
+
|
| 124 |
+
You may add Your own copyright statement to Your modifications and
|
| 125 |
+
may provide additional or different license terms and conditions
|
| 126 |
+
for use, reproduction, or distribution of Your modifications, or
|
| 127 |
+
for any such Derivative Works as a whole, provided Your use,
|
| 128 |
+
reproduction, and distribution of the Work otherwise complies with
|
| 129 |
+
the conditions stated in this License.
|
| 130 |
+
|
| 131 |
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
| 132 |
+
any Contribution intentionally submitted for inclusion in the Work
|
| 133 |
+
by You to the Licensor shall be under the terms and conditions of
|
| 134 |
+
this License, without any additional terms or conditions.
|
| 135 |
+
Notwithstanding the above, nothing herein shall supersede or modify
|
| 136 |
+
the terms of any separate license agreement you may have executed
|
| 137 |
+
with Licensor regarding such Contributions.
|
| 138 |
+
|
| 139 |
+
6. Trademarks. This License does not grant permission to use the trade
|
| 140 |
+
names, trademarks, service marks, or product names of the Licensor,
|
| 141 |
+
except as required for reasonable and customary use in describing the
|
| 142 |
+
origin of the Work and reproducing the content of the NOTICE file.
|
| 143 |
+
|
| 144 |
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
| 145 |
+
agreed to in writing, Licensor provides the Work (and each
|
| 146 |
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
| 147 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
| 148 |
+
implied, including, without limitation, any warranties or conditions
|
| 149 |
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
| 150 |
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
| 151 |
+
appropriateness of using or redistributing the Work and assume any
|
| 152 |
+
risks associated with Your exercise of permissions under this License.
|
| 153 |
+
|
| 154 |
+
8. Limitation of Liability. In no event and under no legal theory,
|
| 155 |
+
whether in tort (including negligence), contract, or otherwise,
|
| 156 |
+
unless required by applicable law (such as deliberate and grossly
|
| 157 |
+
negligent acts) or agreed to in writing, shall any Contributor be
|
| 158 |
+
liable to You for damages, including any direct, indirect, special,
|
| 159 |
+
incidental, or consequential damages of any character arising as a
|
| 160 |
+
result of this License or out of the use or inability to use the
|
| 161 |
+
Work (including but not limited to damages for loss of goodwill,
|
| 162 |
+
work stoppage, computer failure or malfunction, or any and all
|
| 163 |
+
other commercial damages or losses), even if such Contributor
|
| 164 |
+
has been advised of the possibility of such damages.
|
| 165 |
+
|
| 166 |
+
9. Accepting Warranty or Additional Liability. While redistributing
|
| 167 |
+
the Work or Derivative Works thereof, You may choose to offer,
|
| 168 |
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
| 169 |
+
or other liability obligations and/or rights consistent with this
|
| 170 |
+
License. However, in accepting such obligations, You may act only
|
| 171 |
+
on Your own behalf and on Your sole responsibility, not on behalf
|
| 172 |
+
of any other Contributor, and only if You agree to indemnify,
|
| 173 |
+
defend, and hold each Contributor harmless for any liability
|
| 174 |
+
incurred by, or claims asserted against, such Contributor by reason
|
| 175 |
+
of your accepting any such warranty or additional liability.
|
| 176 |
+
|
| 177 |
+
END OF TERMS AND CONDITIONS
|
| 178 |
+
|
| 179 |
+
APPENDIX: How to apply the Apache License to your work.
|
| 180 |
+
|
| 181 |
+
To apply the Apache License to your work, attach the following
|
| 182 |
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
| 183 |
+
replaced with your own identifying information. (Don't include
|
| 184 |
+
the brackets!) The text should be enclosed in the appropriate
|
| 185 |
+
comment syntax for the file format. We also recommend that a
|
| 186 |
+
file or class name and description of purpose be included on the
|
| 187 |
+
same "printed page" as the copyright notice for easier
|
| 188 |
+
identification within third-party archives.
|
| 189 |
+
|
| 190 |
+
Copyright 2024 Alibaba Cloud
|
| 191 |
+
|
| 192 |
+
Licensed under the Apache License, Version 2.0 (the "License");
|
| 193 |
+
you may not use this file except in compliance with the License.
|
| 194 |
+
You may obtain a copy of the License at
|
| 195 |
+
|
| 196 |
+
http://www.apache.org/licenses/LICENSE-2.0
|
| 197 |
+
|
| 198 |
+
Unless required by applicable law or agreed to in writing, software
|
| 199 |
+
distributed under the License is distributed on an "AS IS" BASIS,
|
| 200 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 201 |
+
See the License for the specific language governing permissions and
|
| 202 |
+
limitations under the License.
|
README.md
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
base_model: cyankiwi/Qwen3-Coder-30B-A3B-Instruct-AWQ-4bit
|
| 4 |
+
base_model_relation: quantized
|
| 5 |
+
library_name: paiton
|
| 6 |
+
pipeline_tag: text-generation
|
| 7 |
+
inference: false
|
| 8 |
+
tags:
|
| 9 |
+
- paiton
|
| 10 |
+
- amd
|
| 11 |
+
- rocm
|
| 12 |
+
- rdna4
|
| 13 |
+
- gfx1201
|
| 14 |
+
- compiled-model
|
| 15 |
+
- code
|
| 16 |
+
---
|
| 17 |
+
|
| 18 |
+
# Qwen3-Coder 30B with Paiton on R9700
|
| 19 |
+
|
| 20 |
+
A ready-to-run coding release for one **AMD Radeon AI PRO R9700, 32 GB**.
|
| 21 |
+
Use terminal chat or connect a coding client to the local OpenAI-compatible API.
|
| 22 |
+
|
| 23 |
+
This Hub repo hosts the **compiled Paiton artifact, manifest, launcher and
|
| 24 |
+
release information**. It uses the same executable artifact as the published
|
| 25 |
+
v1.0.0 container. The container fetches the pinned 18.1 GB quantized checkpoint
|
| 26 |
+
from [cyankiwi](https://huggingface.co/cyankiwi/Qwen3-Coder-30B-A3B-Instruct-AWQ-4bit/tree/4bd30395b72ea6045edd04806c4fea448d4467b3)
|
| 27 |
+
and caches it locally. No model weights or private compiler source are hosted
|
| 28 |
+
here. This is a Paiton runtime package, not a Transformers checkpoint that
|
| 29 |
+
can be loaded by passing this repository name to `from_pretrained`.
|
| 30 |
+
|
| 31 |
+
**Version:** v1.0.0 · **GPU:** gfx1201 · **Context:** 4,096 tokens including output
|
| 32 |
+
· **Concurrent sequences:** 1 or 2 · **Precision:** INT4 G32 / BF16 activations
|
| 33 |
+
|
| 34 |
+
## Download from Hugging Face and start coding
|
| 35 |
+
|
| 36 |
+
With Linux, Docker, a working AMD GPU driver and the Hugging Face CLI:
|
| 37 |
+
|
| 38 |
+
```bash
|
| 39 |
+
hf download EliovpAI/Qwen3-Coder-30B-A3B-Instruct-AWQ-4bit-Paiton-RDNA4 \
|
| 40 |
+
--revision v1.0.0 --local-dir ./paiton-qwen3-coder
|
| 41 |
+
bash ./paiton-qwen3-coder/serve-docker.sh --chat
|
| 42 |
+
```
|
| 43 |
+
|
| 44 |
+
Install the CLI with `python3 -m pip install huggingface_hub` if needed.
|
| 45 |
+
The launcher pulls the prebuilt image, starts the server and opens chat after
|
| 46 |
+
it is ready. No local compiler or container build is needed. The default cache
|
| 47 |
+
is `~/.cache/paiton`; set `PAITON_CACHE_DIR` to choose another directory.
|
| 48 |
+
Use `/reset` for a new conversation and `/quit` to exit chat. The API stays
|
| 49 |
+
running; stop it with `docker stop paiton-qwen3-coder`.
|
| 50 |
+
|
| 51 |
+
For a download without the HF CLI, use the
|
| 52 |
+
[ready-to-run archive](https://github.com/Eliovp-BV/paiton-vllm-plugin/releases/download/qwen3-coder-30b-awq-rdna4-v1.0.0/paiton-qwen3-coder-r9700-v1.0.0.tar.gz)
|
| 53 |
+
and run `./run.sh --chat` after extracting it.
|
| 54 |
+
|
| 55 |
+
## Coding clients and API
|
| 56 |
+
|
| 57 |
+
| Client setting | Value |
|
| 58 |
+
| --- | --- |
|
| 59 |
+
| Provider | OpenAI-compatible |
|
| 60 |
+
| Base URL | `http://127.0.0.1:8010/v1` |
|
| 61 |
+
| Model | `qwen3-coder` |
|
| 62 |
+
| API key if the client requires a value | `local` |
|
| 63 |
+
| Context budget | `4096`, including output |
|
| 64 |
+
| Suggested maximum output | `1024` |
|
| 65 |
+
|
| 66 |
+
The endpoint is bound to localhost and needs no authentication. Ordinary chat,
|
| 67 |
+
streaming and automatic function tool calls are enabled. Both ordinary and
|
| 68 |
+
streamed tool-call arguments were checked with the published runtime. Use
|
| 69 |
+
focused functions, files and coding questions; whole-repository agent workloads
|
| 70 |
+
and long-context quality are not qualified.
|
| 71 |
+
|
| 72 |
+
```bash
|
| 73 |
+
curl http://127.0.0.1:8010/v1/chat/completions \
|
| 74 |
+
-H 'Content-Type: application/json' \
|
| 75 |
+
-d '{"model":"qwen3-coder","messages":[{"role":"user","content":"Write a Python binary search with tests."}],"max_tokens":1024,"temperature":0}'
|
| 76 |
+
```
|
| 77 |
+
|
| 78 |
+
Omit `--chat` to start only the API. `--offline` requires the pinned checkpoint
|
| 79 |
+
in the cache. `--download-only` populates the cache without loading the GPU.
|
| 80 |
+
Use `--stock` for the stock comparison; stop the existing server before changing
|
| 81 |
+
modes. See the [complete guide](https://github.com/Eliovp-BV/paiton-vllm-plugin/blob/main/models/Qwen3-Coder-30B/README.md)
|
| 82 |
+
for port, container-name and cache options.
|
| 83 |
+
|
| 84 |
+
## Hardware, performance and quality
|
| 85 |
+
|
| 86 |
+
The tested machine had an R9700, 16 GB host RAM with 4 GB swap, an i5-8400 and
|
| 87 |
+
AMD driver 6.19.14.31400000. Reserve at least **30 GB free disk** for weights,
|
| 88 |
+
the roughly 5.1 GB image and caches. Model loading took about 46 seconds;
|
| 89 |
+
cached startup takes roughly two minutes, with extra time for fresh compilation
|
| 90 |
+
caches. The first weight download is separate. Sampled warm GPU usage peaked
|
| 91 |
+
near **20.1 GiB**, with the weights fully resident on the GPU.
|
| 92 |
+
|
| 93 |
+
| Matched concurrency | Stock output tokens/s | Paiton output tokens/s | Gain |
|
| 94 |
+
| --- | ---: | ---: | ---: |
|
| 95 |
+
| 1 | 104.42 | 126.68 | 21.3% |
|
| 96 |
+
| 2 | 101.61 | 172.82 | 70.1% |
|
| 97 |
+
|
| 98 |
+
These are the already-published fixed short-workload results: two measured
|
| 99 |
+
runs of 16 requests per engine/setting, 229–241 actual input tokens and exactly
|
| 100 |
+
256 output tokens. All 128 measured requests completed with matching counts.
|
| 101 |
+
Mean request latency fell from 2.451 to 2.020 seconds at concurrency 1 and
|
| 102 |
+
from 5.038 to 2.961 seconds at concurrency 2. This comparison uses the fastest
|
| 103 |
+
stock configuration tested, not every possible checkpoint or runtime.
|
| 104 |
+
|
| 105 |
+
Both engines passed four executable coding checks and scored 7/8 on the small
|
| 106 |
+
quality suite. Both failed the JSON sorting check by returning strings instead
|
| 107 |
+
of numbers. Numerical and generated-text differences remain; the suite does
|
| 108 |
+
not establish comprehensive quality parity. No long-context, higher-concurrency,
|
| 109 |
+
LoRA or speculative-decoding performance is qualified. No new performance
|
| 110 |
+
claim is introduced by publishing these files on Hugging Face.
|
| 111 |
+
|
| 112 |
+
[Full measurements, latency definitions and limitations](https://github.com/Eliovp-BV/paiton-vllm-plugin/blob/9148505697c70ed3e0a68f298ca6860579db0fbb/models/Qwen3-Coder-30B/BENCHMARKS.md)
|
| 113 |
+
· [Reproduction commands](https://github.com/Eliovp-BV/paiton-vllm-plugin/blob/main/models/Qwen3-Coder-30B/REPRODUCE.md)
|
| 114 |
+
|
| 115 |
+
## Artifact use and provenance
|
| 116 |
+
|
| 117 |
+
The normal launcher uses the identical artifact already inside the container.
|
| 118 |
+
For manual use of the downloaded Hub artifact, start the image with this
|
| 119 |
+
read-only mount and artifact path:
|
| 120 |
+
|
| 121 |
+
```bash
|
| 122 |
+
docker run -d --name paiton-qwen3-coder \
|
| 123 |
+
--device /dev/kfd --device /dev/dri --group-add video --ipc=host \
|
| 124 |
+
-p 127.0.0.1:8010:8010 -v paiton-qwen3-coder-cache:/models/cache \
|
| 125 |
+
-v "$PWD/paiton-qwen3-coder/overlay:/models/paiton-overlay:ro" \
|
| 126 |
+
-e PAITON_QWEN3_CODER_ARTIFACT=/models/paiton-overlay/qwen3_coder_moe_w4a16_g32_gfx1201.so \
|
| 127 |
+
ghcr.io/eliovp/paiton-vllm-plugin:qwen3-coder-30b-awq-rdna4-v1.0.0
|
| 128 |
+
```
|
| 129 |
+
|
| 130 |
+
Keep the adjacent `.json` manifest with the `.so`. The runtime checks the
|
| 131 |
+
artifact hash and GPU architecture before loading it. The immutable image is:
|
| 132 |
+
|
| 133 |
+
`ghcr.io/eliovp/paiton-vllm-plugin@sha256:fb47f4ab6073da943e553849985c81326e33b425e1017f97f3f79fad09586a8e`
|
| 134 |
+
|
| 135 |
+
The checkpoint is pinned to
|
| 136 |
+
`cyankiwi/Qwen3-Coder-30B-A3B-Instruct-AWQ-4bit` revision
|
| 137 |
+
`4bd30395b72ea6045edd04806c4fea448d4467b3`, with compressed-tensors symmetric
|
| 138 |
+
INT4 groups of 32 and BF16 activations. It derives from the official
|
| 139 |
+
[Qwen3-Coder-30B-A3B-Instruct](https://huggingface.co/Qwen/Qwen3-Coder-30B-A3B-Instruct).
|
| 140 |
+
The quantizer does not identify its exact upstream weight revision. The Hub
|
| 141 |
+
quantization relationship associates this runtime package with that checkpoint;
|
| 142 |
+
this release performs no additional weight quantization.
|
| 143 |
+
|
| 144 |
+
[SHA256SUMS](SHA256SUMS) covers the package files and
|
| 145 |
+
[paiton-hub.json](paiton-hub.json) records artifact and runtime provenance.
|
| 146 |
+
The stack uses HIP 7.14.60850, PyTorch 2.12.0+rocm7.14.0, Transformers 5.15.1,
|
| 147 |
+
and vLLM commit `39bd959b582c85e78e7e0326d49042ce7c3c07ed`.
|
| 148 |
+
|
| 149 |
+
## Licenses and links
|
| 150 |
+
|
| 151 |
+
[Apache-2.0](LICENSE), [Qwen license](QWEN_LICENSE),
|
| 152 |
+
[component notices](THIRD_PARTY_NOTICES.md), [model provenance](NOTICE.md)
|
| 153 |
+
and [retained license texts](LICENSES/) accompany this package. Original
|
| 154 |
+
checkpoint terms continue to apply to weights fetched from the publisher.
|
| 155 |
+
|
| 156 |
+
[Public runtime](https://github.com/Eliovp-BV/paiton-vllm-plugin) ·
|
| 157 |
+
[Release files](https://github.com/Eliovp-BV/paiton-vllm-plugin/releases/tag/qwen3-coder-30b-awq-rdna4-v1.0.0) ·
|
| 158 |
+
[Paiton](https://eliovp.com/products/paiton)
|
SHA256SUMS
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE
|
| 2 |
+
0baca809927cad448401b252ce3bae12687c2987597ad7088cf3423f872d5bcd LICENSES/AITER-MIT.txt
|
| 3 |
+
91452fe01aabb20286da0b0f4db72bec60f14beb85926befcee56814a5a09337 LICENSES/AMD-SMI-MIT.txt
|
| 4 |
+
20f3b83dfda01bd18d285e0edbb9d044be6dde04cdf76a1ec18d9fc7127936bf LICENSES/Composable-Kernel-MIT.txt
|
| 5 |
+
92640fb97222fd0a698ff28ce0c3782c172623f8d6c609b557636a80f28fb946 LICENSES/Triton-MIT.txt
|
| 6 |
+
1350bfbef13ce4d3d3bdaa2f1fc4b1d1117d846732a2a62f891a67f3d5356d0d LICENSES/flash-linear-attention-MIT.txt
|
| 7 |
+
63423c33f01c4e5f1cad2a64726ad4bdff0061f52005c4de1daa7e52179c58a7 NOTICE.md
|
| 8 |
+
832dd9e00a68dd83b3c3fb9f5588dad7dcf337a0db50f7d9483f310cd292e92e QWEN_LICENSE
|
| 9 |
+
cf5a73955b760488ddfb6a4c999f2aab36788a0e1ff0bcf0f00c18ce14d58df4 README.md
|
| 10 |
+
bfed75b5612dd914a72612428768fb61f2058b4302e2f5dd1fc09571c5136a50 THIRD_PARTY_NOTICES.md
|
| 11 |
+
82bdca13414c1957ad450d51421d455499bf1c84a986b2fc6f6e67f311a782ca container-images.json
|
| 12 |
+
83284e476ce918726e0e216d8c29b9b7326061306380b7c875d6625b16872769 overlay/qwen3_coder_moe_w4a16_g32_gfx1201.json
|
| 13 |
+
74fb7015e285d3b7863fc8f54341204a252a2ab305921edd5b30f5724915958f overlay/qwen3_coder_moe_w4a16_g32_gfx1201.so
|
| 14 |
+
2c97d333e2de26a2ce7451f027ab2ce514ab2cfb16fdcdafe9057cb83e4d0abd paiton-hub.json
|
| 15 |
+
457edff7d50424fd071f375b58052108382a037b6d75ca830556729b441a6ec4 results.json
|
| 16 |
+
a5c4d13b72b1cec012a5854351f892f4fcd6b272e659a49295beb1eee5bcb67c serve-docker.sh
|
THIRD_PARTY_NOTICES.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Third-party notices
|
| 2 |
+
|
| 3 |
+
The Paiton RDNA4 container includes runtime components for several models.
|
| 4 |
+
The notices below cover those components and the selected Qwen3-Coder
|
| 5 |
+
checkpoint. Their licenses remain applicable to those portions; model weights
|
| 6 |
+
are obtained separately from the upstream publisher.
|
| 7 |
+
|
| 8 |
+
| Component | Source | License / notice |
|
| 9 |
+
| --- | --- | --- |
|
| 10 |
+
| Qwen3-Coder AWQ checkpoint | `cyankiwi/Qwen3-Coder-30B-A3B-Instruct-AWQ-4bit` | Apache-2.0 as declared by publisher |
|
| 11 |
+
| Qwen3-Coder base model | `Qwen/Qwen3-Coder-30B-A3B-Instruct` | Apache-2.0 |
|
| 12 |
+
| AITemplate runtime components | `facebookincubator/AITemplate` | Apache-2.0; Meta Platforms notices |
|
| 13 |
+
| vLLM runtime and paged attention | `vllm-project/vllm` | Apache-2.0; vLLM contributors |
|
| 14 |
+
| Flash Linear Attention-derived GDN stages | `fla-org/flash-linear-attention` | MIT; Copyright 2023-2025 Songlin Yang and Yu Zhang |
|
| 15 |
+
| AITER-derived causal convolution | `ROCm/aiter` | MIT; Advanced Micro Devices, Inc. |
|
| 16 |
+
| Triton-generated host/device code | `ROCm/triton` | MIT; Philippe Tillet, OpenAI, and contributors |
|
| 17 |
+
| Composable Kernel build input | `ROCm/composable_kernel` | MIT; Advanced Micro Devices, Inc. |
|
| 18 |
+
| AMD SMI runtime package | `ROCm/amdsmi` | MIT; Advanced Micro Devices, Inc. |
|
| 19 |
+
|
| 20 |
+
Applicable retained headers include copyrights held by Advanced Micro Devices,
|
| 21 |
+
Inc., the vLLM team and contributors, Songlin Yang, Yu Zhang, Philippe Tillet,
|
| 22 |
+
OpenAI, and Meta Platforms.
|
| 23 |
+
|
| 24 |
+
The full Apache-2.0 license is in [`LICENSE`](LICENSE). Exact retained MIT
|
| 25 |
+
license texts are provided in [`LICENSES/`](LICENSES/).
|
| 26 |
+
|
| 27 |
+
The compiled `.so` dynamically links ROCm libraries supplied by the runtime
|
| 28 |
+
container, including HIP, rocBLAS, hipBLASLt, hipBLAS, rocRAND, and RCCL.
|
container-images.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"image": "ghcr.io/eliovp/paiton-vllm-plugin:qwen3-coder-30b-awq-rdna4-v1.0.0",
|
| 4 |
+
"digest": "sha256:fb47f4ab6073da943e553849985c81326e33b425e1017f97f3f79fad09586a8e",
|
| 5 |
+
"source_revision": "381c77954c927f33a67ca2524e440ce320ddae85",
|
| 6 |
+
"base_image": "ghcr.io/eliovp/paiton-vllm-plugin@sha256:c56baf54aca1ad229829c1de26e8792806608e65ee9d06ee210b79cd49f70bc9",
|
| 7 |
+
"platform": "linux/amd64",
|
| 8 |
+
"gpu_arch": "gfx1201",
|
| 9 |
+
"artifact_sha256": "74fb7015e285d3b7863fc8f54341204a252a2ab305921edd5b30f5724915958f"
|
| 10 |
+
}
|
overlay/qwen3_coder_moe_w4a16_g32_gfx1201.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"model": "cyankiwi/Qwen3-Coder-30B-A3B-Instruct-AWQ-4bit",
|
| 4 |
+
"revision": "4bd30395b72ea6045edd04806c4fea448d4467b3",
|
| 5 |
+
"gpu_arch": "gfx1201",
|
| 6 |
+
"artifact": "qwen3_coder_moe_w4a16_g32_gfx1201.so",
|
| 7 |
+
"sha256": "74fb7015e285d3b7863fc8f54341204a252a2ab305921edd5b30f5724915958f",
|
| 8 |
+
"abi": "PaitonQwen3CoderMoeV1",
|
| 9 |
+
"quantization": "INT4 symmetric G32 W4A16",
|
| 10 |
+
"activations": "bfloat16",
|
| 11 |
+
"expert_weights_layout": "uint8_E_N_Kdiv2_low_nibble_first_bias8",
|
| 12 |
+
"scales_layout": "bfloat16_E_N_Kdiv32",
|
| 13 |
+
"routing": "external_top8_normalized_float32",
|
| 14 |
+
"compiled_max_tokens": 128,
|
| 15 |
+
"serving_max_tokens": 2,
|
| 16 |
+
"workspace_bytes_per_token": 45056,
|
| 17 |
+
"qualification": "Qualified for the documented R9700 short coding workload at concurrency 1 and 2; numerical differences and quality limitations are documented in BENCHMARKS.md.",
|
| 18 |
+
"compiler_input_config_sha256": "518c89c98efe5fa7dcb8b748009337d2feaeb7b2dc4a2d5e4afa8aef77528b67",
|
| 19 |
+
"checkpoint_config_sha256": "42981b44892a1940c8f93bf5fb40972bc62f2c9a6c8f0d10115175e68b11396d"
|
| 20 |
+
}
|
overlay/qwen3_coder_moe_w4a16_g32_gfx1201.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:74fb7015e285d3b7863fc8f54341204a252a2ab305921edd5b30f5724915958f
|
| 3 |
+
size 336128
|
paiton-hub.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"package_type": "paiton-compiled-runtime-overlay",
|
| 4 |
+
"repo_id": "EliovpAI/Qwen3-Coder-30B-A3B-Instruct-AWQ-4bit-Paiton-RDNA4",
|
| 5 |
+
"release_version": "v1.0.0",
|
| 6 |
+
"weights_included": false,
|
| 7 |
+
"base_model": {
|
| 8 |
+
"repo_id": "cyankiwi/Qwen3-Coder-30B-A3B-Instruct-AWQ-4bit",
|
| 9 |
+
"revision": "4bd30395b72ea6045edd04806c4fea448d4467b3"
|
| 10 |
+
},
|
| 11 |
+
"runtime_image": "ghcr.io/eliovp/paiton-vllm-plugin:qwen3-coder-30b-awq-rdna4-v1.0.0",
|
| 12 |
+
"runtime_image_digest": "ghcr.io/eliovp/paiton-vllm-plugin@sha256:fb47f4ab6073da943e553849985c81326e33b425e1017f97f3f79fad09586a8e",
|
| 13 |
+
"public_source": {
|
| 14 |
+
"repository": "https://github.com/Eliovp-BV/paiton-vllm-plugin",
|
| 15 |
+
"commit": "9148505697c70ed3e0a68f298ca6860579db0fbb"
|
| 16 |
+
},
|
| 17 |
+
"artifact_origin": "published Qwen3-Coder v1.0.0 release; identical to the artifact bundled in the runtime image",
|
| 18 |
+
"contract": {
|
| 19 |
+
"gpu": "AMD Radeon AI PRO R9700",
|
| 20 |
+
"gpu_arch": "gfx1201",
|
| 21 |
+
"compute_units": 64,
|
| 22 |
+
"workgroup_processors": 32,
|
| 23 |
+
"max_concurrent_sequences": 2,
|
| 24 |
+
"max_model_len": 4096,
|
| 25 |
+
"quantization": "compressed-tensors symmetric INT4 G32",
|
| 26 |
+
"activations": "bfloat16"
|
| 27 |
+
},
|
| 28 |
+
"files": [
|
| 29 |
+
{
|
| 30 |
+
"path": "overlay/qwen3_coder_moe_w4a16_g32_gfx1201.json",
|
| 31 |
+
"size_bytes": 1050,
|
| 32 |
+
"sha256": "83284e476ce918726e0e216d8c29b9b7326061306380b7c875d6625b16872769"
|
| 33 |
+
},
|
| 34 |
+
{
|
| 35 |
+
"path": "overlay/qwen3_coder_moe_w4a16_g32_gfx1201.so",
|
| 36 |
+
"size_bytes": 336128,
|
| 37 |
+
"sha256": "74fb7015e285d3b7863fc8f54341204a252a2ab305921edd5b30f5724915958f"
|
| 38 |
+
}
|
| 39 |
+
]
|
| 40 |
+
}
|
results.json
ADDED
|
@@ -0,0 +1,558 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"settings": {
|
| 3 |
+
"stock-final-c1": {
|
| 4 |
+
"run_output_tokens_s": [
|
| 5 |
+
104.53250339797597,
|
| 6 |
+
104.30634725774433
|
| 7 |
+
],
|
| 8 |
+
"aggregate_output_tokens_s": 104.419302873155,
|
| 9 |
+
"completed_requests_s": 0.40788790184826174,
|
| 10 |
+
"requests": 32,
|
| 11 |
+
"input_tokens": 7524,
|
| 12 |
+
"output_tokens": 8192,
|
| 13 |
+
"peak_sampled_vram_bytes": 21532827648,
|
| 14 |
+
"telemetry_samples": 158,
|
| 15 |
+
"e2e_s": {
|
| 16 |
+
"n": 32,
|
| 17 |
+
"mean": 2.45127607462382,
|
| 18 |
+
"p50": 2.450226479471894,
|
| 19 |
+
"p90": 2.455984840623569,
|
| 20 |
+
"p95": 2.4575956087763187,
|
| 21 |
+
"p99": 2.457689605660271,
|
| 22 |
+
"min": 2.4440573300234973,
|
| 23 |
+
"max": 2.4577168679679744
|
| 24 |
+
},
|
| 25 |
+
"ttft_s": {
|
| 26 |
+
"n": 32,
|
| 27 |
+
"mean": 0.08590561302480637,
|
| 28 |
+
"p50": 0.08608527900651097,
|
| 29 |
+
"p90": 0.0866674986667931,
|
| 30 |
+
"p95": 0.08668633470661007,
|
| 31 |
+
"p99": 0.0869625799235655,
|
| 32 |
+
"min": 0.08462987397797406,
|
| 33 |
+
"max": 0.08708392601693049
|
| 34 |
+
},
|
| 35 |
+
"tpot_s": {
|
| 36 |
+
"n": 32,
|
| 37 |
+
"mean": 0.009275962594505936,
|
| 38 |
+
"p50": 0.009272217666661805,
|
| 39 |
+
"p90": 0.009295140871750738,
|
| 40 |
+
"p95": 0.009297683427724348,
|
| 41 |
+
"p99": 0.009298357449595214,
|
| 42 |
+
"min": 0.009252656690374601,
|
| 43 |
+
"max": 0.00929861241180048
|
| 44 |
+
},
|
| 45 |
+
"output_tokens_s": {
|
| 46 |
+
"n": 32,
|
| 47 |
+
"mean": 104.43562038582411,
|
| 48 |
+
"p50": 104.48013787206841,
|
| 49 |
+
"p90": 104.58091092417986,
|
| 50 |
+
"p95": 104.63651680403437,
|
| 51 |
+
"p99": 104.71985722296866,
|
| 52 |
+
"min": 104.16171339201462,
|
| 53 |
+
"max": 104.74386048773201
|
| 54 |
+
},
|
| 55 |
+
"decode_tokens_s": {
|
| 56 |
+
"n": 32,
|
| 57 |
+
"mean": 107.80757244235349,
|
| 58 |
+
"p50": 107.85071689616248,
|
| 59 |
+
"p90": 107.97120816019948,
|
| 60 |
+
"p95": 108.01162285149796,
|
| 61 |
+
"p99": 108.06927831302553,
|
| 62 |
+
"min": 107.54460746433084,
|
| 63 |
+
"max": 108.07876539200603
|
| 64 |
+
},
|
| 65 |
+
"telemetry": {
|
| 66 |
+
"temp1_input": {
|
| 67 |
+
"n": 158,
|
| 68 |
+
"mean": 58405.06329113924,
|
| 69 |
+
"p50": 58000.0,
|
| 70 |
+
"p90": 60000.0,
|
| 71 |
+
"p95": 60000.0,
|
| 72 |
+
"p99": 60000.0,
|
| 73 |
+
"min": 39000,
|
| 74 |
+
"max": 60000
|
| 75 |
+
},
|
| 76 |
+
"temp2_input": {
|
| 77 |
+
"n": 158,
|
| 78 |
+
"mean": 83784.81012658228,
|
| 79 |
+
"p50": 84000.0,
|
| 80 |
+
"p90": 85000.0,
|
| 81 |
+
"p95": 85000.0,
|
| 82 |
+
"p99": 86000.0,
|
| 83 |
+
"min": 51000,
|
| 84 |
+
"max": 86000
|
| 85 |
+
},
|
| 86 |
+
"temp3_input": {
|
| 87 |
+
"n": 158,
|
| 88 |
+
"mean": 73082.27848101266,
|
| 89 |
+
"p50": 74000.0,
|
| 90 |
+
"p90": 76000.0,
|
| 91 |
+
"p95": 76000.0,
|
| 92 |
+
"p99": 76000.0,
|
| 93 |
+
"min": 43000,
|
| 94 |
+
"max": 76000
|
| 95 |
+
},
|
| 96 |
+
"freq1_input": {
|
| 97 |
+
"n": 158,
|
| 98 |
+
"mean": 3154449367.088608,
|
| 99 |
+
"p50": 3190000000.0,
|
| 100 |
+
"p90": 3195000000.0,
|
| 101 |
+
"p95": 3196150000.0,
|
| 102 |
+
"p99": 3199430000.0,
|
| 103 |
+
"min": 1151000000,
|
| 104 |
+
"max": 3201000000
|
| 105 |
+
},
|
| 106 |
+
"freq2_input": {
|
| 107 |
+
"n": 158,
|
| 108 |
+
"mean": 1257151898.734177,
|
| 109 |
+
"p50": 1258000000.0,
|
| 110 |
+
"p90": 1258000000.0,
|
| 111 |
+
"p95": 1258000000.0,
|
| 112 |
+
"p99": 1258000000.0,
|
| 113 |
+
"min": 1124000000,
|
| 114 |
+
"max": 1258000000
|
| 115 |
+
},
|
| 116 |
+
"power1_average": {
|
| 117 |
+
"n": 158,
|
| 118 |
+
"mean": 296196202.5316456,
|
| 119 |
+
"p50": 299000000.0,
|
| 120 |
+
"p90": 300000000.0,
|
| 121 |
+
"p95": 300000000.0,
|
| 122 |
+
"p99": 302000000.0,
|
| 123 |
+
"min": 76000000,
|
| 124 |
+
"max": 302000000
|
| 125 |
+
}
|
| 126 |
+
}
|
| 127 |
+
},
|
| 128 |
+
"paiton-final-c1": {
|
| 129 |
+
"run_output_tokens_s": [
|
| 130 |
+
126.7482161946917,
|
| 131 |
+
126.61164669857416
|
| 132 |
+
],
|
| 133 |
+
"aggregate_output_tokens_s": 126.67989463885475,
|
| 134 |
+
"completed_requests_s": 0.49484333843302636,
|
| 135 |
+
"requests": 32,
|
| 136 |
+
"input_tokens": 7524,
|
| 137 |
+
"output_tokens": 8192,
|
| 138 |
+
"peak_sampled_vram_bytes": 21563035648,
|
| 139 |
+
"telemetry_samples": 130,
|
| 140 |
+
"e2e_s": {
|
| 141 |
+
"n": 32,
|
| 142 |
+
"mean": 2.0204912018471077,
|
| 143 |
+
"p50": 2.0204291350091808,
|
| 144 |
+
"p90": 2.0219247136905323,
|
| 145 |
+
"p95": 2.0233954027033176,
|
| 146 |
+
"p99": 2.0276054632267915,
|
| 147 |
+
"min": 2.0170277759898454,
|
| 148 |
+
"max": 2.0289841779740527
|
| 149 |
+
},
|
| 150 |
+
"ttft_s": {
|
| 151 |
+
"n": 32,
|
| 152 |
+
"mean": 0.08601805344005697,
|
| 153 |
+
"p50": 0.08624113749829121,
|
| 154 |
+
"p90": 0.08684968375018798,
|
| 155 |
+
"p95": 0.08692604756506625,
|
| 156 |
+
"p99": 0.08708030231355224,
|
| 157 |
+
"min": 0.08451331598917022,
|
| 158 |
+
"max": 0.08710829500341788
|
| 159 |
+
},
|
| 160 |
+
"tpot_s": {
|
| 161 |
+
"n": 32,
|
| 162 |
+
"mean": 0.007586169209439415,
|
| 163 |
+
"p50": 0.007583975192163979,
|
| 164 |
+
"p90": 0.0075936817341283255,
|
| 165 |
+
"p95": 0.007597326572320205,
|
| 166 |
+
"p99": 0.007611751111756152,
|
| 167 |
+
"min": 0.007574955266717748,
|
| 168 |
+
"max": 0.007617579866657216
|
| 169 |
+
},
|
| 170 |
+
"output_tokens_s": {
|
| 171 |
+
"n": 32,
|
| 172 |
+
"mean": 126.70200492982798,
|
| 173 |
+
"p50": 126.70575566781284,
|
| 174 |
+
"p90": 126.82481146128272,
|
| 175 |
+
"p95": 126.90434004800989,
|
| 176 |
+
"p99": 126.91782245956921,
|
| 177 |
+
"min": 126.171511231604,
|
| 178 |
+
"max": 126.91942225454451
|
| 179 |
+
},
|
| 180 |
+
"decode_tokens_s": {
|
| 181 |
+
"n": 32,
|
| 182 |
+
"mean": 131.82178280828202,
|
| 183 |
+
"p50": 131.85967507508565,
|
| 184 |
+
"p90": 131.94757658227738,
|
| 185 |
+
"p95": 131.95905111349347,
|
| 186 |
+
"p99": 132.000468370036,
|
| 187 |
+
"min": 131.2782823035353,
|
| 188 |
+
"max": 132.01679797240226
|
| 189 |
+
},
|
| 190 |
+
"telemetry": {
|
| 191 |
+
"temp1_input": {
|
| 192 |
+
"n": 130,
|
| 193 |
+
"mean": 58407.692307692305,
|
| 194 |
+
"p50": 58000.0,
|
| 195 |
+
"p90": 60000.0,
|
| 196 |
+
"p95": 60000.0,
|
| 197 |
+
"p99": 60000.0,
|
| 198 |
+
"min": 45000,
|
| 199 |
+
"max": 60000
|
| 200 |
+
},
|
| 201 |
+
"temp2_input": {
|
| 202 |
+
"n": 130,
|
| 203 |
+
"mean": 83253.84615384616,
|
| 204 |
+
"p50": 83000.0,
|
| 205 |
+
"p90": 85000.0,
|
| 206 |
+
"p95": 85000.0,
|
| 207 |
+
"p99": 85710.0,
|
| 208 |
+
"min": 63000,
|
| 209 |
+
"max": 86000
|
| 210 |
+
},
|
| 211 |
+
"temp3_input": {
|
| 212 |
+
"n": 130,
|
| 213 |
+
"mean": 73000,
|
| 214 |
+
"p50": 74000.0,
|
| 215 |
+
"p90": 75000.0,
|
| 216 |
+
"p95": 76000.0,
|
| 217 |
+
"p99": 76000.0,
|
| 218 |
+
"min": 50000,
|
| 219 |
+
"max": 76000
|
| 220 |
+
},
|
| 221 |
+
"freq1_input": {
|
| 222 |
+
"n": 130,
|
| 223 |
+
"mean": 3227776923.076923,
|
| 224 |
+
"p50": 3265000000.0,
|
| 225 |
+
"p90": 3279100000.0,
|
| 226 |
+
"p95": 3283000000.0,
|
| 227 |
+
"p99": 3288130000.0,
|
| 228 |
+
"min": 2211000000,
|
| 229 |
+
"max": 3293000000
|
| 230 |
+
},
|
| 231 |
+
"freq2_input": {
|
| 232 |
+
"n": 130,
|
| 233 |
+
"mean": 1256969230.7692308,
|
| 234 |
+
"p50": 1258000000.0,
|
| 235 |
+
"p90": 1258000000.0,
|
| 236 |
+
"p95": 1258000000.0,
|
| 237 |
+
"p99": 1258000000.0,
|
| 238 |
+
"min": 1124000000,
|
| 239 |
+
"max": 1258000000
|
| 240 |
+
},
|
| 241 |
+
"power1_average": {
|
| 242 |
+
"n": 130,
|
| 243 |
+
"mean": 294484615.38461536,
|
| 244 |
+
"p50": 297000000.0,
|
| 245 |
+
"p90": 299100000.0,
|
| 246 |
+
"p95": 300000000.0,
|
| 247 |
+
"p99": 301000000.0,
|
| 248 |
+
"min": 187000000,
|
| 249 |
+
"max": 301000000
|
| 250 |
+
}
|
| 251 |
+
}
|
| 252 |
+
},
|
| 253 |
+
"stock-final-c2": {
|
| 254 |
+
"run_output_tokens_s": [
|
| 255 |
+
101.29990196967496,
|
| 256 |
+
101.91403696866031
|
| 257 |
+
],
|
| 258 |
+
"aggregate_output_tokens_s": 101.60604147722242,
|
| 259 |
+
"completed_requests_s": 0.3968985995204001,
|
| 260 |
+
"requests": 32,
|
| 261 |
+
"input_tokens": 7524,
|
| 262 |
+
"output_tokens": 8192,
|
| 263 |
+
"peak_sampled_vram_bytes": 21559439360,
|
| 264 |
+
"telemetry_samples": 162,
|
| 265 |
+
"e2e_s": {
|
| 266 |
+
"n": 32,
|
| 267 |
+
"mean": 5.037850869217436,
|
| 268 |
+
"p50": 5.021176078473218,
|
| 269 |
+
"p90": 5.141629918292165,
|
| 270 |
+
"p95": 5.142242345429258,
|
| 271 |
+
"p99": 5.142400043794186,
|
| 272 |
+
"min": 4.897444790985901,
|
| 273 |
+
"max": 5.142469321959652
|
| 274 |
+
},
|
| 275 |
+
"ttft_s": {
|
| 276 |
+
"n": 32,
|
| 277 |
+
"mean": 0.17167586559116899,
|
| 278 |
+
"p50": 0.16551451152190566,
|
| 279 |
+
"p90": 0.1681803280953318,
|
| 280 |
+
"p95": 0.2726705030450829,
|
| 281 |
+
"p99": 0.4010564773745136,
|
| 282 |
+
"min": 0.13795678497990593,
|
| 283 |
+
"max": 0.40174011199269444
|
| 284 |
+
},
|
| 285 |
+
"tpot_s": {
|
| 286 |
+
"n": 32,
|
| 287 |
+
"mean": 0.01908303922990693,
|
| 288 |
+
"p50": 0.019040175582346157,
|
| 289 |
+
"p90": 0.019494635844260786,
|
| 290 |
+
"p95": 0.0195414327638904,
|
| 291 |
+
"p99": 0.019592890214257162,
|
| 292 |
+
"min": 0.018565450615578277,
|
| 293 |
+
"max": 0.019595309949078252
|
| 294 |
+
},
|
| 295 |
+
"output_tokens_s": {
|
| 296 |
+
"n": 32,
|
| 297 |
+
"mean": 50.82458721518752,
|
| 298 |
+
"p50": 50.984072669266574,
|
| 299 |
+
"p90": 51.410113251573286,
|
| 300 |
+
"p95": 51.76038175886279,
|
| 301 |
+
"p99": 52.24342206711506,
|
| 302 |
+
"min": 49.781531784120695,
|
| 303 |
+
"max": 52.27215638473075
|
| 304 |
+
},
|
| 305 |
+
"decode_tokens_s": {
|
| 306 |
+
"n": 32,
|
| 307 |
+
"mean": 52.414180313215645,
|
| 308 |
+
"p50": 52.521024706967715,
|
| 309 |
+
"p90": 53.51770768960344,
|
| 310 |
+
"p95": 53.79832409114189,
|
| 311 |
+
"p99": 53.84681548466302,
|
| 312 |
+
"min": 51.03301061088222,
|
| 313 |
+
"max": 53.86393737357884
|
| 314 |
+
},
|
| 315 |
+
"telemetry": {
|
| 316 |
+
"temp1_input": {
|
| 317 |
+
"n": 162,
|
| 318 |
+
"mean": 58753.08641975309,
|
| 319 |
+
"p50": 59000.0,
|
| 320 |
+
"p90": 59000.0,
|
| 321 |
+
"p95": 59000.0,
|
| 322 |
+
"p99": 59000.0,
|
| 323 |
+
"min": 58000,
|
| 324 |
+
"max": 59000
|
| 325 |
+
},
|
| 326 |
+
"temp2_input": {
|
| 327 |
+
"n": 162,
|
| 328 |
+
"mean": 82444.44444444444,
|
| 329 |
+
"p50": 83000.0,
|
| 330 |
+
"p90": 83000.0,
|
| 331 |
+
"p95": 83000.0,
|
| 332 |
+
"p99": 83000.0,
|
| 333 |
+
"min": 73000,
|
| 334 |
+
"max": 83000
|
| 335 |
+
},
|
| 336 |
+
"temp3_input": {
|
| 337 |
+
"n": 162,
|
| 338 |
+
"mean": 73197.53086419753,
|
| 339 |
+
"p50": 73000.0,
|
| 340 |
+
"p90": 74000.0,
|
| 341 |
+
"p95": 74000.0,
|
| 342 |
+
"p99": 74000.0,
|
| 343 |
+
"min": 72000,
|
| 344 |
+
"max": 75000
|
| 345 |
+
},
|
| 346 |
+
"freq1_input": {
|
| 347 |
+
"n": 162,
|
| 348 |
+
"mean": 3240216049.382716,
|
| 349 |
+
"p50": 3280000000.0,
|
| 350 |
+
"p90": 3285000000.0,
|
| 351 |
+
"p95": 3285950000.0,
|
| 352 |
+
"p99": 3286390000.0,
|
| 353 |
+
"min": 1941000000,
|
| 354 |
+
"max": 3288000000
|
| 355 |
+
},
|
| 356 |
+
"freq2_input": {
|
| 357 |
+
"n": 162,
|
| 358 |
+
"mean": 1257172839.506173,
|
| 359 |
+
"p50": 1258000000.0,
|
| 360 |
+
"p90": 1258000000.0,
|
| 361 |
+
"p95": 1258000000.0,
|
| 362 |
+
"p99": 1258000000.0,
|
| 363 |
+
"min": 1124000000,
|
| 364 |
+
"max": 1258000000
|
| 365 |
+
},
|
| 366 |
+
"power1_average": {
|
| 367 |
+
"n": 162,
|
| 368 |
+
"mean": 292740740.7407407,
|
| 369 |
+
"p50": 295000000.0,
|
| 370 |
+
"p90": 298000000.0,
|
| 371 |
+
"p95": 299000000.0,
|
| 372 |
+
"p99": 300390000.0,
|
| 373 |
+
"min": 168000000,
|
| 374 |
+
"max": 302000000
|
| 375 |
+
}
|
| 376 |
+
}
|
| 377 |
+
},
|
| 378 |
+
"paiton-final-c2": {
|
| 379 |
+
"run_output_tokens_s": [
|
| 380 |
+
172.9216995128759,
|
| 381 |
+
172.72773043576697
|
| 382 |
+
],
|
| 383 |
+
"aggregate_output_tokens_s": 172.82466054923114,
|
| 384 |
+
"completed_requests_s": 0.6750963302704341,
|
| 385 |
+
"requests": 32,
|
| 386 |
+
"input_tokens": 7524,
|
| 387 |
+
"output_tokens": 8192,
|
| 388 |
+
"peak_sampled_vram_bytes": 21563035648,
|
| 389 |
+
"telemetry_samples": 96,
|
| 390 |
+
"e2e_s": {
|
| 391 |
+
"n": 32,
|
| 392 |
+
"mean": 2.961399451123725,
|
| 393 |
+
"p50": 2.961522576515563,
|
| 394 |
+
"p90": 2.9646852039149962,
|
| 395 |
+
"p95": 2.964837046136381,
|
| 396 |
+
"p99": 2.96495436332887,
|
| 397 |
+
"min": 2.9523183770361356,
|
| 398 |
+
"max": 2.9649825469823554
|
| 399 |
+
},
|
| 400 |
+
"ttft_s": {
|
| 401 |
+
"n": 32,
|
| 402 |
+
"mean": 0.15564254137825628,
|
| 403 |
+
"p50": 0.15792722153128125,
|
| 404 |
+
"p90": 0.1674851266143378,
|
| 405 |
+
"p95": 0.16758953527896664,
|
| 406 |
+
"p99": 0.16771430715918542,
|
| 407 |
+
"min": 0.13778713200008497,
|
| 408 |
+
"max": 0.1677317310241051
|
| 409 |
+
},
|
| 410 |
+
"tpot_s": {
|
| 411 |
+
"n": 32,
|
| 412 |
+
"mean": 0.011002968273511642,
|
| 413 |
+
"p50": 0.010995687492073095,
|
| 414 |
+
"p90": 0.011052764856402634,
|
| 415 |
+
"p95": 0.011055382690209822,
|
| 416 |
+
"p99": 0.011057267765044326,
|
| 417 |
+
"min": 0.010952511007724075,
|
| 418 |
+
"max": 0.011057785427307381
|
| 419 |
+
},
|
| 420 |
+
"output_tokens_s": {
|
| 421 |
+
"n": 32,
|
| 422 |
+
"mean": 86.44569888506376,
|
| 423 |
+
"p50": 86.44202211812255,
|
| 424 |
+
"p90": 86.5361364181114,
|
| 425 |
+
"p95": 86.5907744343187,
|
| 426 |
+
"p99": 86.69320834533765,
|
| 427 |
+
"min": 86.34114904337191,
|
| 428 |
+
"max": 86.71151525906944
|
| 429 |
+
},
|
| 430 |
+
"decode_tokens_s": {
|
| 431 |
+
"n": 32,
|
| 432 |
+
"mean": 90.8871974927982,
|
| 433 |
+
"p50": 90.94656225027069,
|
| 434 |
+
"p90": 91.29696533357941,
|
| 435 |
+
"p95": 91.30182692577216,
|
| 436 |
+
"p99": 91.30392198020051,
|
| 437 |
+
"min": 90.43523834314854,
|
| 438 |
+
"max": 91.30455862155868
|
| 439 |
+
},
|
| 440 |
+
"telemetry": {
|
| 441 |
+
"temp1_input": {
|
| 442 |
+
"n": 96,
|
| 443 |
+
"mean": 57979.166666666664,
|
| 444 |
+
"p50": 58000.0,
|
| 445 |
+
"p90": 58000.0,
|
| 446 |
+
"p95": 58000.0,
|
| 447 |
+
"p99": 58000.0,
|
| 448 |
+
"min": 57000,
|
| 449 |
+
"max": 58000
|
| 450 |
+
},
|
| 451 |
+
"temp2_input": {
|
| 452 |
+
"n": 96,
|
| 453 |
+
"mean": 84729.16666666667,
|
| 454 |
+
"p50": 85000.0,
|
| 455 |
+
"p90": 85000.0,
|
| 456 |
+
"p95": 85000.0,
|
| 457 |
+
"p99": 85000.0,
|
| 458 |
+
"min": 73000,
|
| 459 |
+
"max": 85000
|
| 460 |
+
},
|
| 461 |
+
"temp3_input": {
|
| 462 |
+
"n": 96,
|
| 463 |
+
"mean": 75916.66666666667,
|
| 464 |
+
"p50": 76000.0,
|
| 465 |
+
"p90": 76000.0,
|
| 466 |
+
"p95": 76000.0,
|
| 467 |
+
"p99": 76000.0,
|
| 468 |
+
"min": 74000,
|
| 469 |
+
"max": 76000
|
| 470 |
+
},
|
| 471 |
+
"freq1_input": {
|
| 472 |
+
"n": 96,
|
| 473 |
+
"mean": 3050895833.3333335,
|
| 474 |
+
"p50": 3090000000.0,
|
| 475 |
+
"p90": 3093000000.0,
|
| 476 |
+
"p95": 3094250000.0,
|
| 477 |
+
"p99": 3101000000.0,
|
| 478 |
+
"min": 1703000000,
|
| 479 |
+
"max": 3101000000
|
| 480 |
+
},
|
| 481 |
+
"freq2_input": {
|
| 482 |
+
"n": 96,
|
| 483 |
+
"mean": 1256604166.6666667,
|
| 484 |
+
"p50": 1258000000.0,
|
| 485 |
+
"p90": 1258000000.0,
|
| 486 |
+
"p95": 1258000000.0,
|
| 487 |
+
"p99": 1258000000.0,
|
| 488 |
+
"min": 1124000000,
|
| 489 |
+
"max": 1258000000
|
| 490 |
+
},
|
| 491 |
+
"power1_average": {
|
| 492 |
+
"n": 96,
|
| 493 |
+
"mean": 297468750,
|
| 494 |
+
"p50": 299000000.0,
|
| 495 |
+
"p90": 300000000.0,
|
| 496 |
+
"p95": 301000000.0,
|
| 497 |
+
"p99": 301050000.0,
|
| 498 |
+
"min": 140000000,
|
| 499 |
+
"max": 302000000
|
| 500 |
+
}
|
| 501 |
+
}
|
| 502 |
+
}
|
| 503 |
+
},
|
| 504 |
+
"comparisons": {
|
| 505 |
+
"1": {
|
| 506 |
+
"throughput_gain_percent": 21.31846426205426,
|
| 507 |
+
"mean_latency_change_percent": -17.573902720966338,
|
| 508 |
+
"common_generated_prefix_tokens": {
|
| 509 |
+
"n": 32,
|
| 510 |
+
"mean": 129.8125,
|
| 511 |
+
"p50": 115.0,
|
| 512 |
+
"p90": 256.0,
|
| 513 |
+
"p95": 256.0,
|
| 514 |
+
"p99": 256.0,
|
| 515 |
+
"min": 13,
|
| 516 |
+
"max": 256
|
| 517 |
+
},
|
| 518 |
+
"common_prefix_logprob_abs_difference": {
|
| 519 |
+
"n": 4154,
|
| 520 |
+
"mean": 0.00962247806280263,
|
| 521 |
+
"p50": 1.6689248241164023e-06,
|
| 522 |
+
"p90": 0.027043122053146403,
|
| 523 |
+
"p95": 0.06337008178234087,
|
| 524 |
+
"p99": 0.14746004521847003,
|
| 525 |
+
"min": 0.0,
|
| 526 |
+
"max": 0.3880656957626343
|
| 527 |
+
},
|
| 528 |
+
"identical_tokens_and_logprobs_requests": 0,
|
| 529 |
+
"scope": "Common-prefix logprobs only; not a full-vocabulary or teacher-forced numerical equivalence test."
|
| 530 |
+
},
|
| 531 |
+
"2": {
|
| 532 |
+
"throughput_gain_percent": 70.092898056632,
|
| 533 |
+
"mean_latency_change_percent": -41.217008442654844,
|
| 534 |
+
"common_generated_prefix_tokens": {
|
| 535 |
+
"n": 32,
|
| 536 |
+
"mean": 89.75,
|
| 537 |
+
"p50": 78.0,
|
| 538 |
+
"p90": 236.60000000000014,
|
| 539 |
+
"p95": 248.85,
|
| 540 |
+
"p99": 256.0,
|
| 541 |
+
"min": 4,
|
| 542 |
+
"max": 256
|
| 543 |
+
},
|
| 544 |
+
"common_prefix_logprob_abs_difference": {
|
| 545 |
+
"n": 2872,
|
| 546 |
+
"mean": 0.009687470123258648,
|
| 547 |
+
"p50": 3.278164513176307e-06,
|
| 548 |
+
"p90": 0.03029351122677327,
|
| 549 |
+
"p95": 0.06604001820087418,
|
| 550 |
+
"p99": 0.1236238181591034,
|
| 551 |
+
"min": 0.0,
|
| 552 |
+
"max": 0.4361233711242676
|
| 553 |
+
},
|
| 554 |
+
"identical_tokens_and_logprobs_requests": 0,
|
| 555 |
+
"scope": "Common-prefix logprobs only; not a full-vocabulary or teacher-forced numerical equivalence test."
|
| 556 |
+
}
|
| 557 |
+
}
|
| 558 |
+
}
|
serve-docker.sh
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env bash
|
| 2 |
+
set -euo pipefail
|
| 3 |
+
|
| 4 |
+
image="${PAITON_QWEN3_CODER_IMAGE:-ghcr.io/eliovp/paiton-vllm-plugin:qwen3-coder-30b-awq-rdna4-v1.0.0}"
|
| 5 |
+
container="${PAITON_CONTAINER_NAME:-paiton-qwen3-coder}"
|
| 6 |
+
port="${PAITON_HOST_PORT:-8010}"
|
| 7 |
+
cache_dir="${PAITON_CACHE_DIR:-${HOME}/.cache/paiton}"
|
| 8 |
+
chat=0
|
| 9 |
+
stock=0
|
| 10 |
+
download=0
|
| 11 |
+
server_args=()
|
| 12 |
+
for option in "$@"; do
|
| 13 |
+
case "$option" in
|
| 14 |
+
--chat) chat=1 ;;
|
| 15 |
+
--stock) stock=1; server_args+=(--stock) ;;
|
| 16 |
+
--offline) server_args+=(--offline) ;;
|
| 17 |
+
--download-only) download=1; server_args+=(--download-only) ;;
|
| 18 |
+
-h|--help)
|
| 19 |
+
cat <<'HELP'
|
| 20 |
+
Run Qwen3-Coder 30B on one Radeon AI PRO R9700.
|
| 21 |
+
Usage: ./serve-docker.sh [--chat] [--stock] [--offline] [--download-only]
|
| 22 |
+
|
| 23 |
+
Default: start the API in the background; download the pinned model if needed.
|
| 24 |
+
--chat Wait for readiness and open terminal chat; server stays running.
|
| 25 |
+
--stock Run stock vLLM for the matched comparison.
|
| 26 |
+
--offline Require the pinned model in the persistent cache.
|
| 27 |
+
--download-only Populate the cache without loading the GPU model.
|
| 28 |
+
|
| 29 |
+
Environment: PAITON_CACHE_DIR (default ~/.cache/paiton), PAITON_HOST_PORT (8010),
|
| 30 |
+
PAITON_CONTAINER_NAME (paiton-qwen3-coder), PAITON_QWEN3_CODER_IMAGE.
|
| 31 |
+
HELP
|
| 32 |
+
exit 0 ;;
|
| 33 |
+
*) printf 'Unknown option: %s. Use --help.\n' "$option" >&2; exit 2 ;;
|
| 34 |
+
esac
|
| 35 |
+
done
|
| 36 |
+
if [[ ! "$port" =~ ^[0-9]{1,5}$ ]] || ((10#$port < 1 || 10#$port > 65535)); then
|
| 37 |
+
printf 'PAITON_HOST_PORT must be an integer from 1 to 65535.\n' >&2
|
| 38 |
+
exit 2
|
| 39 |
+
fi
|
| 40 |
+
port="$((10#$port))"
|
| 41 |
+
if ((chat && download)); then
|
| 42 |
+
printf -- '--chat and --download-only cannot be combined.\n' >&2
|
| 43 |
+
exit 2
|
| 44 |
+
fi
|
| 45 |
+
if ! docker info >/dev/null 2>&1; then
|
| 46 |
+
printf 'Docker is unavailable to this user.\n' >&2
|
| 47 |
+
exit 1
|
| 48 |
+
fi
|
| 49 |
+
mkdir -p "$cache_dir"
|
| 50 |
+
cache_dir="$(cd "$cache_dir" && pwd -P)"
|
| 51 |
+
if ((download)); then
|
| 52 |
+
exec docker run --rm --no-healthcheck -v "$cache_dir:/models/cache" "$image" "${server_args[@]}"
|
| 53 |
+
fi
|
| 54 |
+
if [[ ! -e /dev/kfd || ! -d /dev/dri ]]; then
|
| 55 |
+
printf 'ROCm devices /dev/kfd and /dev/dri are required.\n' >&2
|
| 56 |
+
exit 1
|
| 57 |
+
fi
|
| 58 |
+
mode=paiton
|
| 59 |
+
if ((stock)); then mode=stock; fi
|
| 60 |
+
if docker container inspect "$container" >/dev/null 2>&1; then
|
| 61 |
+
existing_image="$(docker inspect -f '{{.Config.Image}}' "$container")"
|
| 62 |
+
existing_mode="$(docker inspect -f '{{index .Config.Labels "dev.paiton.qwen3-coder.mode"}}' "$container")"
|
| 63 |
+
if [[ "$existing_image" != "$image" || "$existing_mode" != "$mode" ]]; then
|
| 64 |
+
printf 'Container %s uses a different image or mode. Choose PAITON_CONTAINER_NAME or remove it first.\n' "$container" >&2
|
| 65 |
+
exit 1
|
| 66 |
+
fi
|
| 67 |
+
existing_port="$(docker inspect -f '{{(index (index .HostConfig.PortBindings "8010/tcp") 0).HostPort}}' "$container")"
|
| 68 |
+
existing_cache="$(docker inspect -f '{{range .Mounts}}{{if eq .Destination "/models/cache"}}{{.Source}}{{end}}{{end}}' "$container")"
|
| 69 |
+
if [[ "$existing_port" != "$port" || "$existing_cache" != "$cache_dir" ]]; then
|
| 70 |
+
printf 'Container %s uses a different port or cache. Reuse those settings or choose another container name.\n' "$container" >&2
|
| 71 |
+
exit 1
|
| 72 |
+
fi
|
| 73 |
+
if [[ "$(docker inspect -f '{{.State.Running}}' "$container")" != true ]]; then
|
| 74 |
+
docker start "$container" >/dev/null
|
| 75 |
+
fi
|
| 76 |
+
else
|
| 77 |
+
docker run -d --name "$container" --device /dev/kfd --device /dev/dri \
|
| 78 |
+
--group-add video --ipc=host --label "dev.paiton.qwen3-coder.mode=$mode" \
|
| 79 |
+
-p "127.0.0.1:$port:8010" -v "$cache_dir:/models/cache" "$image" "${server_args[@]}" >/dev/null
|
| 80 |
+
fi
|
| 81 |
+
if ((!chat)); then
|
| 82 |
+
printf 'Qwen3-Coder is starting. API: http://127.0.0.1:%s/v1\n' "$port"
|
| 83 |
+
printf 'Model: qwen3-coder. Logs: docker logs -f %s\n' "$container"
|
| 84 |
+
printf 'Run this command again with --chat to open terminal chat.\n'
|
| 85 |
+
exit 0
|
| 86 |
+
fi
|
| 87 |
+
printf 'Waiting for Qwen3-Coder; the first launch downloads 18.1 GB of weights.\n'
|
| 88 |
+
for ((attempt=0; attempt<3600; attempt++)); do
|
| 89 |
+
if docker exec "$container" python3 -c \
|
| 90 |
+
"import urllib.request; urllib.request.urlopen('http://127.0.0.1:8010/health', timeout=2)" >/dev/null 2>&1; then
|
| 91 |
+
chat_flags=(-i)
|
| 92 |
+
if [[ -t 0 && -t 1 ]]; then chat_flags=(-it); fi
|
| 93 |
+
exec docker exec "${chat_flags[@]}" "$container" paiton-chat \
|
| 94 |
+
--url http://127.0.0.1:8010/v1/chat/completions --model qwen3-coder \
|
| 95 |
+
--temperature 0 --max-tokens 1024
|
| 96 |
+
fi
|
| 97 |
+
if [[ "$(docker inspect -f '{{.State.Running}}' "$container")" != true ]]; then
|
| 98 |
+
docker logs --tail 60 "$container" >&2
|
| 99 |
+
printf 'Qwen3-Coder stopped before it became ready.\n' >&2
|
| 100 |
+
exit 1
|
| 101 |
+
fi
|
| 102 |
+
sleep 1
|
| 103 |
+
done
|
| 104 |
+
printf 'Timed out waiting for readiness. Inspect: docker logs %s\n' "$container" >&2
|
| 105 |
+
exit 1
|