Repository navigation
refactor(workspace): prepare vrp-gpu for crates.io - #11
Merged
Merged
Conversation
Signed-off-by: Guilherme Pedroza <guilhermebarb0sa@proton.me>
Signed-off-by: Guilherme Pedroza <guilhermebarb0sa@proton.me>
Signed-off-by: Guilherme Pedroza <guilhermebarb0sa@proton.me>
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
Mark vrp-gpu-kernel as unpublished and correct the rustdoc typo.
Review effort: Lite
Findings: None
What changed in this PR
Prepares the workspace for a future vrp-gpu crates.io release by reorganizing packages, documentation, kernel tooling, and CI validation.
Changes:
- Renames and namespaces workspace crates.
- Adds publication metadata, READMEs, documentation, and lockfiles.
- Expands MSRV, documentation, packaging, and kernel validation.
| File | Summary |
|---|---|
SECURITY.md |
Adds vulnerability-reporting policy. |
README.md |
Updates workspace guidance. |
justfile |
Adds quality and packaging checks. |
docs/releasing.md |
Documents release procedures. |
docs/benchmarks/README.md |
Defines benchmark requirements. |
docs/architecture.md |
Documents package boundaries. |
docs/2opt-gpu-reduction.md |
Updates package commands. |
crates/vrp-gpu/src/solution.rs |
Defines solution representations. |
crates/vrp-gpu/src/local_search/mod.rs |
Documents 2-opt fields. |
crates/vrp-gpu/src/local_search/gpu.rs |
Provides GPU orchestration. |
crates/vrp-gpu/src/local_search/gpu_reduction_tests.rs |
Adds GPU reduction tests. |
crates/vrp-gpu/src/local_search/cpu.rs |
Provides CPU 2-opt implementation. |
crates/vrp-gpu/src/lib.rs |
Exposes public modules. |
crates/vrp-gpu/src/instance.rs |
Provides parsing and validation. |
crates/vrp-gpu/src/construct.rs |
Provides nearest-neighbor construction. |
crates/vrp-gpu/README.md |
Adds crate documentation. |
crates/vrp-gpu/kernel.ptx |
Updates generated PTX. |
crates/vrp-gpu/Cargo.toml |
Defines publishable crate metadata. |
crates/vrp-gpu-kernel/src/lib.rs |
Defines CUDA kernels. |
crates/vrp-gpu-kernel/rust-toolchain.toml |
Pins the kernel toolchain. |
crates/vrp-gpu-kernel/Cargo.toml |
Defines the kernel package. |
crates/vrp-gpu-kernel/Cargo.lock |
Locks kernel dependencies. |
crates/vrp-gpu-cli/src/main.rs |
Defines the internal CLI. |
crates/vrp-gpu-cli/Cargo.toml |
Defines the unpublished CLI package. |
crates/vrp-gpu-bench/src/main.rs |
Defines the benchmark entry point. |
crates/vrp-gpu-bench/Cargo.toml |
Defines the unpublished benchmark package. |
crates/vrp-core/src/lib.rs |
Removes the former library entry point. |
crates/vrp-core/Cargo.toml |
Removes the former library manifest. |
crates/vrp-cli/src/main.rs |
Removes the former CLI entry point. |
crates/vrp-cli/Cargo.toml |
Removes the former CLI manifest. |
crates/vrp-bench/src/main.rs |
Removes the former benchmark entry point. |
crates/vrp-bench/Cargo.toml |
Removes the former benchmark manifest. |
CONTRIBUTING.md |
Updates contributor guidance. |
CHANGELOG.md |
Adds unreleased changes. |
Cargo.toml |
Defines the workspace and metadata. |
Cargo.lock |
Locks workspace dependencies. |
.gitignore |
Updates artifact exclusions. |
.github/workflows/ci.yml |
Adds MSRV, docs, and packaging checks. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
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.
Summary
Reorganizes the repository around a single future crates.io package,
vrp-gpu, while keeping development-only binaries and the cuda-oxide kernel toolchain outside the publication boundary. No solver or local-search behavior is changed.Key Changes
Unambiguous crate identity
vrp-coretovrp-gpu, avoiding names already owned by the existingvrpecosystem on crates.io.vrp-gpu-cli,vrp-gpu-bench, andvrp-gpu-kernel.publish = false; onlyvrp-gpuremains publishable.Publication-ready manifest and archive
sm_120PTX after namespacing the kernel package and verifies it matches the embedded artifact byte-for-byte.User and maintainer documentation
Publication QA
.cratearchive in local and remote CI.just kernel-ci.Commits Included
refactor(workspace): establish vrp-gpu crate identitydocs(project): define crates.io publication lifecycleci(package): validate docs MSRV and crate archiveVerification
just ci: formatting, all-target/all-feature check, Clippy, tests, rustdoc, package verification, and cargo-deny.cargo +1.88.0 check -p vrp-gpu --all-features --lockedpassed with the declared MSRV.just kernel-cipassed with the pinned nightly toolchain.cargo oxide inspect --arch sm_120succeeded and the generated PTX matchescrates/vrp-gpu/kernel.ptxbyte-for-byte.cargo package -p vrp-gpu --lockedproduced and verified a 14-file archive (93.5 KiB, 22.2 KiB compressed).Signed-off-bytrailers.Scope
This PR prepares repository structure, naming, metadata, documentation, and QA for a future release. It does not publish to crates.io, add new CPU/GPU comparisons, change algorithms, claim support beyond the currently verified hardware, or automate credentials and publication.