Allow a pinned JIT SDK without rebuilding PyTorch or the extension. Keep runtime device bitcode unchanged: exporting TheRock bitcode into the serving process crashes CLR 7.2 on a basic tensor operation. Disable unsupported expandable segments and check all five HIP kernel modules, with an optional GPU matmul and module-loading regression test.
This commit is contained in:
@@ -95,6 +95,30 @@ nix run git+https://git.millerson.name/alex/millerson-overlay.nix.git#mcp-gatewa
|
||||
nix profile install git+https://git.millerson.name/alex/millerson-overlay.nix.git#mcp-gateway
|
||||
```
|
||||
|
||||
### Kyojin JIT Toolchain
|
||||
|
||||
Kyojin's serving wrappers use the packaged ROCm compiler by default. Supply a
|
||||
pinned SDK to compile HIP JIT kernels with another compiler without rebuilding
|
||||
PyTorch or the HIP extension:
|
||||
|
||||
```nix
|
||||
kyojin.override { jitRocmSdk = myJitSdk; }
|
||||
```
|
||||
|
||||
The SDK must provide `bin/hipcc` and matching `amdgcn/bitcode`. Its compiler
|
||||
wrapper must set `HIP_DEVICE_LIB_PATH` to that bitcode **in the compiler
|
||||
subprocess only**, along with any required `ROCM_PATH` and Nix C++ toolchain
|
||||
flags. Keep the compiler wrapper's real path inside the SDK prefix so upstream's
|
||||
compiler provenance check recognizes it.
|
||||
|
||||
The serving process keeps PyTorch's ROCm device libraries. Setting TheRock's
|
||||
Clang 23 bitcode globally makes the ROCm 7.2 runtime crash on a basic PyTorch
|
||||
matrix multiplication. The serving wrappers also disable unsupported expandable
|
||||
allocator segments. `nix build .#kyojin.tests.jit` checks compilation of five HIP
|
||||
kernel modules without requiring a GPU; `packages/kyojin/check-jit.py --gpu`, run
|
||||
with the package's Python environment and serving variables, additionally checks
|
||||
PyTorch matrix multiplication and module loading through its existing HIP runtime.
|
||||
|
||||
### nftablesbuilder Runtime Notes
|
||||
|
||||
`nftablesbuilder` is a web interface for managing nftables. It consists of a
|
||||
|
||||
Reference in New Issue
Block a user