fft: compile/link device callback functions with -fgpu-rdc#1103
Conversation
Device code must be relocatable in order to be called from another translation unit.
amd-jnovotny
left a comment
There was a problem hiding this comment.
Docs changes OK. One minor recommendation.
Co-authored-by: Jeffrey Novotny <jnovotny@amd.com>
62e3f3d
…ations of callback functions
fft: compile/link device callback functions with -fgpu-rdc (#1103) Device code must be relocatable in order to be called from another translation unit.
fft: compile/link device callback functions with -fgpu-rdc (#1103) Device code must be relocatable in order to be called from another translation unit.
|
Gardener override: Math-CI Summary fail - not true indicator of math-ci pass due to custom branch run |
This doesn't hold true. @ScottTodd identified adding |
| # rocFFT contains default implementations of callback functions that | ||
| # need to be built as relocatable device code | ||
| target_compile_options( rocfft PRIVATE -fgpu-rdc ) | ||
| target_link_options( rocfft PRIVATE -fgpu-rdc ) |
There was a problem hiding this comment.
Windows-CI - Failure that is not related to this code change, would not normally block this team merge
This doesn't hold true. @ScottTodd identified adding
-fgpu-rdcas a root cause for rocFFT being broken on Windows when building with TheRock (we don't build tests thus hipFFT wasn't impacted so far). I can confirm that reverting this commit unbreaks building via TheRock on Windows.
I'm not sure if that "WindowsCI - Internal" would have shown this error. I can't view the logs there (maybe they expired). We are seeing these errors in TheRock on ROCm/TheRock#1327 after trying to sync past this commit: https://github.com/ROCm/TheRock/actions/runs/17240878248/job/48917478820#step:11:360
[rocFFT] FAILED: staging/rocfft.dll library/src/rocfft.lib
[rocFFT] C:\Windows\system32\cmd.exe /C "cd . && B:\build\core\clr\dist\lib\llvm\bin\clang++.exe -nostartfiles -nostdlib -DWIN32 -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_WARNINGS -DNOMINMAX -fms-extensions -fms-compatibility -D_ENABLE_EXTENDED_ALIGNED_STORAGE -Wno-documentation-unknown-command -Wno-documentation-pedantic -Wno-unused-command-line-argument -Wno-explicit-specialization-storage-class -Wno-ignored-attributes -Wno-unknown-attributes -Wno-duplicate-decl-specifier --hip-path=B:/build/core/clr/dist --hip-device-lib-path=B:/build/core/clr/dist/lib/llvm/amdgcn/bitcode -O3 -DNDEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrt -L B:/build/third-party/sysdeps/windows/zlib/build/stage/lib/rocm_sysdeps/lib -L B:/build/third-party/sysdeps/windows/zstd/build/stage/lib/rocm_sysdeps/lib -L B:/build/compiler/amd-llvm/stage/lib/llvm/lib -L B:/build/core/clr/stage/lib -fgpu-rdc -fuse-ld=lld-link -shared -o staging\rocfft.dll -Xlinker /MANIFEST:EMBED -Xlinker /implib:library\src\rocfft.lib -Xlinker /pdb:staging\rocfft.pdb -Xlinker /version:0.0 library/src/CMakeFiles/rocfft-rtc-cache.dir/rtc_cache.cpp.obj library/src/CMakeFiles/sqlite3.dir/__/__/_deps/sqlite_local-src/sqlite3.c.obj library/src/CMakeFiles/rocfft-rtc-gen.dir/rtc_bluestein_gen.cpp.obj library/src/CMakeFiles/rocfft-rtc-gen.dir/rtc_realcomplex_gen.cpp.obj library/src/CMakeFiles/rocfft-rtc-gen.dir/rtc_stockham_gen.cpp.obj library/src/CMakeFiles/rocfft-rtc-gen.dir/rtc_transpose_gen.cpp.obj library/src/CMakeFiles/rocfft-rtc-gen.dir/rtc_twiddle_gen.cpp.obj library/src/CMakeFiles/rocfft-rtc-gen.dir/rtc_chirp_gen.cpp.obj library/src/CMakeFiles/rocfft-rtc-gen.dir/rtc_test_harness.cpp.obj library/src/CMakeFiles/rocfft-rtc-gen.dir/load_store_ops_gen.cpp.obj library/src/CMakeFiles/rocfft-rtc-compile.dir/rtc_compile.cpp.obj library/src/CMakeFiles/rocfft-rtc-subprocess.dir/rtc_subprocess.cpp.obj library/src/CMakeFiles/rocfft-rtc-common.dir/device/kernel-generator-embed.cpp.obj library/src/CMakeFiles/rocfft-rtc-common.dir/compute_scheme.cpp.obj library/src/CMakeFiles/rocfft-rtc-common.dir/rocfft_ostream.cpp.obj library/src/device/generator/CMakeFiles/generator.dir/generator.cpp.obj library/src/device/generator/CMakeFiles/generator.dir/fftgenerator.cpp.obj library/src/device/CMakeFiles/rocfft-function-pool.dir/function_pool_init_0.cpp.obj library/src/device/CMakeFiles/rocfft-function-pool.dir/function_pool_init_1.cpp.obj library/src/device/CMakeFiles/rocfft-function-pool.dir/function_pool_init_2.cpp.obj library/src/device/CMakeFiles/rocfft-function-pool.dir/function_pool_init_3.cpp.obj library/src/device/CMakeFiles/rocfft-function-pool.dir/function_pool_init_4.cpp.obj library/src/device/CMakeFiles/rocfft-function-pool.dir/function_pool_init_5.cpp.obj library/src/device/CMakeFiles/rocfft-function-pool.dir/function_pool_init_6.cpp.obj library/src/device/CMakeFiles/rocfft-function-pool.dir/function_pool_init_7.cpp.obj library/src/device/CMakeFiles/rocfft-function-pool.dir/function_pool.cpp.obj library/src/CMakeFiles/rocfft-rtc-launch.dir/rtc_kernel.cpp.obj library/src/CMakeFiles/rocfft-rtc-launch.dir/rtc_bluestein_kernel.cpp.obj library/src/CMakeFiles/rocfft-rtc-launch.dir/rtc_realcomplex_kernel.cpp.obj library/src/CMakeFiles/rocfft-rtc-launch.dir/rtc_stockham_kernel.cpp.obj library/src/CMakeFiles/rocfft-rtc-launch.dir/rtc_transpose_kernel.cpp.obj library/src/CMakeFiles/rocfft-rtc-launch.dir/rtc_twiddle_kernel.cpp.obj library/src/CMakeFiles/rocfft-rtc-launch.dir/rtc_chirp_kernel.cpp.obj library/src/CMakeFiles/rocfft-rtc-launch.dir/load_store_ops_kernel.cpp.obj library/src/CMakeFiles/rocfft-rtc-launch.dir/tree_node_callback.cpp.obj library/src/CMakeFiles/rocfft-solution-map.dir/solution_map.cpp.obj library/src/CMakeFiles/rocfft-solution-map.dir/solutions.cpp.obj library/src/CMakeFiles/rocfft-tuning-helper.dir/tuning_helper.cpp.obj library/src/CMakeFiles/rocfft.dir/auxiliary.cpp.obj library/src/CMakeFiles/rocfft.dir/plan.cpp.obj library/src/CMakeFiles/rocfft.dir/transform.cpp.obj library/src/CMakeFiles/rocfft.dir/repo.cpp.obj library/src/CMakeFiles/rocfft.dir/powX.cpp.obj library/src/CMakeFiles/rocfft.dir/chirp.cpp.obj library/src/CMakeFiles/rocfft.dir/twiddles.cpp.obj library/src/CMakeFiles/rocfft.dir/kargs.cpp.obj library/src/CMakeFiles/rocfft.dir/tree_node.cpp.obj library/src/CMakeFiles/rocfft.dir/tree_node_1D.cpp.obj library/src/CMakeFiles/rocfft.dir/tree_node_2D.cpp.obj library/src/CMakeFiles/rocfft.dir/tree_node_3D.cpp.obj library/src/CMakeFiles/rocfft.dir/tree_node_bluestein.cpp.obj library/src/CMakeFiles/rocfft.dir/tree_node_real.cpp.obj library/src/CMakeFiles/rocfft.dir/fuse_shim.cpp.obj library/src/CMakeFiles/rocfft.dir/assignment_policy.cpp.obj library/src/CMakeFiles/rocfft.dir/node_factory.cpp.obj library/src/CMakeFiles/rocfft.dir/enum_printer.cpp.obj library/src/CMakeFiles/rocfft.dir/rtc_exports.cpp.obj library/src/CMakeFiles/rocfft.dir/tuning_kernel_tuner.cpp.obj library/src/CMakeFiles/rocfft.dir/tuning_plan_tuner.cpp.obj --hip-link --offload-arch=gfx1100 --offload-arch=gfx1101 --offload-arch=gfx1102 C:/008985C5-A238-4B36-958A-4D5EFCDBF07E/build/core/clr/dist/lib/llvm/lib/clang/20/lib/windows/clang_rt.builtins-x86_64.lib B:/build/core/clr/dist/lib/amdhip64.lib B:/build/core/clr/dist/lib/hiprtc.lib -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -loldnames && cd ."
[rocFFT] clang++: error: invalid linker name in argument '-fuse-ld=lld-link'
[rocFFT] clang++: error: invalid linker name in argument '-fuse-ld=lld-link'
[rocFFT] clang++: error: invalid linker name in argument '-fuse-ld=lld-link'
[rocFFT] ninja: build stopped: subcommand failed.
We can confirm that reverting these changed lines that add the -fgpu-rdc flag in this commit does fix the build (locally and on CI).
@davidd-amd suggests that this -fgpu-rdc flag is used by other subprojects so it might be an issue with the flag ordering in the linker command.
There was a problem hiding this comment.
To clarify, -fuse-ld=lld-link is used by other projects without error however the other projects do not use -fgpu-rdc. I wonder if this should be guarded by if(NOT WIN32). Let me spend 20 minutes looking at if/how we can form a link command that will work.
There was a problem hiding this comment.
Ah, okay. I also looked through https://clang.llvm.org/docs/HIPSupport.html#device-code-compilation and the related code in LLVM to see if that is exclusive to Linux but nothing really stood out to me. You might want to reach out to members of the compiler team or the upstream LLVM developers to weigh in as well.
There was a problem hiding this comment.
FYI, I opened #1402 to unblock this issue (hopefully temporarily) while it is analyzed. @davidd-amd and @ScottTodd, please let me/us know if you found anything relevant to this issue.
There was a problem hiding this comment.
FYI, I opened #1402 to unblock this issue (hopefully temporarily) while it is analyzed. @davidd-amd and @ScottTodd, please let me/us know if you found anything relevant to this issue.
The patch seems to fix the Windows build issue in TheRock and allows to drop the local revert.
…/sphinx (#5767) Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.10.1 to 2.12.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/jpadilla/pyjwt/releases">pyjwt's releases</a>.</em></p> <blockquote> <h2>2.12.0</h2> <h2>Security</h2> <ul> <li>Validate the crit (Critical) Header Parameter defined in RFC 7515 §4.1.11. by <a href="https://github.com/dmbs335"><code>@dmbs335</code></a> in <a href="https://github.com/jpadilla/pyjwt/security/advisories/GHSA-752w-5fwx-jx9f">GHSA-752w-5fwx-jx9f</a></li> </ul> <h2>What's Changed</h2> <ul> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://github.com/jpadilla/pyjwt/pull/1132">jpadilla/pyjwt#1132</a></li> <li>chore(docs): fix docs build by <a href="https://github.com/tamird"><code>@tamird</code></a> in <a href="https://github.com/jpadilla/pyjwt/pull/1137">jpadilla/pyjwt#1137</a></li> <li>Annotate PyJWKSet.keys for pyright by <a href="https://github.com/tamird"><code>@tamird</code></a> in <a href="https://github.com/jpadilla/pyjwt/pull/1134">jpadilla/pyjwt#1134</a></li> <li>fix: close HTTPError to prevent ResourceWarning on Python 3.14 by <a href="https://github.com/veeceey"><code>@veeceey</code></a> in <a href="https://github.com/jpadilla/pyjwt/pull/1133">jpadilla/pyjwt#1133</a></li> <li>chore: remove superfluous constants by <a href="https://github.com/tamird"><code>@tamird</code></a> in <a href="https://github.com/jpadilla/pyjwt/pull/1136">jpadilla/pyjwt#1136</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://github.com/jpadilla/pyjwt/pull/1135">jpadilla/pyjwt#1135</a></li> <li>chore(tests): enable mypy by <a href="https://github.com/tamird"><code>@tamird</code></a> in <a href="https://github.com/jpadilla/pyjwt/pull/1138">jpadilla/pyjwt#1138</a></li> <li>Bump actions/download-artifact from 7 to 8 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://github.com/jpadilla/pyjwt/pull/1142">jpadilla/pyjwt#1142</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://github.com/jpadilla/pyjwt/pull/1141">jpadilla/pyjwt#1141</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://github.com/jpadilla/pyjwt/pull/1145">jpadilla/pyjwt#1145</a></li> <li>fix: do not store reference to algorithms dict on PyJWK by <a href="https://github.com/akx"><code>@akx</code></a> in <a href="https://github.com/jpadilla/pyjwt/pull/1143">jpadilla/pyjwt#1143</a></li> <li>Use PyJWK algorithm when encoding without explicit algorithm by <a href="https://github.com/jpadilla"><code>@jpadilla</code></a> in <a href="https://github.com/jpadilla/pyjwt/pull/1148">jpadilla/pyjwt#1148</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/tamird"><code>@tamird</code></a> made their first contribution in <a href="https://github.com/jpadilla/pyjwt/pull/1137">jpadilla/pyjwt#1137</a></li> <li><a href="https://github.com/veeceey"><code>@veeceey</code></a> made their first contribution in <a href="https://github.com/jpadilla/pyjwt/pull/1133">jpadilla/pyjwt#1133</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/jpadilla/pyjwt/compare/2.11.0...2.12.0">https://github.com/jpadilla/pyjwt/compare/2.11.0...2.12.0</a></p> <h2>2.11.0</h2> <h2>What's Changed</h2> <ul> <li>Fixed type error in comment by <a href="https://github.com/shuhaib-aot"><code>@shuhaib-aot</code></a> in <a href="https://github.com/jpadilla/pyjwt/pull/1026">jpadilla/pyjwt#1026</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://github.com/jpadilla/pyjwt/pull/1018">jpadilla/pyjwt#1018</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://github.com/jpadilla/pyjwt/pull/1033">jpadilla/pyjwt#1033</a></li> <li>Make note of use of leeway with nbf by <a href="https://github.com/djw8605"><code>@djw8605</code></a> in <a href="https://github.com/jpadilla/pyjwt/pull/1034">jpadilla/pyjwt#1034</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://github.com/jpadilla/pyjwt/pull/1035">jpadilla/pyjwt#1035</a></li> <li>Fixes <a href="https://github.com/jpadilla/pyjwt/issues/964">#964</a>: Validate key against allowed types for Algorithm family by <a href="https://github.com/pachewise"><code>@pachewise</code></a> in <a href="https://github.com/jpadilla/pyjwt/pull/985">jpadilla/pyjwt#985</a></li> <li>Feat <a href="https://github.com/jpadilla/pyjwt/issues/1024">#1024</a>: Add iterator for PyJWKSet by <a href="https://github.com/pachewise"><code>@pachewise</code></a> in <a href="https://github.com/jpadilla/pyjwt/pull/1041">jpadilla/pyjwt#1041</a></li> <li>Fixes <a href="https://github.com/jpadilla/pyjwt/issues/1039">#1039</a>: Add iss, issuer type checks by <a href="https://github.com/pachewise"><code>@pachewise</code></a> in <a href="https://github.com/jpadilla/pyjwt/pull/1040">jpadilla/pyjwt#1040</a></li> <li>Fixes <a href="https://github.com/jpadilla/pyjwt/issues/660">#660</a>: Improve typing/logic for <code>options</code> in decode, decode_complete; Improve docs by <a href="https://github.com/pachewise"><code>@pachewise</code></a> in <a href="https://github.com/jpadilla/pyjwt/pull/1045">jpadilla/pyjwt#1045</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://github.com/jpadilla/pyjwt/pull/1042">jpadilla/pyjwt#1042</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://github.com/jpadilla/pyjwt/pull/1052">jpadilla/pyjwt#1052</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://github.com/jpadilla/pyjwt/pull/1053">jpadilla/pyjwt#1053</a></li> <li>Fix <a href="https://github.com/jpadilla/pyjwt/issues/1022">#1022</a>: Map <code>algorithm=None</code> to "none" by <a href="https://github.com/qqii"><code>@qqii</code></a> in <a href="https://github.com/jpadilla/pyjwt/pull/1056">jpadilla/pyjwt#1056</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://github.com/jpadilla/pyjwt/pull/1055">jpadilla/pyjwt#1055</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://github.com/jpadilla/pyjwt/pull/1058">jpadilla/pyjwt#1058</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://github.com/jpadilla/pyjwt/pull/1060">jpadilla/pyjwt#1060</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://github.com/jpadilla/pyjwt/pull/1061">jpadilla/pyjwt#1061</a></li> <li>Fixes <a href="https://github.com/jpadilla/pyjwt/issues/1047">#1047</a>: Correct <code>PyJWKClient.get_signing_key_from_jwt</code> annotation by <a href="https://github.com/khvn26"><code>@khvn26</code></a> in <a href="https://github.com/jpadilla/pyjwt/pull/1048">jpadilla/pyjwt#1048</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://github.com/jpadilla/pyjwt/pull/1062">jpadilla/pyjwt#1062</a></li> <li>Fixed doc string typo in _validate_jti() function <a href="https://github.com/jpadilla/pyjwt/issues/1063">#1063</a> by <a href="https://github.com/kuldeepkhatke"><code>@kuldeepkhatke</code></a> in <a href="https://github.com/jpadilla/pyjwt/pull/1064">jpadilla/pyjwt#1064</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://github.com/jpadilla/pyjwt/pull/1065">jpadilla/pyjwt#1065</a></li> <li>Update SECURITY.md by <a href="https://github.com/auvipy"><code>@auvipy</code></a> in <a href="https://github.com/jpadilla/pyjwt/pull/1057">jpadilla/pyjwt#1057</a></li> <li>Typing fix: use <code>float</code> instead of <code>int</code> for <code>lifespan</code> and <code>timeout</code> by <a href="https://github.com/nikitagashkov"><code>@nikitagashkov</code></a> in <a href="https://github.com/jpadilla/pyjwt/pull/1068">jpadilla/pyjwt#1068</a></li> <li>[pre-commit.ci] pre-commit autoupdate by <a href="https://github.com/pre-commit-ci"><code>@pre-commit-ci</code></a>[bot] in <a href="https://github.com/jpadilla/pyjwt/pull/1067">jpadilla/pyjwt#1067</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst">pyjwt's changelog</a>.</em></p> <blockquote> <h2><code>v2.12.0 <https://github.com/jpadilla/pyjwt/compare/2.11.0...2.12.0></code>__</h2> <p>Fixed</p> <pre><code> - Annotate PyJWKSet.keys for pyright by @tamird in `[#1134](jpadilla/pyjwt#1134) <https://github.com/jpadilla/pyjwt/pull/1134>`__ - Close ``HTTPError`` response to prevent ``ResourceWarning`` on Python 3.14 by @veeceey in `[#1133](jpadilla/pyjwt#1133) <https://github.com/jpadilla/pyjwt/pull/1133>`__ - Do not keep ``algorithms`` dict in PyJWK instances by @akx in `[#1143](jpadilla/pyjwt#1143) <https://github.com/jpadilla/pyjwt/pull/1143>`__ - Validate the crit (Critical) Header Parameter defined in RFC 7515 §4.1.11. by @dmbs335 in `GHSA-752w-5fwx-jx9f <https://github.com/jpadilla/pyjwt/security/advisories/GHSA-752w-5fwx-jx9f>`__ - Use PyJWK algorithm when encoding without explicit algorithm in `[#1148](jpadilla/pyjwt#1148) <https://github.com/jpadilla/pyjwt/pull/1148>`__ <p>Added </code></pre></p> <ul> <li>Docs: Add <code>PyJWKClient</code> API reference and document the two-tier caching system (JWK Set cache and signing key LRU cache).</li> </ul> <h2><code>v2.11.0 <https://github.com/jpadilla/pyjwt/compare/2.10.1...2.11.0></code>__</h2> <p>Fixed</p> <pre><code> - Enforce ECDSA curve validation per RFC 7518 Section 3.4. - Fix build system warnings by @kurtmckee in `[#1105](jpadilla/pyjwt#1105) <https://github.com/jpadilla/pyjwt/pull/1105>`__ - Validate key against allowed types for Algorithm family in `[#964](jpadilla/pyjwt#964) <https://github.com/jpadilla/pyjwt/pull/964>`__ - Add iterator for JWKSet in `[#1041](jpadilla/pyjwt#1041) <https://github.com/jpadilla/pyjwt/pull/1041>`__ - Validate `iss` claim is a string during encoding and decoding by @pachewise in `[#1040](jpadilla/pyjwt#1040) <https://github.com/jpadilla/pyjwt/pull/1040>`__ - Improve typing/logic for `options` in decode, decode_complete by @pachewise in `[#1045](jpadilla/pyjwt#1045) <https://github.com/jpadilla/pyjwt/pull/1045>`__ - Declare float supported type for lifespan and timeout by @nikitagashkov in `[#1068](jpadilla/pyjwt#1068) <https://github.com/jpadilla/pyjwt/pull/1068>`__ - Fix ``SyntaxWarning``\s/``DeprecationWarning``\s caused by invalid escape sequences by @kurtmckee in `[#1103](jpadilla/pyjwt#1103) <https://github.com/jpadilla/pyjwt/pull/1103>`__ - Development: Build a shared wheel once to speed up test suite setup times by @kurtmckee in `[#1114](jpadilla/pyjwt#1114) <https://github.com/jpadilla/pyjwt/pull/1114>`__ - Development: Test type annotations across all supported Python versions, increase the strictness of the type checking, and remove the mypy pre-commit hook by @kurtmckee in `[#1112](jpadilla/pyjwt#1112) <https://github.com/jpadilla/pyjwt/pull/1112>`__ <p>Added </code></pre></p> <ul> <li>Support Python 3.14, and test against PyPy 3.10 and 3.11 by <a href="https://github.com/kurtmckee"><code>@kurtmckee</code></a> in <code>[#1104](jpadilla/pyjwt#1104) <https://github.com/jpadilla/pyjwt/pull/1104></code>__</li> <li>Development: Migrate to <code>build</code> to test package building in CI by <a href="https://github.com/kurtmckee"><code>@kurtmckee</code></a> in <code>[#1108](jpadilla/pyjwt#1108) <https://github.com/jpadilla/pyjwt/pull/1108></code>__</li> <li>Development: Improve coverage config and eliminate unused test suite code by <a href="https://github.com/kurtmckee"><code>@kurtmckee</code></a> in <code>[#1115](jpadilla/pyjwt#1115) <https://github.com/jpadilla/pyjwt/pull/1115></code>__</li> <li>Docs: Standardize CHANGELOG links to PRs by <a href="https://github.com/kurtmckee"><code>@kurtmckee</code></a> in <code>[#1110](jpadilla/pyjwt#1110) <https://github.com/jpadilla/pyjwt/pull/1110></code>__</li> <li>Docs: Fix Read the Docs builds by <a href="https://github.com/kurtmckee"><code>@kurtmckee</code></a> in <code>[#1111](jpadilla/pyjwt#1111) <https://github.com/jpadilla/pyjwt/pull/1111></code>__</li> <li>Docs: Add example of using leeway with nbf by <a href="https://github.com/djw8605"><code>@djw8605</code></a> in <code>[#1034](jpadilla/pyjwt#1034) <https://github.com/jpadilla/pyjwt/pull/1034></code>__</li> <li>Docs: Refactored docs with <code>autodoc</code>; added <code>PyJWS</code> and <code>jwt.algorithms</code> docs by <a href="https://github.com/pachewise"><code>@pachewise</code></a> in <code>[#1045](jpadilla/pyjwt#1045) <https://github.com/jpadilla/pyjwt/pull/1045></code>__</li> <li>Docs: Documentation improvements for "sub" and "jti" claims by <a href="https://github.com/cleder"><code>@cleder</code></a> in <code>[#1088](jpadilla/pyjwt#1088) <https://github.com/jpadilla/pyjwt/pull/1088></code>__</li> <li>Development: Add pyupgrade as a pre-commit hook by <a href="https://github.com/kurtmckee"><code>@kurtmckee</code></a> in <code>[#1109](jpadilla/pyjwt#1109) <https://github.com/jpadilla/pyjwt/pull/1109></code>__</li> <li>Add minimum key length validation for HMAC and RSA keys (CWE-326). Warns by default via <code>InsecureKeyLengthWarning</code> when keys are below</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/jpadilla/pyjwt/commit/bd9700cca7f9258fadcc429c1034e508025931f2"><code>bd9700c</code></a> Use PyJWK algorithm when encoding without explicit algorithm (<a href="https://github.com/jpadilla/pyjwt/issues/1148">#1148</a>)</li> <li><a href="https://github.com/jpadilla/pyjwt/commit/051ea341b5573fe3edcd53042f347929b92c2b92"><code>051ea34</code></a> Merge commit from fork</li> <li><a href="https://github.com/jpadilla/pyjwt/commit/1451d70eca2059bc472703692f0bb0777bc0fe93"><code>1451d70</code></a> fix: do not store reference to algorithms dict on PyJWK (<a href="https://github.com/jpadilla/pyjwt/issues/1143">#1143</a>)</li> <li><a href="https://github.com/jpadilla/pyjwt/commit/f3ba74c106df9ce10e272dfaad96acb4ab3ef5a5"><code>f3ba74c</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://github.com/jpadilla/pyjwt/issues/1145">#1145</a>)</li> <li><a href="https://github.com/jpadilla/pyjwt/commit/0318ffa7b156b01600376e38952bf961382e0724"><code>0318ffa</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://github.com/jpadilla/pyjwt/issues/1141">#1141</a>)</li> <li><a href="https://github.com/jpadilla/pyjwt/commit/a52753db3c1075ac01337fa8b7cc92b13a19ac09"><code>a52753d</code></a> Bump actions/download-artifact from 7 to 8 (<a href="https://github.com/jpadilla/pyjwt/issues/1142">#1142</a>)</li> <li><a href="https://github.com/jpadilla/pyjwt/commit/b85050f1d444c6828bb4618ee764443b0a3f5d18"><code>b85050f</code></a> chore(tests): enable mypy (<a href="https://github.com/jpadilla/pyjwt/issues/1138">#1138</a>)</li> <li><a href="https://github.com/jpadilla/pyjwt/commit/1272b264779717cc481c8341f321a7fc8b3aaba6"><code>1272b26</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://github.com/jpadilla/pyjwt/issues/1135">#1135</a>)</li> <li><a href="https://github.com/jpadilla/pyjwt/commit/99a87287c26cb97c94399084ee4186ee52207a7f"><code>99a8728</code></a> chore: remove superfluous constants (<a href="https://github.com/jpadilla/pyjwt/issues/1136">#1136</a>)</li> <li><a href="https://github.com/jpadilla/pyjwt/commit/412cb67a93363812ae4029d6a95f5d4d40ab2609"><code>412cb67</code></a> fix: close HTTPError to prevent ResourceWarning on Python 3.14 (<a href="https://github.com/jpadilla/pyjwt/issues/1133">#1133</a>)</li> <li>Additional commits viewable in <a href="https://github.com/jpadilla/pyjwt/compare/2.10.1...2.12.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/ROCm/rocm-libraries/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Device code must be relocatable in order to be called from another translation unit.
cf. https://clang.llvm.org/docs/HIPSupport.html#device-code-compilation