Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,16 @@ the case we want filed.
```bash
git clone https://github.com/warpfront/hipfire
cd hipfire
cargo build --release --features deltanet --example daemon -p hipfire-runtime
cargo build --release --locked -p hipfire-daemon
cargo build --release --locked -p hipfire-cli
cargo build --release --features deltanet --example test_kernels -p hipfire-runtime
cargo build --release -p hipfire-quantize
./scripts/install-hooks.sh
```

Requires Rust 1.75+ and ROCm 6+ (the dev workflow needs `hipcc` for
kernel JIT). Pre-compiled kernel blobs ship for gfx1010 / gfx1030 /
gfx1100 / gfx1200; other arches JIT-compile on first load.
Requires current stable Rust (CI tracks `stable`; 1.98 is what the
maintainers build with — no MSRV is declared yet) and ROCm 6+ (the dev
workflow needs `hipcc` for kernel JIT). Pre-compiled kernel blobs ship for
gfx1010 / gfx1030 / gfx1100 / gfx1200; other arches JIT-compile on first load.

`scripts/install-hooks.sh` is idempotent; it sets
`core.hooksPath=.githooks` and makes the local pre-commit hook
Expand Down
47 changes: 1 addition & 46 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 9 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ members = [
"crates/redline",
"crates/redline-rocr",
"crates/redline-dispatch",
"crates/radiowave",
"crates/hipfire-dispatch",
"crates/hipfire-dispatch-tests",
"crates/hipfire-tui",
Expand All @@ -54,7 +53,16 @@ edition = "2021"
license = "Apache-2.0"

[workspace.dependencies]
anyhow = "1"
clap = "4.6"
half = "2.7"
libloading = "0.9"
memmap2 = "0.9"
minijinja = "2"
minijinja-contrib = "2"
proptest = { version = "1.11", default-features = false, features = ["std"] }
safetensors = "0.8"
serde = "1"
serde_json = "1"
sha2 = "0.10"
thiserror = "2"
1 change: 0 additions & 1 deletion crates/hip-bridge/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ lab = []
[dependencies]
hipfire-config = { path = "../hipfire-config" }
libloading.workspace = true
thiserror = "2"

[dev-dependencies]
redline-rocr = { path = "../redline-rocr" }
Expand Down
4 changes: 2 additions & 2 deletions crates/hipfire-arch-cohere2moe/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ hipfire-runtime = { path = "../hipfire-runtime" }
hipfire-dispatch = { path = "../hipfire-dispatch", features = ["from-hip-error"] }
hip-bridge = { path = "../hip-bridge" }
rdna-compute = { path = "../rdna-compute" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true

# ---------------------------------------------------------------------------
# Archived research probes.
Expand Down
5 changes: 2 additions & 3 deletions crates/hipfire-arch-deepseek4/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,11 @@ hipfire-runtime = { path = "../hipfire-runtime" }
hipfire-ds4-parent = { path = "../hipfire-ds4-parent" }
hip-bridge = { path = "../hip-bridge" }
rdna-compute = { path = "../rdna-compute" }
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", features = ["preserve_order"] }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true, features = ["preserve_order"] }
hipfire-dispatch = { path = "../hipfire-dispatch", features = ["from-hip-error"] }
hipfire-reap = { path = "../hipfire-reap", default-features = false }
saddle-core = { path = "../saddle-core" }
memmap2 = "0.9"

[dev-dependencies]
libloading.workspace = true
Expand Down
2 changes: 1 addition & 1 deletion crates/hipfire-arch-dots-ocr/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ hipfire-runtime = { path = "../hipfire-runtime" }
hipfire-arch-qwen2 = { path = "../hipfire-arch-qwen2" }
hip-bridge = { path = "../hip-bridge" }
rdna-compute = { path = "../rdna-compute" }
serde_json = "1"
serde_json.workspace = true
# Used by `image.rs` for PNG/JPEG decode. Matches the version pin in
# hipfire-arch-qwen35-vl/Cargo.toml; default-features off keeps the
# build closure small (only PNG + JPEG are needed for dots.ocr's
Expand Down
3 changes: 1 addition & 2 deletions crates/hipfire-arch-gemma4/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@ hipfire-runtime = { path = "../hipfire-runtime" }
hip-bridge = { path = "../hip-bridge" }
rdna-compute = { path = "../rdna-compute" }
hipfire-dispatch = { path = "../hipfire-dispatch" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_json.workspace = true

# ---------------------------------------------------------------------------
# Archived research probes.
Expand Down
3 changes: 1 addition & 2 deletions crates/hipfire-arch-lfm2-vl/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ deltanet = ["hipfire-runtime/deltanet", "rdna-compute/deltanet"]
hipfire-runtime = { path = "../hipfire-runtime" }
hip-bridge = { path = "../hip-bridge" }
rdna-compute = { path = "../rdna-compute" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_json.workspace = true
image = { version = "0.25", default-features = false, features = ["png", "jpeg"] }
libm = "0.2"
4 changes: 2 additions & 2 deletions crates/hipfire-arch-lfm2moe/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ hipfire-reap = { path = "../hipfire-reap", default-features = false }
# an lfm2_vl artifact was loaded with --include-vision. Acyclic — lfm2-vl
# never depends back on this crate.
hipfire-arch-lfm2-vl = { path = "../hipfire-arch-lfm2-vl" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true

[features]
# Archived research probes; see the note by the [[example]] blocks.
Expand Down
4 changes: 2 additions & 2 deletions crates/hipfire-arch-maple/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ hipfire-runtime = { path = "../hipfire-runtime" }
hipfire-dispatch = { path = "../hipfire-dispatch", features = ["from-hip-error"] }
hip-bridge = { path = "../hip-bridge" }
rdna-compute = { path = "../rdna-compute" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true

# ---------------------------------------------------------------------------
# Archived research probes.
Expand Down
2 changes: 1 addition & 1 deletion crates/hipfire-arch-maple/src/bundle.rs
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ impl ArchModel for MapleBundle {
/// Maple's end-of-turn token. The checkpoint ships the Qwen tokenizer and
/// `config.json` declares `eos_token_id` 151645 (`<|im_end|>`), not the
/// `<|endoftext|>` (151643) that a vocab heuristic would pick.
pub const MAPLE_EOS_FALLBACK: u32 = 151645;
pub const MAPLE_EOS_FALLBACK: u32 = hipfire_runtime::chatml::IM_END;

/// Resolve the end-of-turn id from the tokenizer, falling back to the
/// config-declared ChatML id.
Expand Down
4 changes: 2 additions & 2 deletions crates/hipfire-arch-minimax/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ hipfire-dispatch = { path = "../hipfire-dispatch", features = ["from-hip-error"]
hip-bridge = { path = "../hip-bridge" }
rdna-compute = { path = "../rdna-compute" }
hipfire-reap = { path = "../hipfire-reap", default-features = false }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true

# ---------------------------------------------------------------------------
# Archived research probes.
Expand Down
2 changes: 1 addition & 1 deletion crates/hipfire-arch-minimax/examples/ep_minimax.rs
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ fn main() {
for step in 0..max {
let next = argmax(&logits);
gen.push(next);
if matches!(next, 200020 | 151643 | 151645 | 2) {
if matches!(next, 200020 | hipfire_runtime::chatml::ENDOFTEXT | hipfire_runtime::chatml::IM_END | 2) {
break;
}
if step == 2 { steady_t = std::time::Instant::now(); steady = 0; }
Expand Down
2 changes: 1 addition & 1 deletion crates/hipfire-arch-minimax/examples/infer_minimax.rs
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ fn main() {
let next = argmax(&logits);
gen.push(next);
// common MiniMax/Qwen EOS ids; stop early if hit
if matches!(next, 200020 | 151643 | 151645 | 2) {
if matches!(next, 200020 | hipfire_runtime::chatml::ENDOFTEXT | hipfire_runtime::chatml::IM_END | 2) {
break;
}
logits =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ fn main() -> Result<(), String> {
let mut gen: Vec<u32> = Vec::new();
for _ in 0..gen_n {
let next = am(&logits) as u32;
if matches!(next, 200020 | 151643 | 151645 | 2) {
if matches!(next, 200020 | hipfire_runtime::chatml::ENDOFTEXT | hipfire_runtime::chatml::IM_END | 2) {
break;
}
gen.push(next);
Expand Down
3 changes: 1 addition & 2 deletions crates/hipfire-arch-muse-glimmer/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ hipfire-runtime = { path = "../hipfire-runtime" }
hip-bridge = { path = "../hip-bridge" }
rdna-compute = { path = "../rdna-compute" }
hipfire-dispatch = { path = "../hipfire-dispatch" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_json.workspace = true

# ---------------------------------------------------------------------------
# Archived research probes.
Expand Down
Loading
Loading