release: add Linux and native Windows CUDA archives - #26
Merged
Conversation
Linear k scaling underestimated Tiny at k=22: the fixed partition tile and full key capacity peaked at 41.96 MiB against a 16.63 MiB estimate. Scale the table portion by the shared capacity formula and retain the partition allowance so admission and the regression guard use the same estimate.
Only BLS derivation and plot-ID hashing are needed by the FFI. Depend on chia-bls directly and retain chia-protocol as a test oracle for the exact streamable encoding. This removes the unused VM and its static LGPL dependencies from the release dependency graph.
Build explicit Maxwell-through-Blackwell targets with CUDA 12.9.1 on Ubuntu 22.04. Package the executable, source and toolchain metadata, checksums, and dependency licenses through CPack. Test the extracted archive without a development toolkit and keep tagged releases in draft until GPU qualification.
Preserve private file creation, positional spill I/O, durable publication, and cancellation on native Windows. Build the standalone CLI with MSVC and a matching static Rust runtime, and verify the extracted ZIP with real CPU plotting and recovery checks.
The minimal CUDA installer omits EULA.txt. Verify and extract the license from the matching NVIDIA runtime redistribution archive instead. Restore the console code page when the CLI exits.
CUDA 12.9 bundles CCCL headers that use long2 where PTX requires 64-bit operands. Windows long is 32 bits, so Blackwell compilation fails before the plotter can link. Apply the exact upstream fix to a build-local header, following the existing solver patch mechanism, and record it in the package metadata.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add Linux and native Windows x86-64 CUDA archives with explicit GPU architectures, dependency licenses, source/toolchain metadata, and SHA-256 checksums. Tagged builds create draft releases for hardware qualification.
The Windows port covers private ACLs, concurrent spill I/O and file mapping, preallocation, durable plot/manifest publication, Unicode and extended paths, cryptographic seed generation, and console cancellation. MSVC and the Rust key generator use matching static runtimes. Include NVIDIA's upstream CCCL Windows PTX operand correction for the pinned CUDA 12.9 toolkit.
Supporting changes remove an unused production CLVM dependency and account for CUB's actual scratch requirement in tier admission.
Validation:
Windows GPU qualification remains pending because no Windows GPU machine was available. Keep this PR draft until that hardware qualification is completed; hosted CPU tests do not establish GPU correctness or performance on Windows.