Open
Conversation
Add platform abstraction layer (src/io/compat.rs) unifying all direct I/O
primitives across macOS, Linux/WSL2, and Windows. NVMe streaming now works
on Windows via FILE_FLAG_NO_BUFFERING + ReadFile(OVERLAPPED) — equivalent
to F_NOCACHE + pread on macOS.
Key changes:
- src/io/compat.rs: NativeFd type alias + open_direct_fd/read_at_fd/
alloc_pages/free_pages/advise_free_pages for all platforms
- src/io/aligned_buffer.rs: posix_memalign → std::alloc::Layout
- hypura-sys/build.rs: Metal/CUDA/CPU three-way build with CUDA
auto-detection and dunce::canonicalize (fixes \?\ UNC path on Windows)
- hypura-sys/src/hypura_buft.c: #ifdef _WIN32 VirtualAlloc/VirtualFree
- src/profiler/{cpu,gpu,storage,mod}.rs: cross-platform hardware detection
+ NVIDIA GPU spec DB (RTX 20/30/40/50 + A/H series)
- src/compute/{nvme_backend,inference}.rs: compat module + sysinfo
- src/scheduler/placement.rs: per-OS OS_OVERHEAD/GPU_RUNTIME_OVERHEAD
- Cargo.toml: windows-sys conditional dependency
- README.md: bilingual (Japanese/English), Windows/WSL2 install instructions
- _docs/: dated implementation logs
CUDA architectures: sm_75 (RTX 20xx), sm_86 (RTX 30xx), sm_89 (RTX 40xx),
sm_90 (H100). Override with HYPURA_CUDA_ARCHITECTURES env var.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ific configs - hypura-sys/build.rs: check HYPURA_PREGENERATED_BINDINGS env var or hypura-sys/bindings.rs before invoking bindgen, enabling builds on machines without LLVM/libclang installed; improve error message to guide users toward the fix - .gitignore: exclude .cargo/config.toml (LIBCLANG_PATH is machine- specific) and .claude/ (local IDE settings); remove accidentally committed .claude/settings.local.json from tracking - _docs/: add implementation log for the libclang Windows fix Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Disable llama.cpp tool targets in hypura-sys CMake configuration to avoid building unsupported multimodal CLIs on Windows, and ignore local temporary build artifact directories. Made-with: Cursor
Use isolated target-dir build runs and retain Windows runtime/link fixes while documenting redirected serve logs and successful /, /api/tags, /api/generate smoke results. Made-with: Cursor
Add a 139-character X/Twitter intro tailored for AI engineers and local LLM users, and record an implementation log in _docs. Made-with: Cursor
Rewrite README for RTX30 stable Windows flow, add bilingual install/usage release guide, and expand .gitignore for large generated artifacts and local agent files. Made-with: Cursor
Add JA/EN release notes used for GitHub release publication and record the release publishing workflow/log for traceability. Made-with: Cursor
Track the remaining documentation updates while excluding build artifacts and packaged outputs, and improve the short RTX30 social intro variants. Made-with: Cursor
Ignore dist outputs and archive bundles so release binaries are managed only as GitHub Release assets, keeping git status clean. Made-with: Cursor
Owner
|
Hey there, appreciate the contribution, but can you share a bit more about the purpose of this PR? |
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
Test plan