Compare commits
35 commits
master
...
proving-v2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7c48454e36 | ||
|
|
0f48f75740 | ||
|
|
98fc78189c | ||
|
|
5bbb73ecc1 | ||
|
|
91cbe968c6 | ||
|
|
025c214bf3 | ||
|
|
c5a9b4c466 | ||
|
|
1b7d2a7407 | ||
|
|
9ff5ef4010 | ||
|
|
aa78d877c7 | ||
|
|
5f77004b17 | ||
|
|
224d18ec4c | ||
|
|
80ccf79c84 | ||
|
|
2acf826f19 | ||
|
|
6e041ae1e9 | ||
|
|
c586f6ee92 | ||
|
|
123b45c012 | ||
|
|
9a2e665a33 | ||
|
|
73e6d5766d | ||
|
|
e987de5be8 | ||
|
|
e199c322ab | ||
|
|
f748620e0b | ||
|
|
bb76130836 | ||
|
|
a95eb4059e | ||
|
|
8835d1512f | ||
|
|
0136d2b84b | ||
|
|
48af9d75e2 | ||
|
|
95ee92a233 | ||
|
|
67d6e24c51 | ||
|
|
5d0eae3d64 | ||
|
|
073637ec44 | ||
|
|
953345d246 | ||
|
|
76d690fedf | ||
|
|
b4c089cdaa | ||
|
|
1ba45a6039 |
221 changed files with 18701 additions and 126 deletions
|
|
@ -69,6 +69,10 @@ pub struct Settings {
|
||||||
/// Prove the shards assigned to this machine's keys (src/prover.rs). Default off until the GPU numbers exist.
|
/// Prove the shards assigned to this machine's keys (src/prover.rs). Default off until the GPU numbers exist.
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub prove: bool,
|
pub prove: bool,
|
||||||
|
/// proving v2 (6 October 2026): the proof system this machine proves with, 1 = SP1 (the default), 2 = RISC Zero
|
||||||
|
/// (`igneum-prove-r0-host` next to the SP1 host); shard records carry it as their version
|
||||||
|
#[serde(default = "default_prove_system")]
|
||||||
|
pub prove_system: u8,
|
||||||
/// The efficiency sweep (src/sweep.rs): once after install, then weekly, each NVIDIA card's cap is stepped from
|
/// The efficiency sweep (src/sweep.rs): once after install, then weekly, each NVIDIA card's cap is stepped from
|
||||||
/// 100% to 50% on the live program and held at the best MH per watt. Default on. A pinned card is skipped.
|
/// 100% to 50% on the live program and held at the best MH per watt. Default on. A pinned card is skipped.
|
||||||
#[serde(default = "yes")]
|
#[serde(default = "yes")]
|
||||||
|
|
@ -102,7 +106,7 @@ fn yes() -> bool {
|
||||||
|
|
||||||
impl Default for Settings {
|
impl Default for Settings {
|
||||||
fn default() -> Settings {
|
fn default() -> Settings {
|
||||||
Settings { setup_done: false, address: String::new(), address_source: String::new(), key_saved: false, identities: 1, cards: HashMap::new(), display_name: String::new(), vote: true, paused: false, accepted_total: 0, auto_update: true, remote_jobs: true, prove: false, sweep: true, installed_at: 0, dev_fee: true, fee_total: 0, proof_verify_trust: false, prove_default_applied: false }
|
Settings { setup_done: false, address: String::new(), address_source: String::new(), key_saved: false, identities: 1, cards: HashMap::new(), display_name: String::new(), vote: true, paused: false, accepted_total: 0, auto_update: true, remote_jobs: true, prove: false, prove_system: 1, sweep: true, installed_at: 0, dev_fee: true, fee_total: 0, proof_verify_trust: false, prove_default_applied: false }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -439,3 +443,7 @@ mod tests {
|
||||||
assert!(p.node_override_params.is_none());
|
assert!(p.node_override_params.is_none());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn default_prove_system() -> u8 {
|
||||||
|
1
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -116,7 +116,7 @@ impl Shared {
|
||||||
st.mining.accepted_total = settings.accepted_total;
|
st.mining.accepted_total = settings.accepted_total;
|
||||||
st.mining.fee_total = settings.fee_total;
|
st.mining.fee_total = settings.fee_total;
|
||||||
st.address = address_state(&settings, &wallet_path);
|
st.address = address_state(&settings, &wallet_path);
|
||||||
st.settings = crate::state::SettingsState { identities: settings.identities, vote: settings.vote, start_at_login: crate::platform::start_at_login_is_on(), auto_update: settings.auto_update, remote_jobs: settings.remote_jobs, prove: settings.prove, sweep: settings.sweep, dev_fee: settings.dev_fee, proof_verify_trust: settings.proof_verify_trust };
|
st.settings = crate::state::SettingsState { identities: settings.identities, vote: settings.vote, start_at_login: crate::platform::start_at_login_is_on(), auto_update: settings.auto_update, remote_jobs: settings.remote_jobs, prove: settings.prove, prove_system: settings.prove_system.max(1), sweep: settings.sweep, dev_fee: settings.dev_fee, proof_verify_trust: settings.proof_verify_trust };
|
||||||
st.dev_fee = crate::state::DevFeeState { on: settings.dev_fee, percent: if settings.dev_fee { 1 } else { 0 }, address: String::new(), line: String::new() };
|
st.dev_fee = crate::state::DevFeeState { on: settings.dev_fee, percent: if settings.dev_fee { 1 } else { 0 }, address: String::new(), line: String::new() };
|
||||||
st.live_page = packaged.live_page.clone();
|
st.live_page = packaged.live_page.clone();
|
||||||
st.finality.message = "waiting for the miner".into();
|
st.finality.message = "waiting for the miner".into();
|
||||||
|
|
@ -301,14 +301,26 @@ impl Shared {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The prover service switch (src/prover.rs); the thread picks it up within 10 s.
|
/// The prover service switch (src/prover.rs); the thread picks it up within 10 s.
|
||||||
pub fn set_prove(&self, on: bool) -> Result<Value, String> {
|
pub fn set_prove(&self, on: bool, system: Option<u8>) -> Result<Value, String> {
|
||||||
|
if let Some(sy) = system {
|
||||||
|
if !(1..=2).contains(&sy) {
|
||||||
|
return Err(format!("proof system {sy} is not 1 (SP1) or 2 (RISC Zero)"));
|
||||||
|
}
|
||||||
|
}
|
||||||
{
|
{
|
||||||
let mut s = self.settings.lock().unwrap();
|
let mut s = self.settings.lock().unwrap();
|
||||||
s.prove = on;
|
s.prove = on;
|
||||||
|
if let Some(sy) = system {
|
||||||
|
s.prove_system = sy;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
self.save_settings();
|
self.save_settings();
|
||||||
let mut st = self.state.lock().unwrap();
|
let mut st = self.state.lock().unwrap();
|
||||||
st.settings.prove = on;
|
st.settings.prove = on;
|
||||||
|
if let Some(sy) = system {
|
||||||
|
st.settings.prove_system = sy;
|
||||||
|
st.proving.system = sy;
|
||||||
|
}
|
||||||
st.proving.enabled = on;
|
st.proving.enabled = on;
|
||||||
if !on {
|
if !on {
|
||||||
st.proving.status = "off".into();
|
st.proving.status = "off".into();
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ mod jobrun;
|
||||||
mod jobbuild;
|
mod jobbuild;
|
||||||
mod prover;
|
mod prover;
|
||||||
mod provedefault;
|
mod provedefault;
|
||||||
|
mod provingdir;
|
||||||
mod segments;
|
mod segments;
|
||||||
mod verifier;
|
mod verifier;
|
||||||
mod wslhost;
|
mod wslhost;
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
//! | NVIDIA card under 16 GB | off | 13,874 MiB does not fit; the project lead's 12 GB requirement is open until a prover build with a smaller floor is measured |
|
//! | NVIDIA card under 16 GB | off | 13,874 MiB does not fit; the project lead's 12 GB requirement is open until a prover build with a smaller floor is measured |
|
||||||
//! | Windows under 32 GB of RAM | off, with the line saying why | the WSL2 prover held 7.9 GB on a 63 GB PC; a 16 GB PC would swap |
|
//! | Windows under 32 GB of RAM | off, with the line saying why | the WSL2 prover held 7.9 GB on a 63 GB PC; a 16 GB PC would swap |
|
||||||
//! | Windows with a qualifying card but WSL2 silent | off, with the Set up hint | nothing can prove until the distribution exists |
|
//! | Windows with a qualifying card but WSL2 silent | off, with the Set up hint | nothing can prove until the distribution exists |
|
||||||
//! | Apple silicon | off | the M5 Max CPU took 41 to 55 s for an EMPTY shard's compressed proof under load and 272 s for a 200-pgas shard; a full shard was never under 60 s (bench-log 4 and 5 October 2026) |
|
//! | Apple silicon | off | the SP1 CPU prover takes 71.7 s and 27.8 GB of RSS for the v1 shard on the M5 Max (bench/proof-systems, 6 October 2026), about one shard a minute, inside the 600 DAA-s window; off by the project lead's decision of 5 October, the switch runs it; no GPU route (RISC Zero 3.0.6 has no Metal HAL, 574 s on the CPU) |
|
||||||
//! | AMD-only (no NVIDIA card) | off, "mines and does not prove" | no zkVM proves on an AMD GPU today (docs/analysis/amd-proving.md); the SP1 CPU prover on PC 1 cost 82 to 87 s core plus 199 to 202 s compressed a shard at a 30 GB RSS whatever the shard size (bench-log, "the SP1 CPU prover on PC 1") |
|
//! | AMD-only (no NVIDIA card) | off, "mines and does not prove" | no zkVM proves on an AMD GPU today (docs/analysis/amd-proving.md); the SP1 CPU prover on PC 1 cost 82 to 87 s core plus 199 to 202 s compressed a shard at a 30 GB RSS whatever the shard size (bench-log, "the SP1 CPU prover on PC 1") |
|
||||||
//!
|
//!
|
||||||
//! Decided 5 October 2026 (delegated by the project lead: "deploy what is absolute best"), docs/plans/proving-v1.md. The default
|
//! Decided 5 October 2026 (delegated by the project lead: "deploy what is absolute best"), docs/plans/proving-v1.md. The default
|
||||||
|
|
@ -55,7 +55,9 @@ pub fn decide(cards: &[CardState], os: &str, wsl_answers: Option<bool>, ram_mb:
|
||||||
let able: Vec<&CardState> = nvidia.iter().copied().filter(|c| c.vram_mb >= if c.enabled { MIN_VRAM_MB_MINING } else { MIN_VRAM_MB_PROVE_ONLY }).collect();
|
let able: Vec<&CardState> = nvidia.iter().copied().filter(|c| c.vram_mb >= if c.enabled { MIN_VRAM_MB_MINING } else { MIN_VRAM_MB_PROVE_ONLY }).collect();
|
||||||
let off = |line: String| Decision { on: false, line };
|
let off = |line: String| Decision { on: false, line };
|
||||||
if os == "macos" {
|
if os == "macos" {
|
||||||
return off("proving stays off on Apple silicon: the M5 Max CPU took 41 to 55 s for an empty shard and minutes for a full one; Settings switches it on (CPU, slow)".into());
|
// the Apple route is SP1 on the CPU (6 October 2026, bench/proof-systems): the v1 shard in 71.7 s at 27.8 GB of
|
||||||
|
// RSS on the M5 Max, inside the 600 DAA-s window; off by default (the project lead, 5 October 2026), the switch runs it
|
||||||
|
return off("proving stays off on Apple silicon by default; the SP1 CPU prover took 71.7 s and 28 GB of RAM for a v1 shard on the M5 Max (about one shard a minute), and Settings switches it on".into());
|
||||||
}
|
}
|
||||||
let Some(best) = able.iter().max_by_key(|c| c.vram_mb) else {
|
let Some(best) = able.iter().max_by_key(|c| c.vram_mb) else {
|
||||||
let seen = if nvidia.is_empty() {
|
let seen = if nvidia.is_empty() {
|
||||||
|
|
|
||||||
|
|
@ -124,6 +124,8 @@ pub fn chain_name(shared: &Shared) -> String {
|
||||||
|
|
||||||
struct Tools {
|
struct Tools {
|
||||||
host: PathBuf,
|
host: PathBuf,
|
||||||
|
/// proving v2: the RISC Zero host (`igneum-prove-r0-host`), next to the SP1 host, when present
|
||||||
|
host_r0: Option<PathBuf>,
|
||||||
export: PathBuf,
|
export: PathBuf,
|
||||||
miner: PathBuf,
|
miner: PathBuf,
|
||||||
/// Windows: the host and the exporter run inside WSL2 (paths are WSL paths then).
|
/// Windows: the host and the exporter run inside WSL2 (paths are WSL paths then).
|
||||||
|
|
@ -132,6 +134,42 @@ struct Tools {
|
||||||
cuda: bool,
|
cuda: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// The node's re-derivation boundary (0.3.13.1, 6 October 2026): the chain block its EVM restarted at after the
|
||||||
|
/// bodies below the pruning point were gone (`igneum_getExecStatus.restartNumber`; on a 0.3.13 node the
|
||||||
|
/// `startedFrom` text "restart at chain block N"), else 0. A prover exports from the block before it, never from
|
||||||
|
/// 0 (the records below carry zero state roots and the exporter refused every cut: the fleet, 16:02Z), and never
|
||||||
|
/// The exporter's failure line. When the node's export carries the account dump (0.3.14) and the exporter's output
|
||||||
|
/// never mentions it, the exporter at `path` predates 0.3.14: it replays the dump's own segment from the restart
|
||||||
|
/// state and fails there with "port state root differs" (PC 1, 6 October 2026 18:16Z, block 140,662: the installer
|
||||||
|
/// had not replaced igneum-prove-export); the line names the stale binary instead of the misleading root error.
|
||||||
|
fn exporter_failure(export_has_dump: bool, out: &str, path: &Path, block: Option<u64>) -> String {
|
||||||
|
let last = out.lines().rev().find(|l| !l.trim().is_empty()).unwrap_or("failed");
|
||||||
|
let what = match block {
|
||||||
|
Some(b) => format!("exporter, block {b}"),
|
||||||
|
None => "exporter".to_string(),
|
||||||
|
};
|
||||||
|
if export_has_dump && !out.contains("account dump") {
|
||||||
|
return format!("{what}: stale igneum-prove-export at {}: the node's export carries the account dump and this exporter does not read it (it predates 0.3.14); install this release's exporter there ({last})", path.display());
|
||||||
|
}
|
||||||
|
format!("{what}: {last}")
|
||||||
|
}
|
||||||
|
|
||||||
|
/// claims work below it (no bodies, no state: unprovable on every node).
|
||||||
|
fn exec_boundary(shared: &Shared) -> u64 {
|
||||||
|
let st = match evm_rpc(shared, "igneum_getExecStatus", json!([]), Duration::from_secs(5)) {
|
||||||
|
Ok(v) => v,
|
||||||
|
Err(_) => return 0,
|
||||||
|
};
|
||||||
|
if let Some(n) = st["restartNumber"].as_u64() {
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
if let Some(n) = st["restartNumber"].as_str().and_then(|x| u64::from_str_radix(x.trim_start_matches("0x"), 16).ok()) {
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
let text = st["startedFrom"].as_str().unwrap_or("");
|
||||||
|
text.strip_prefix("restart at chain block ").and_then(|t| t.split_whitespace().next()).and_then(|t| t.parse().ok()).unwrap_or(0)
|
||||||
|
}
|
||||||
|
|
||||||
fn evm_rpc(shared: &Shared, method: &str, params: Value, timeout: Duration) -> Result<Value, String> {
|
fn evm_rpc(shared: &Shared, method: &str, params: Value, timeout: Duration) -> Result<Value, String> {
|
||||||
let body = json!({ "jsonrpc": "2.0", "id": 1, "method": method, "params": params }).to_string();
|
let body = json!({ "jsonrpc": "2.0", "id": 1, "method": method, "params": params }).to_string();
|
||||||
let tmp = std::env::temp_dir().join(format!("igneum-prover-{}-{}.json", std::process::id(), method));
|
let tmp = std::env::temp_dir().join(format!("igneum-prover-{}-{}.json", std::process::id(), method));
|
||||||
|
|
@ -151,6 +189,19 @@ fn evm_rpc(shared: &Shared, method: &str, params: Value, timeout: Duration) -> R
|
||||||
Ok(v.get("result").cloned().unwrap_or(Value::Null))
|
Ok(v.get("result").cloned().unwrap_or(Value::Null))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// The host of a proof system: the SP1 host for 1, the RISC Zero host for 2 (an error naming what is missing).
|
||||||
|
fn host_for(t: &Tools, system: u8) -> Result<&Path, String> {
|
||||||
|
match system {
|
||||||
|
2 => t.host_r0.as_deref().ok_or_else(|| "proof system 2 needs igneum-prove-r0-host next to igneum-prove-host (the RISC Zero host is not installed); Settings keeps SP1 until it is".to_string()),
|
||||||
|
_ => Ok(t.host.as_path()),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// The trailing `--system` arguments the miner's sign commands take (none for SP1, the default).
|
||||||
|
pub fn system_args(system: u8) -> Vec<String> {
|
||||||
|
if system >= 2 { vec!["--system".into(), system.to_string()] } else { Vec::new() }
|
||||||
|
}
|
||||||
|
|
||||||
fn find_tools(bin_dir: &Path) -> Result<Tools, String> {
|
fn find_tools(bin_dir: &Path) -> Result<Tools, String> {
|
||||||
let miner = bin_dir.join(if cfg!(windows) { "igneum-miner.exe" } else { "igneum-miner" });
|
let miner = bin_dir.join(if cfg!(windows) { "igneum-miner.exe" } else { "igneum-miner" });
|
||||||
if cfg!(windows) {
|
if cfg!(windows) {
|
||||||
|
|
@ -159,7 +210,7 @@ fn find_tools(bin_dir: &Path) -> Result<Tools, String> {
|
||||||
// (the order and the list are src/wslhost.rs, shared with igneum-prove-verify.exe)
|
// (the order and the list are src/wslhost.rs, shared with igneum-prove-verify.exe)
|
||||||
// from a file, never inline (src/wslhost.rs: an inline script with double quotes and a path with a space
|
// from a file, never inline (src/wslhost.rs: an inline script with double quotes and a path with a space
|
||||||
// reached bash mangled on 5 October 2026 and the app said the setup was missing)
|
// reached bash mangled on 5 October 2026 and the app said the setup was missing)
|
||||||
let body = format!("{}\ncommand -v nvidia-smi >/dev/null && echo cuda\ntrue", crate::wslhost::lookup_script(bin_dir));
|
let body = format!("{}\n{}\ncommand -v nvidia-smi >/dev/null && echo cuda\ntrue", crate::wslhost::lookup_script(bin_dir), crate::wslhost::lookup_script_r0(bin_dir));
|
||||||
let file = crate::wslhost::write_script("prove-probe", &body).map_err(|e| format!("cannot write the WSL probe script: {e}"))?;
|
let file = crate::wslhost::write_script("prove-probe", &body).map_err(|e| format!("cannot write the WSL probe script: {e}"))?;
|
||||||
let probe = crate::platform::quiet(&mut crate::wslhost::command(&crate::platform::tool("wsl"), crate::wslhost::DISTRO, None, &file.path, true, &[])).output();
|
let probe = crate::platform::quiet(&mut crate::wslhost::command(&crate::platform::tool("wsl"), crate::wslhost::DISTRO, None, &file.path, true, &[])).output();
|
||||||
let answered = probe.is_ok();
|
let answered = probe.is_ok();
|
||||||
|
|
@ -171,7 +222,8 @@ fn find_tools(bin_dir: &Path) -> Result<Tools, String> {
|
||||||
// a Linux path: never PathBuf::join here, which writes a backslash on Windows ("/opt/igneum\\igneum-prove-export"
|
// a Linux path: never PathBuf::join here, which writes a backslash on Windows ("/opt/igneum\\igneum-prove-export"
|
||||||
// broke every export on PC 2 under 0.3.7, 5 October 2026)
|
// broke every export on PC 2 under 0.3.7, 5 October 2026)
|
||||||
let export = PathBuf::from(format!("{}/igneum-prove-export", host.to_string_lossy().rsplit_once('/').map(|(d, _)| d).unwrap_or("")));
|
let export = PathBuf::from(format!("{}/igneum-prove-export", host.to_string_lossy().rsplit_once('/').map(|(d, _)| d).unwrap_or("")));
|
||||||
Ok(Tools { host, export, miner, wsl: true, setup_script: setup.exists().then_some(setup), cuda: text.contains("cuda") })
|
let host_r0 = text.lines().find(|l| l.contains("igneum-prove-r0-host")).map(|l| PathBuf::from(l.trim()));
|
||||||
|
Ok(Tools { host, host_r0, export, miner, wsl: true, setup_script: setup.exists().then_some(setup), cuda: text.contains("cuda") })
|
||||||
}
|
}
|
||||||
None => Err(probe_message(bin_dir, answered, setup.exists())),
|
None => Err(probe_message(bin_dir, answered, setup.exists())),
|
||||||
}
|
}
|
||||||
|
|
@ -181,7 +233,8 @@ fn find_tools(bin_dir: &Path) -> Result<Tools, String> {
|
||||||
if !host.exists() || !export.exists() {
|
if !host.exists() || !export.exists() {
|
||||||
return Err(format!("igneum-prove-host and igneum-prove-export are not next to the engine ({})", bin_dir.display()));
|
return Err(format!("igneum-prove-host and igneum-prove-export are not next to the engine ({})", bin_dir.display()));
|
||||||
}
|
}
|
||||||
Ok(Tools { host, export, miner, wsl: false, setup_script: None, cuda: false })
|
let r0 = bin_dir.join("igneum-prove-r0-host");
|
||||||
|
Ok(Tools { host, host_r0: r0.exists().then_some(r0), export, miner, wsl: false, setup_script: None, cuda: false })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -418,6 +471,19 @@ fn loop_forever(shared: Arc<Shared>, bin_dir: PathBuf) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let Some(t) = tools.as_ref() else { continue };
|
let Some(t) = tools.as_ref() else { continue };
|
||||||
|
// proving v2: the proof system from Settings (1 = SP1, 2 = RISC Zero); without its host the loop waits
|
||||||
|
let system = shared.settings.lock().unwrap().prove_system.max(1);
|
||||||
|
set(&shared, |p| {
|
||||||
|
p.system = system;
|
||||||
|
p.system_host = host_for(t, system).is_ok();
|
||||||
|
});
|
||||||
|
if let Err(e) = host_for(t, system) {
|
||||||
|
set(&shared, |p| {
|
||||||
|
p.status = "waiting".into();
|
||||||
|
p.message = e;
|
||||||
|
});
|
||||||
|
continue;
|
||||||
|
}
|
||||||
// consequences review C22 (5 October 2026): the SP1 CPU prover takes 29.5 to 30.5 GB of RSS and about five
|
// consequences review C22 (5 October 2026): the SP1 CPU prover takes 29.5 to 30.5 GB of RSS and about five
|
||||||
// minutes a shard whatever the shard size (PC 1, bench-log "the SP1 CPU prover on PC 1"); on a machine under
|
// minutes a shard whatever the shard size (PC 1, bench-log "the SP1 CPU prover on PC 1"); on a machine under
|
||||||
// 32 GB it would swap the node out, so the CPU path is refused here, Settings or not, with the reason
|
// 32 GB it would swap the node out, so the CPU path is refused here, Settings or not, with the reason
|
||||||
|
|
@ -555,7 +621,9 @@ fn loop_forever(shared: Arc<Shared>, bin_dir: PathBuf) {
|
||||||
// proving v1 segment path (src/segments.rs, 6 October 2026): a whole segment first, the newest shard only
|
// proving v1 segment path (src/segments.rs, 6 October 2026): a whole segment first, the newest shard only
|
||||||
// when no whole segment qualifies
|
// when no whole segment qualifies
|
||||||
let payout = shared.settings.lock().unwrap().address.clone();
|
let payout = shared.settings.lock().unwrap().address.clone();
|
||||||
if payout.len() == 42 {
|
// the segment path folds SP1 shard proofs with the SP1 aggregator; proof system 2 proves shards only until an
|
||||||
|
// r0 aggregator exists (segments stay on SP1 either way: one system per segment)
|
||||||
|
if payout.len() == 42 && system == 1 {
|
||||||
if let Some((seg, prev_file, expected_pv)) = pick_segment(&shared, &work, &keys[0].1, &mut attempted_segments, last_segment_secs) {
|
if let Some((seg, prev_file, expected_pv)) = pick_segment(&shared, &work, &keys[0].1, &mut attempted_segments, last_segment_secs) {
|
||||||
attempted_segments.insert(seg.first);
|
attempted_segments.insert(seg.first);
|
||||||
let started = Instant::now();
|
let started = Instant::now();
|
||||||
|
|
@ -602,6 +670,9 @@ fn loop_forever(shared: Arc<Shared>, bin_dir: PathBuf) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// shards below the re-derivation boundary are never attempted (no bodies, no state on any node)
|
||||||
|
let boundary = exec_boundary(&shared);
|
||||||
|
let work: Vec<Work> = work.into_iter().filter(|w| w.number >= boundary).collect();
|
||||||
let Some(w) = choose(&work, &attempted) else {
|
let Some(w) = choose(&work, &attempted) else {
|
||||||
set(&shared, |p| {
|
set(&shared, |p| {
|
||||||
p.status = if submitted.is_empty() { "idle".into() } else { "submitted".into() };
|
p.status = if submitted.is_empty() { "idle".into() } else { "submitted".into() };
|
||||||
|
|
@ -626,7 +697,8 @@ fn loop_forever(shared: Arc<Shared>, bin_dir: PathBuf) {
|
||||||
p.started_at = crate::platform::unix_now_f();
|
p.started_at = crate::platform::unix_now_f();
|
||||||
p.message = "exporting the chain and cutting the shard".into();
|
p.message = "exporting the chain and cutting the shard".into();
|
||||||
});
|
});
|
||||||
shared.log(&format!("prover: block {} shard {} assigned to {label}: export, cut, prove ({}), sign, submit", w.number, w.shard, if t.cuda { "CUDA" } else { "CPU" }));
|
shared.log(&format!("prover: block {} shard {} assigned to {label}: export, cut, prove ({}, proof system {system}), sign, submit", w.number, w.shard, if t.cuda { "CUDA" } else { "CPU" }));
|
||||||
|
let shard_host = host_for(t, system).map(|h| h.to_path_buf()).unwrap_or_else(|_| t.host.clone());
|
||||||
// 2. export and cut
|
// 2. export and cut
|
||||||
let dir = shared.runtime.app_dir.join("proving");
|
let dir = shared.runtime.app_dir.join("proving");
|
||||||
let _ = std::fs::create_dir_all(&dir);
|
let _ = std::fs::create_dir_all(&dir);
|
||||||
|
|
@ -634,16 +706,18 @@ fn loop_forever(shared: Arc<Shared>, bin_dir: PathBuf) {
|
||||||
let fixture = dir.join(format!("block-{}.json", w.number));
|
let fixture = dir.join(format!("block-{}.json", w.number));
|
||||||
let results = dir.join(format!("results-{}-{}.json", w.number, w.shard));
|
let results = dir.join(format!("results-{}-{}.json", w.number, w.shard));
|
||||||
let outcome: Result<(), String> = (|| {
|
let outcome: Result<(), String> = (|| {
|
||||||
let export = evm_rpc(&shared, "igneum_exportSegments", json!(["0x0", format!("{:#x}", w.number)]), Duration::from_secs(120))?;
|
// the export from one block below (0.3.14): the node's account dump after block n-1 seeds the exporter
|
||||||
|
let from = w.number.saturating_sub(1);
|
||||||
|
let export = evm_rpc(&shared, "igneum_exportSegments", json!([format!("{from:#x}"), format!("{:#x}", w.number)]), Duration::from_secs(120))?;
|
||||||
std::fs::write(&seq, export.to_string()).map_err(|e| e.to_string())?;
|
std::fs::write(&seq, export.to_string()).map_err(|e| e.to_string())?;
|
||||||
let (seq_p, fix_p, res_p) = if t.wsl { (wsl_path(&seq), wsl_path(&fixture), wsl_path(&results)) } else { (seq.display().to_string(), fixture.display().to_string(), results.display().to_string()) };
|
let (seq_p, fix_p, res_p) = if t.wsl { (wsl_path(&seq), wsl_path(&fixture), wsl_path(&results)) } else { (seq.display().to_string(), fixture.display().to_string(), results.display().to_string()) };
|
||||||
let (ok, out) = run_tool(&shared, t, &t.export, &[seq_p, w.number.to_string(), fix_p.clone()], &[], Duration::from_secs(600), &dir.join(format!("export-{}.log", w.number)));
|
let (ok, out) = run_tool(&shared, t, &t.export, &[seq_p, w.number.to_string(), fix_p.clone()], &[], Duration::from_secs(600), &dir.join(format!("export-{}.log", w.number)));
|
||||||
if !ok || !fixture.exists() {
|
if !ok || !fixture.exists() {
|
||||||
return Err(format!("exporter: {}", out.lines().rev().find(|l| !l.trim().is_empty()).unwrap_or("failed")));
|
return Err(exporter_failure(export["preState"].is_array(), &out, &t.export, None));
|
||||||
}
|
}
|
||||||
set(&shared, |p| p.message = if t.cuda { "proving on the GPU".into() } else { "CPU prover: about five minutes a shard, 30 GB of RAM, paid only when no card proves first".into() });
|
set(&shared, |p| p.message = if t.cuda { "proving on the GPU".into() } else { "CPU prover: about five minutes a shard, 30 GB of RAM, paid only when no card proves first".into() });
|
||||||
let prover_env = if t.cuda { "cuda" } else { "cpu" };
|
let prover_env = if t.cuda { "cuda" } else { "cpu" };
|
||||||
let (ok, out) = run_tool(&shared, t, &t.host, &[fix_p, "--mode".into(), "compressed".into(), "--shard".into(), w.shard.to_string(), "--prover".into(), payout.clone(), "--out".into(), res_p], &[("SP1_PROVER", prover_env), ("RUST_LOG", "off")], Duration::from_secs(3 * 3600), &dir.join(format!("prove-{}-{}.log", w.number, w.shard)));
|
let (ok, out) = run_tool(&shared, t, &shard_host, &[fix_p, "--mode".into(), "compressed".into(), "--shard".into(), w.shard.to_string(), "--prover".into(), payout.clone(), "--out".into(), res_p], &[("SP1_PROVER", prover_env), ("RUST_LOG", "off")], Duration::from_secs(3 * 3600), &dir.join(format!("prove-{}-{}.log", w.number, w.shard)));
|
||||||
if !ok || !results.exists() {
|
if !ok || !results.exists() {
|
||||||
let last = out.lines().rev().find(|l| l.contains("RESULT") || l.contains("rror")).unwrap_or("failed").to_string();
|
let last = out.lines().rev().find(|l| l.contains("RESULT") || l.contains("rror")).unwrap_or("failed").to_string();
|
||||||
// the root-socket class (5 October 2026, PC 2 at 20:00Z and 21:25Z): a job that ran the host as root
|
// the root-socket class (5 October 2026, PC 2 at 20:00Z and 21:25Z): a job that ran the host as root
|
||||||
|
|
@ -662,7 +736,7 @@ fn loop_forever(shared: Arc<Shared>, bin_dir: PathBuf) {
|
||||||
p.last_prove_s = secs;
|
p.last_prove_s = secs;
|
||||||
});
|
});
|
||||||
// 3. sign and submit
|
// 3. sign and submit
|
||||||
let sg = crate::detect::run_timeout(crate::platform::quiet(&mut Command::new(&t.miner)).args(["sign-record", &label, &chain_name(&shared), &w.hash, &w.number.to_string(), &w.shard.to_string(), &payout, &statement, &proof_sha]), None, Duration::from_secs(20)).ok_or("sign-record did not run")?;
|
let sg = crate::detect::run_timeout(crate::platform::quiet(&mut Command::new(&t.miner)).args(["sign-record", &label, &chain_name(&shared), &w.hash, &w.number.to_string(), &w.shard.to_string(), &payout, &statement, &proof_sha]).args(system_args(system)), None, Duration::from_secs(20)).ok_or("sign-record did not run")?;
|
||||||
let signed: Value = serde_json::from_str(sg.lines().last().unwrap_or("")).map_err(|_| format!("sign-record: {}", sg.trim()))?;
|
let signed: Value = serde_json::from_str(sg.lines().last().unwrap_or("")).map_err(|_| format!("sign-record: {}", sg.trim()))?;
|
||||||
let record = signed["record"].as_str().ok_or("sign-record gave no record")?.to_string();
|
let record = signed["record"].as_str().ok_or("sign-record gave no record")?.to_string();
|
||||||
let proof = std::fs::read(&proof_path).map_err(|e| format!("proof file {}: {e}", proof_path.display()))?;
|
let proof = std::fs::read(&proof_path).map_err(|e| format!("proof file {}: {e}", proof_path.display()))?;
|
||||||
|
|
@ -750,6 +824,9 @@ fn pick_segment(shared: &Shared, work: &[Work], key_hash: &str, attempted: &mut
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
let (start, n, unproven, tip_daa) = (hexu(&v1["start"]), hexu(&v1["segmentBlocks"]).max(1), hexu(&v1["unprovenDaa"]), hexu(&st["tipDaa"]));
|
let (start, n, unproven, tip_daa) = (hexu(&v1["start"]), hexu(&v1["segmentBlocks"]).max(1), hexu(&v1["unprovenDaa"]), hexu(&st["tipDaa"]));
|
||||||
|
// segments below the re-derivation boundary are never claimed: no bodies, no state, unprovable anywhere
|
||||||
|
let boundary = exec_boundary(shared);
|
||||||
|
let start = if boundary > start { boundary.div_ceil(n) * n } else { start };
|
||||||
let segs = crate::segments::whole_segments(start, n, unproven, work);
|
let segs = crate::segments::whole_segments(start, n, unproven, work);
|
||||||
let need = crate::segments::need_daa(last_secs);
|
let need = crate::segments::need_daa(last_secs);
|
||||||
let cands = crate::segments::candidates(&segs, tip_daa, need, key_hash, attempted);
|
let cands = crate::segments::candidates(&segs, tip_daa, need, key_hash, attempted);
|
||||||
|
|
@ -815,14 +892,17 @@ fn prove_segment(shared: &Shared, t: &Tools, seg: &crate::segments::SegmentWork,
|
||||||
shared.log(&format!("prover: segment {first}..{last} claimed ({} shards{}): export, cut, chain ({}), sign, submit", seg.shards.len(), if prev_file.is_some() { ", continuing the previous segment's proof" } else { ", fresh" }, if t.cuda { "CUDA" } else { "CPU" }));
|
shared.log(&format!("prover: segment {first}..{last} claimed ({} shards{}): export, cut, chain ({}), sign, submit", seg.shards.len(), if prev_file.is_some() { ", continuing the previous segment's proof" } else { ", fresh" }, if t.cuda { "CUDA" } else { "CPU" }));
|
||||||
// 1. export once, cut every block
|
// 1. export once, cut every block
|
||||||
let seq = dir.join("seq.json");
|
let seq = dir.join("seq.json");
|
||||||
let export = evm_rpc(shared, "igneum_exportSegments", json!(["0x0", format!("{last:#x}")]), Duration::from_secs(300))?;
|
// the export from one block below the segment (0.3.14): the node's account dump after block first-1 seeds the
|
||||||
|
// exporter; nothing older is read
|
||||||
|
let from = first.saturating_sub(1);
|
||||||
|
let export = evm_rpc(shared, "igneum_exportSegments", json!([format!("{from:#x}"), format!("{last:#x}")]), Duration::from_secs(300))?;
|
||||||
std::fs::write(&seq, export.to_string()).map_err(|e| e.to_string())?;
|
std::fs::write(&seq, export.to_string()).map_err(|e| e.to_string())?;
|
||||||
let mut fixtures: Vec<String> = Vec::new();
|
let mut fixtures: Vec<String> = Vec::new();
|
||||||
for b in first..=last {
|
for b in first..=last {
|
||||||
let fixture = dir.join(format!("block-{b}.json"));
|
let fixture = dir.join(format!("block-{b}.json"));
|
||||||
let (ok, out) = run_tool(shared, t, &t.export, &[as_host_path(&seq), b.to_string(), as_host_path(&fixture)], &[], Duration::from_secs(600), &dir.join(format!("export-{b}.log")));
|
let (ok, out) = run_tool(shared, t, &t.export, &[as_host_path(&seq), b.to_string(), as_host_path(&fixture)], &[], Duration::from_secs(600), &dir.join(format!("export-{b}.log")));
|
||||||
if !ok || !fixture.exists() {
|
if !ok || !fixture.exists() {
|
||||||
return Err(format!("exporter, block {b}: {}", out.lines().rev().find(|l| !l.trim().is_empty()).unwrap_or("failed")));
|
return Err(exporter_failure(export["preState"].is_array(), &out, &t.export, Some(b)));
|
||||||
}
|
}
|
||||||
fixtures.push(as_host_path(&fixture));
|
fixtures.push(as_host_path(&fixture));
|
||||||
}
|
}
|
||||||
|
|
@ -957,7 +1037,9 @@ fn aggregate_once(shared: &Shared, t: &Tools, label: &str, payout: &str, attempt
|
||||||
let have = b["shardProofs"].as_array().cloned().unwrap_or_default();
|
let have = b["shardProofs"].as_array().cloned().unwrap_or_default();
|
||||||
let mut files = Vec::new();
|
let mut files = Vec::new();
|
||||||
for i in 0..shards {
|
for i in 0..shards {
|
||||||
let pick = have.iter().find(|e| e["shard"].as_u64() == Some(i as u64) && e["verified"] == json!(true)).or_else(|| have.iter().find(|e| e["shard"].as_u64() == Some(i as u64)));
|
// one system per segment: the SP1 aggregator folds SP1 shard proofs (record version 1) only
|
||||||
|
let sp1 = |e: &&Value| e["shard"].as_u64() == Some(i as u64) && e["version"].as_u64().unwrap_or(1) == 1;
|
||||||
|
let pick = have.iter().find(|e| sp1(e) && e["verified"] == json!(true)).or_else(|| have.iter().find(sp1));
|
||||||
let Some(e) = pick else {
|
let Some(e) = pick else {
|
||||||
missing.push(format!("{n}/{i}"));
|
missing.push(format!("{n}/{i}"));
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -1060,6 +1142,21 @@ pub fn setup(shared: &Shared) -> Result<Value, String> {
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn a_stale_exporter_is_named_when_the_export_carries_the_dump() {
|
||||||
|
let p = Path::new("C:/x/igneum-prove-export.exe");
|
||||||
|
let old_out = "Error: segment 140661: port state root 0xe45c differs from the node's 0xddd7; the port is not the node's executor, stop\n";
|
||||||
|
let line = exporter_failure(true, old_out, p, Some(140662));
|
||||||
|
assert!(line.contains("stale igneum-prove-export at C:/x/igneum-prove-export.exe"), "{line}");
|
||||||
|
assert!(line.starts_with("exporter, block 140662:"));
|
||||||
|
// the 0.3.14 exporter read the dump and failed later: the real line, not the stale one
|
||||||
|
let new_out = "account dump: 79 accounts after chain block 140661, state root 0x1 (equals the node's)\nError: segment 140662: port state root 0x2 differs from the node's 0x3\n";
|
||||||
|
let line = exporter_failure(true, new_out, p, None);
|
||||||
|
assert_eq!(line, "exporter: Error: segment 140662: port state root 0x2 differs from the node's 0x3");
|
||||||
|
// an export without a dump (an older node): never the stale line
|
||||||
|
assert_eq!(exporter_failure(false, old_out, p, None), format!("exporter: {}", old_out.trim()));
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn pinned_ids_come_out_of_the_hosts_id_line() {
|
fn pinned_ids_come_out_of_the_hosts_id_line() {
|
||||||
let out = "RESULT id: pinned guests: shard program id 0x2b1a81cb413236cf063077b46ed3111628f6c41036bcf6e23ee4cbbf5679ef7a (2832504 bytes, sha256 0x150f4c05a2951fc5) aggregator id 0x474678f35f7545db28055d5e5bbc308231d84a5a072202087a2a8d5b09123896 (319744 bytes), pinned 2026-10-05T16:20:38Z on Darwin, SP1 5.0 circuit v5\n";
|
let out = "RESULT id: pinned guests: shard program id 0x2b1a81cb413236cf063077b46ed3111628f6c41036bcf6e23ee4cbbf5679ef7a (2832504 bytes, sha256 0x150f4c05a2951fc5) aggregator id 0x474678f35f7545db28055d5e5bbc308231d84a5a072202087a2a8d5b09123896 (319744 bytes), pinned 2026-10-05T16:20:38Z on Darwin, SP1 5.0 circuit v5\n";
|
||||||
|
|
|
||||||
178
app/igneum-app/src/provingdir.rs
Normal file
178
app/igneum-app/src/provingdir.rs
Normal file
|
|
@ -0,0 +1,178 @@
|
||||||
|
//! The prover's working directory (`<app dir>/proving`) owns its disk (0.3.16, 6 October 2026): the fleet's segment
|
||||||
|
//! exports (50 to 500 MB each with the old [0, last] export, never pruned) filled 60 GB on the hub and 3 to 46 GB on
|
||||||
|
//! every standing box, and the hub's node died three times on "No space left on device" (the last at 21:42 UK).
|
||||||
|
//! Rules: a size cap and an age cap on the directory (defaults that fit a 100 GB box for a week), enforced before
|
||||||
|
//! every export; a segment's directory is deleted the moment its record is submitted or paid; no export starts
|
||||||
|
//! below 10% free disk, and the skip is logged.
|
||||||
|
use std::path::{Path, PathBuf};
|
||||||
|
use std::time::{Duration, SystemTime};
|
||||||
|
|
||||||
|
/// Defaults: 20 GB and 7 days. `IGNEUM_PROVING_DIR_MAX_GB` and `IGNEUM_PROVING_DIR_MAX_DAYS` change them.
|
||||||
|
pub const DEFAULT_MAX_BYTES: u64 = 20 * 1024 * 1024 * 1024;
|
||||||
|
pub const DEFAULT_MAX_AGE: Duration = Duration::from_secs(7 * 24 * 3600);
|
||||||
|
/// No export below this share of free disk.
|
||||||
|
pub const MIN_FREE_FRACTION: f64 = 0.10;
|
||||||
|
|
||||||
|
pub fn max_bytes() -> u64 {
|
||||||
|
std::env::var("IGNEUM_PROVING_DIR_MAX_GB").ok().and_then(|v| v.parse::<u64>().ok()).map(|g| g * 1024 * 1024 * 1024).unwrap_or(DEFAULT_MAX_BYTES)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn max_age() -> Duration {
|
||||||
|
std::env::var("IGNEUM_PROVING_DIR_MAX_DAYS").ok().and_then(|v| v.parse::<u64>().ok()).map(|d| Duration::from_secs(d * 24 * 3600)).unwrap_or(DEFAULT_MAX_AGE)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// One entry of the directory as the planner sees it: a top-level file or a segment directory, its total bytes
|
||||||
|
/// and its age.
|
||||||
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||||
|
pub struct Entry {
|
||||||
|
pub path: PathBuf,
|
||||||
|
pub bytes: u64,
|
||||||
|
pub age: Duration,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// What to delete so the directory fits: everything older than `max_age`, then the oldest entries until the total
|
||||||
|
/// is at or under `max_bytes`. Pure, so the cap is unit-tested.
|
||||||
|
pub fn prune_plan(entries: &[Entry], max_bytes: u64, max_age: Duration) -> Vec<PathBuf> {
|
||||||
|
let mut keep: Vec<&Entry> = Vec::new();
|
||||||
|
let mut out: Vec<PathBuf> = Vec::new();
|
||||||
|
for e in entries {
|
||||||
|
if e.age > max_age {
|
||||||
|
out.push(e.path.clone());
|
||||||
|
} else {
|
||||||
|
keep.push(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let mut total: u64 = keep.iter().map(|e| e.bytes).sum();
|
||||||
|
// oldest first
|
||||||
|
keep.sort_by(|a, b| b.age.cmp(&a.age));
|
||||||
|
for e in keep {
|
||||||
|
if total <= max_bytes {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
total = total.saturating_sub(e.bytes);
|
||||||
|
out.push(e.path.clone());
|
||||||
|
}
|
||||||
|
out
|
||||||
|
}
|
||||||
|
|
||||||
|
fn dir_bytes(p: &Path) -> u64 {
|
||||||
|
let mut total = 0;
|
||||||
|
if let Ok(rd) = std::fs::read_dir(p) {
|
||||||
|
for e in rd.flatten() {
|
||||||
|
let m = match e.metadata() {
|
||||||
|
Ok(m) => m,
|
||||||
|
Err(_) => continue,
|
||||||
|
};
|
||||||
|
total += if m.is_dir() { dir_bytes(&e.path()) } else { m.len() };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
total
|
||||||
|
}
|
||||||
|
|
||||||
|
/// The directory's entries, oldest by modification time.
|
||||||
|
pub fn scan(dir: &Path) -> Vec<Entry> {
|
||||||
|
let now = SystemTime::now();
|
||||||
|
let mut out = Vec::new();
|
||||||
|
if let Ok(rd) = std::fs::read_dir(dir) {
|
||||||
|
for e in rd.flatten() {
|
||||||
|
let Ok(m) = e.metadata() else { continue };
|
||||||
|
let age = m.modified().ok().and_then(|t| now.duration_since(t).ok()).unwrap_or_default();
|
||||||
|
let bytes = if m.is_dir() { dir_bytes(&e.path()) } else { m.len() };
|
||||||
|
out.push(Entry { path: e.path(), bytes, age });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Enforces the caps on `dir`; returns (entries deleted, bytes freed).
|
||||||
|
pub fn enforce(dir: &Path) -> (usize, u64) {
|
||||||
|
let entries = scan(dir);
|
||||||
|
let plan = prune_plan(&entries, max_bytes(), max_age());
|
||||||
|
let mut freed = 0;
|
||||||
|
for p in &plan {
|
||||||
|
if let Some(e) = entries.iter().find(|e| &e.path == p) {
|
||||||
|
freed += e.bytes;
|
||||||
|
}
|
||||||
|
let _ = if p.is_dir() { std::fs::remove_dir_all(p) } else { std::fs::remove_file(p) };
|
||||||
|
}
|
||||||
|
(plan.len(), freed)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Free disk as a share of the volume `path` is on; None when the platform call fails.
|
||||||
|
#[cfg(unix)]
|
||||||
|
pub fn free_fraction(path: &Path) -> Option<f64> {
|
||||||
|
use std::ffi::CString;
|
||||||
|
use std::os::unix::ffi::OsStrExt;
|
||||||
|
let c = CString::new(path.as_os_str().as_bytes()).ok()?;
|
||||||
|
let mut st: libc::statvfs = unsafe { std::mem::zeroed() };
|
||||||
|
if unsafe { libc::statvfs(c.as_ptr(), &mut st) } != 0 {
|
||||||
|
return None;
|
||||||
|
}
|
||||||
|
let total = st.f_blocks as f64 * st.f_frsize as f64;
|
||||||
|
if total <= 0.0 {
|
||||||
|
return None;
|
||||||
|
}
|
||||||
|
Some(st.f_bavail as f64 * st.f_frsize as f64 / total)
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(windows)]
|
||||||
|
pub fn free_fraction(path: &Path) -> Option<f64> {
|
||||||
|
use std::os::windows::ffi::OsStrExt;
|
||||||
|
#[link(name = "kernel32")]
|
||||||
|
extern "system" {
|
||||||
|
fn GetDiskFreeSpaceExW(dir: *const u16, avail: *mut u64, total: *mut u64, free: *mut u64) -> i32;
|
||||||
|
}
|
||||||
|
let wide: Vec<u16> = path.as_os_str().encode_wide().chain(std::iter::once(0)).collect();
|
||||||
|
let (mut avail, mut total, mut free) = (0u64, 0u64, 0u64);
|
||||||
|
if unsafe { GetDiskFreeSpaceExW(wide.as_ptr(), &mut avail, &mut total, &mut free) } == 0 || total == 0 {
|
||||||
|
return None;
|
||||||
|
}
|
||||||
|
Some(avail as f64 / total as f64)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// The pre-export gate: the caps enforced, then the free-disk check. Err carries the line to log when the export
|
||||||
|
/// must be skipped.
|
||||||
|
pub fn before_export(dir: &Path) -> Result<(), String> {
|
||||||
|
let _ = std::fs::create_dir_all(dir);
|
||||||
|
let (n, freed) = enforce(dir);
|
||||||
|
if n > 0 {
|
||||||
|
eprintln!("prover: proving dir cap: {n} entries deleted, {} MB freed", freed / (1024 * 1024));
|
||||||
|
}
|
||||||
|
match free_fraction(dir) {
|
||||||
|
Some(f) if f < MIN_FREE_FRACTION => Err(format!("no export: {:.1}% of the disk is free, under the {:.0}% floor; the proving dir is {} MB after its cap; free space or lower IGNEUM_PROVING_DIR_MAX_GB", f * 100.0, MIN_FREE_FRACTION * 100.0, dir_bytes(dir) / (1024 * 1024))),
|
||||||
|
_ => Ok(()),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// A segment's directory goes the moment its record is submitted or paid.
|
||||||
|
pub fn remove_segment(dir: &Path, first: u64) {
|
||||||
|
let _ = std::fs::remove_dir_all(dir.join(format!("seg-{first}")));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
fn e(name: &str, mb: u64, days: u64) -> Entry {
|
||||||
|
Entry { path: PathBuf::from(name), bytes: mb * 1024 * 1024, age: Duration::from_secs(days * 24 * 3600) }
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn the_cap_deletes_the_old_then_the_oldest_until_it_fits() {
|
||||||
|
let entries = vec![e("seg-1", 400, 9), e("seg-2", 300, 3), e("seg-3", 300, 2), e("seg-4", 200, 1), e("block-5.json", 1, 0)];
|
||||||
|
// the age cap takes seg-1; the size cap (600 MB) then takes seg-2 (oldest kept), leaving 501 MB
|
||||||
|
let plan = prune_plan(&entries, 600 * 1024 * 1024, Duration::from_secs(7 * 24 * 3600));
|
||||||
|
assert_eq!(plan, vec![PathBuf::from("seg-1"), PathBuf::from("seg-2")]);
|
||||||
|
// under both caps: nothing
|
||||||
|
assert!(prune_plan(&entries[1..], 2 * 1024 * 1024 * 1024, Duration::from_secs(30 * 24 * 3600)).is_empty());
|
||||||
|
// a 100 GB box for a week: the default caps leave 80 GB to the node and the system
|
||||||
|
assert_eq!(DEFAULT_MAX_BYTES, 20 * 1024 * 1024 * 1024);
|
||||||
|
assert_eq!(DEFAULT_MAX_AGE, Duration::from_secs(7 * 24 * 3600));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn the_free_check_answers_on_this_machine() {
|
||||||
|
let f = free_fraction(Path::new(".")).expect("statvfs");
|
||||||
|
assert!((0.0..=1.0).contains(&f));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -261,7 +261,8 @@ fn api_post(shared: &Arc<Shared>, path: &str, body: Value) -> Result<Value, Stri
|
||||||
let proof_verify_trust = body.get("proof_verify_trust").and_then(|v| v.as_bool());
|
let proof_verify_trust = body.get("proof_verify_trust").and_then(|v| v.as_bool());
|
||||||
shared.apply_settings(identities, vote, login, address.as_deref(), display_name.as_deref(), dev_fee, proof_verify_trust)
|
shared.apply_settings(identities, vote, login, address.as_deref(), display_name.as_deref(), dev_fee, proof_verify_trust)
|
||||||
}
|
}
|
||||||
"/api/prove" => shared.set_prove(body.get("on").and_then(|v| v.as_bool()).unwrap_or(false)),
|
// {"on": bool, "system": 1|2} (system optional: the proof system the machine proves with)
|
||||||
|
"/api/prove" => shared.set_prove(body.get("on").and_then(|v| v.as_bool()).unwrap_or(false), body.get("system").and_then(|v| v.as_u64()).map(|x| x as u8)),
|
||||||
"/api/prove/setup" => crate::prover::setup(shared),
|
"/api/prove/setup" => crate::prover::setup(shared),
|
||||||
"/api/update/check" => {
|
"/api/update/check" => {
|
||||||
shared.send(Cmd::CheckUpdate);
|
shared.send(Cmd::CheckUpdate);
|
||||||
|
|
|
||||||
|
|
@ -165,6 +165,9 @@ pub struct ProvingState {
|
||||||
pub available: bool,
|
pub available: bool,
|
||||||
pub setup_hint: String,
|
pub setup_hint: String,
|
||||||
pub backend: String, // cpu | cuda
|
pub backend: String, // cpu | cuda
|
||||||
|
/// proving v2: the proof system the prover runs with (1 = SP1, 2 = RISC Zero) and whether its host is present
|
||||||
|
pub system: u8,
|
||||||
|
pub system_host: bool,
|
||||||
pub status: String, // off | setup | waiting | idle | proving | submitted
|
pub status: String, // off | setup | waiting | idle | proving | submitted
|
||||||
pub keys: u32,
|
pub keys: u32,
|
||||||
pub assigned: u32,
|
pub assigned: u32,
|
||||||
|
|
@ -256,6 +259,8 @@ pub struct SettingsState {
|
||||||
pub remote_jobs: bool,
|
pub remote_jobs: bool,
|
||||||
/// the prover service (src/prover.rs)
|
/// the prover service (src/prover.rs)
|
||||||
pub prove: bool,
|
pub prove: bool,
|
||||||
|
/// proving v2: the proof system the prover runs with (1 = SP1, 2 = RISC Zero)
|
||||||
|
pub prove_system: u8,
|
||||||
/// the efficiency sweep (src/sweep.rs): once after install, then weekly
|
/// the efficiency sweep (src/sweep.rs): once after install, then weekly
|
||||||
pub sweep: bool,
|
pub sweep: bool,
|
||||||
/// the miner software's dev fee switch (settings; `--dev-fee 0` when off)
|
/// the miner software's dev fee switch (settings; `--dev-fee 0` when off)
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,17 @@ pub fn candidates(bin_dir: &Path) -> Vec<String> {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// proving v2: where the RISC Zero host may be inside WSL2 (next to the SP1 host in every candidate location).
|
||||||
|
pub fn candidates_r0(bin_dir: &Path) -> Vec<String> {
|
||||||
|
candidates(bin_dir).into_iter().map(|c| c.replace("igneum-prove-host", "igneum-prove-r0-host")).collect()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// The lookup for the RISC Zero host, printing its path when one is executable (nothing otherwise).
|
||||||
|
pub fn lookup_script_r0(bin_dir: &Path) -> String {
|
||||||
|
let list: Vec<String> = candidates_r0(bin_dir).into_iter().map(|c| if c.starts_with('~') { c } else { format!("'{}'", c.replace('\'', "'\\''")) }).collect();
|
||||||
|
format!("for f in {}; do [ -x \"$f\" ] && {{ echo \"$f\"; break; }}; done", list.join(" "))
|
||||||
|
}
|
||||||
|
|
||||||
/// The candidates as one line for a message.
|
/// The candidates as one line for a message.
|
||||||
/// Whether the distribution answers at all (`wsl.exe -d Ubuntu-24.04 -- echo <marker>` within 30 s): the install-time
|
/// Whether the distribution answers at all (`wsl.exe -d Ubuntu-24.04 -- echo <marker>` within 30 s): the install-time
|
||||||
/// prover default (src/provedefault.rs) needs WSL2 on Windows before it switches proving on. Elsewhere: false.
|
/// prover default (src/provedefault.rs) needs WSL2 on Windows before it switches proving on. Elsewhere: false.
|
||||||
|
|
|
||||||
|
|
@ -528,6 +528,8 @@ if (typeof document !== 'undefined') (function () {
|
||||||
|
|
||||||
// ---------- Prove ----------
|
// ---------- Prove ----------
|
||||||
$('s-prove').addEventListener('change', function () { var on = this.checked; api('api/prove', { on: on }).then(function (r) { if (r.ok) toast(on ? 'Proving on; the first shard arrives within a minute' : 'Proving off'); else { toast(r.error || 'could not change'); $('s-prove').checked = !on; } }); });
|
$('s-prove').addEventListener('change', function () { var on = this.checked; api('api/prove', { on: on }).then(function (r) { if (r.ok) toast(on ? 'Proving on; the first shard arrives within a minute' : 'Proving off'); else { toast(r.error || 'could not change'); $('s-prove').checked = !on; } }); });
|
||||||
|
// proving v2: the proof system (1 = SP1, 2 = RISC Zero); the prover switches host and record version on its next pass
|
||||||
|
$('s-prove-system').addEventListener('change', function () { var sy = Number(this.value); api('api/prove', { on: $('s-prove').checked, system: sy }).then(function (r) { if (r.ok) toast(sy === 2 ? 'Proof system 2 (RISC Zero): shards only, until its aggregator lands' : 'Proof system 1 (SP1)'); else toast(r.error || 'could not change'); }); });
|
||||||
$('pv-setup').addEventListener('click', function () { api('api/prove/setup', {}).then(function (r) { toast(r.ok ? 'Setup started in its own window' : (r.error || 'could not start')); }); });
|
$('pv-setup').addEventListener('click', function () { api('api/prove/setup', {}).then(function (r) { toast(r.ok ? 'Setup started in its own window' : (r.error || 'could not start')); }); });
|
||||||
|
|
||||||
// ---------- Rewards ----------
|
// ---------- Rewards ----------
|
||||||
|
|
@ -1001,6 +1003,7 @@ if (typeof document !== 'undefined') (function () {
|
||||||
function renderProve(s) {
|
function renderProve(s) {
|
||||||
var pv = s.proving || {}, enabled = !!(s.settings && s.settings.prove);
|
var pv = s.proving || {}, enabled = !!(s.settings && s.settings.prove);
|
||||||
if (document.activeElement !== $('s-prove')) $('s-prove').checked = enabled;
|
if (document.activeElement !== $('s-prove')) $('s-prove').checked = enabled;
|
||||||
|
if (document.activeElement !== $('s-prove-system')) $('s-prove-system').value = String((s.settings && s.settings.prove_system) || 1);
|
||||||
var w = View.proveWords(pv, enabled, s.node.synced);
|
var w = View.proveWords(pv, enabled, s.node.synced);
|
||||||
setText('pv-state', w.word + (pv.backend && enabled && pv.available ? ' (' + pv.backend.toUpperCase() + ')' : ''));
|
setText('pv-state', w.word + (pv.backend && enabled && pv.available ? ' (' + pv.backend.toUpperCase() + ')' : ''));
|
||||||
setText('pv-state-sub', w.sub);
|
setText('pv-state-sub', w.sub);
|
||||||
|
|
|
||||||
|
|
@ -209,6 +209,7 @@
|
||||||
<p class="help">Every block on Igneum is turned into a short mathematical proof, in pieces called shards. The chain assigns shards to your keys; this machine proves them and is paid for each one. On by default on an NVIDIA card with 24 GB or more (a full shard needs 20.4 GB of GPU memory, measured); off on a Mac, whose CPU prover is slow.</p>
|
<p class="help">Every block on Igneum is turned into a short mathematical proof, in pieces called shards. The chain assigns shards to your keys; this machine proves them and is paid for each one. On by default on an NVIDIA card with 24 GB or more (a full shard needs 20.4 GB of GPU memory, measured); off on a Mac, whose CPU prover is slow.</p>
|
||||||
</div>
|
</div>
|
||||||
<label class="switch lg" title="Prove assigned shards"><input type="checkbox" id="s-prove" aria-label="Prove shards on this machine"><span class="track"></span></label>
|
<label class="switch lg" title="Prove assigned shards"><input type="checkbox" id="s-prove" aria-label="Prove shards on this machine"><span class="track"></span></label>
|
||||||
|
<select id="s-prove-system" aria-label="Proof system" title="The proof system this machine proves with"><option value="1">SP1 (version 1)</option><option value="2">RISC Zero (version 2, preview)</option></select>
|
||||||
</div>
|
</div>
|
||||||
<p class="note" id="pv-note">Off. Switch it on and this machine proves the shards the chain assigns to its keys.</p>
|
<p class="note" id="pv-note">Off. Switch it on and this machine proves the shards the chain assigns to its keys.</p>
|
||||||
<div class="row" id="pv-setup-row" hidden><button class="btn small primary" id="pv-setup">Set up</button><span class="note">About 20 minutes, once.</span></div>
|
<div class="row" id="pv-setup-row" hidden><button class="btn small primary" id="pv-setup">Set up</button><span class="note">About 20 minutes, once.</span></div>
|
||||||
|
|
|
||||||
36
bench/proof-systems/README.md
Normal file
36
bench/proof-systems/README.md
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
# Proof-system watch
|
||||||
|
|
||||||
|
One fixed shard, every candidate, one row each. The row says what a 12 GB card and a phone verifier would
|
||||||
|
see; the quarterly run says what moved.
|
||||||
|
|
||||||
|
## The fixed shard
|
||||||
|
|
||||||
|
Four fixtures, shard 0 of each: `proving/fixtures/fees-v1-shards2.json` (the adopted shard size `S_p`, 4,717,439
|
||||||
|
SP1 cycles, "the v1 shard"), `proving/fixtures/block-338-shard1.json` (one FULL shard at the prototype shard size,
|
||||||
|
60,415,376 cycles: the heaviest shard the chain ever cut; 30 GB on the stock SP1 server),
|
||||||
|
`proving/fixtures/block-72854-empty-block-first.json` (despite its name a 23.6 M-cycle shard: the first block after
|
||||||
|
an empty one; 17 s at 20 GB on the stock server) and `proving/fixtures/block-58927-empty-reward.json` (an empty
|
||||||
|
block, 278,423 RISC Zero cycles, "the empty shard"). The statement is
|
||||||
|
`igneum_prove_core::shard::shard_statement`; every candidate commits the same `ShardOutput` bytes. The 12 GB tier
|
||||||
|
is judged on the v1 shard; the prototype shard is the ceiling, not the gate.
|
||||||
|
|
||||||
|
## The candidates and how each is run
|
||||||
|
|
||||||
|
| Candidate | Binary | How | Recursion | Audit |
|
||||||
|
|---|---|---|---|---|
|
||||||
|
| SP1 stock 6.8.1 (Hypercube: SP1 6.x is the Hypercube prover, docs/analysis/proving-methods.md 1.1) | `proving/igneum-prove/target/release/igneum-prove-host` | `--mode compressed --shard 0`, `SP1_PROVER=cpu` on the Mac, `cuda` on PC 2 | yes (compressed, aggregator guest) | yes (KALOS, Cantina, Zellic, Veridise; docs/plans/funding.md 2a) |
|
||||||
|
| SP1 patched server (the prover-floor agent's v3/v4 build) | the same host, `~/.sp1/bin/sp1-gpu-server` replaced | PC 2 only (`HOME=/opt/igneum-floor/home`); n/a on the Mac (no CUDA) | yes | the server fork is not audited; the guest and verifier are the stock ones |
|
||||||
|
| SP1 Hypercube separate release | n/a | the stock row is the Hypercube prover; no separate release exists to run | | |
|
||||||
|
| RISC Zero (proof system 2) | `proving/igneum-prove-r0/target/release/igneum-prove-r0-host` | `--mode compressed --shard 0`, Metal on the Mac, CUDA on PC 2 | yes (succinct receipt; composition for an aggregator) | yes (Veridise, Hexens; funding.md 2a) |
|
||||||
|
| Jolt | n/a | no guest for our shard, no shipped recursion, no Metal release used here (proving-methods.md route F): n/a until a guest is written | no | no |
|
||||||
|
|
||||||
|
## The row
|
||||||
|
|
||||||
|
`rows/<date>-<machine>-<candidate>.json`: `candidate, machine, backend (cpu|cuda|metal), fixture, shard, cycles,
|
||||||
|
wall_s, prove_s, peak_memory_mib (max RSS on the Mac; nvidia-smi memory.used on a CUDA box), proof_bytes,
|
||||||
|
verify_s (one core), recursion, audit, verified (by the pinned verifier), command, source`. `node table.mjs`
|
||||||
|
renders every row into the table below. A cell that was not measured says `n/a` and why.
|
||||||
|
|
||||||
|
## Latest table
|
||||||
|
|
||||||
|
(rendered by `node bench/proof-systems/table.mjs > bench/proof-systems/TABLE.md`)
|
||||||
86
bench/proof-systems/TABLE.md
Normal file
86
bench/proof-systems/TABLE.md
Normal file
|
|
@ -0,0 +1,86 @@
|
||||||
|
| Candidate | Machine, backend, note | Fixture | Cycles | Prove s | Wall s | Peak memory MiB | Proof bytes | Verify s (one core) | Recursion | Audit | Verified | Date |
|
||||||
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||
|
| sp1-patched | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda, 4060 8 GB alone, patched 2^25 | block-338-shard1.json shard 0 | 60415376 | 87.0 | 94.9 | 7628 | 1272897 | 0.319 | yes | no | yes | 20261006-1604 |
|
||||||
|
| sp1-patched | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda, 4060 8 GB alone, patched 2^26 | block-338-shard1.json shard 0 | 60415376 | 41.3 | 49.3 | 7596 | 1272897 | 0.328 | yes | no | yes | 20261006-1603 |
|
||||||
|
| sp1-patched | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda | n/a: the prove run failed (exit 1): /tmp/tmp.7ILTbMmhGd/time.log:Error: CudaClientError: The server returned an internal error | | | | | | | | | | 20261006-1603 |
|
||||||
|
| r0 | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda, 4060 8 GB alone, po2 19 | block-338-shard1.json shard 0 | 89482640 | 401.9 | 403.5 | 6752 | 223882 | 0.224 | yes | yes | yes | 20261006-1541 |
|
||||||
|
| r0 | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda | n/a: the prove run failed (exit 101): /tmp/tmp.75fL1zX5AZ/time.log: out of memory | | | | | | | | | | 20261006-1541 |
|
||||||
|
| sp1 | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda | n/a: the prove run failed (exit 1): /tmp/tmp.klQ694HVLB/time.log:Error: CudaClientError: Failed to read the response: Custom { kind: UnexpectedEof, error: early eof } | | | | | | | | | | 20261006-1541 |
|
||||||
|
| sp1-patched | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda, 4060 8 GB alone, patched 2^25 | block-72854-empty-block-first.json shard 0 | 23594943 | 79.6 | 87.2 | 7628 | 1272897 | 0.319 | yes | no | yes | 20261006-1539 |
|
||||||
|
| sp1-patched | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda | n/a: the prove run failed (exit 1): /tmp/tmp.13mBtKKglh/time.log:Error: CudaClientError: The server returned an internal error | | | | | | | | | | 20261006-1539 |
|
||||||
|
| r0 | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda, 4060 8 GB alone, po2 19 | block-72854-empty-block-first.json shard 0 | 134734531 | 697.3 | 701.3 | 6730 | 223882 | 0.225 | yes | yes | yes | 20261006-1512 |
|
||||||
|
| r0 | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda | n/a: the prove run failed (exit 101): /tmp/tmp.JPJDVvnbik/time.log: out of memory | | | | | | | | | | 20261006-1512 |
|
||||||
|
| sp1 | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda | n/a: the prove run failed (exit 1): /tmp/tmp.NUem292PRA/time.log:Error: CudaClientError: Failed to read the response: Custom { kind: UnexpectedEof, error: early eof } | | | | | | | | | | 20261006-1511 |
|
||||||
|
| sp1-patched | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda, 4060 8 GB alone, patched 2^25 | block-58927-empty-reward.json shard 0 | 257467 | 5.9 | 12.9 | 7596 | 1272897 | 0.325 | yes | no | yes | 20261006-1511 |
|
||||||
|
| sp1-patched | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda, 4060 8 GB alone, patched 2^26 | block-58927-empty-reward.json shard 0 | 257467 | 4.2 | 11.2 | 7564 | 1272897 | 0.321 | yes | no | yes | 20261006-1511 |
|
||||||
|
| sp1-patched | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda, 4060 8 GB alone, patched 2^27 | block-58927-empty-reward.json shard 0 | 257467 | 3.3 | 10.5 | 7470 | 1272897 | 0.320 | yes | no | yes | 20261006-1511 |
|
||||||
|
| sp1-patched | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda, 4060 8 GB alone, patched default | block-58927-empty-reward.json shard 0 | 257467 | 3.3 | 10.4 | 7406 | 1272897 | 0.323 | yes | no | yes | 20261006-1511 |
|
||||||
|
| r0 | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda, 4060 8 GB alone, po2 19 | block-58927-empty-reward.json shard 0 | 278423 | 3.8 | 4.3 | 6876 | 223882 | 0.225 | yes | yes | yes | 20261006-1510 |
|
||||||
|
| r0 | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda, 4060 8 GB alone, po2 20 | block-58927-empty-reward.json shard 0 | 278423 | 3.8 | 4.3 | 6812 | 223882 | 0.223 | yes | yes | yes | 20261006-1510 |
|
||||||
|
| sp1 | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda | n/a: the prove run failed (exit 1): /tmp/tmp.0JSHMJ96SK/time.log:Error: CudaClientError: Failed to read the response: Custom { kind: UnexpectedEof, error: early eof } | | | | | | | | | | 20261006-1510 |
|
||||||
|
| sp1-patched | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda, 4060 8 GB alone, patched 2^25 | fees-v1-shards2.json shard 0 | 4717439 | 12.8 | 19.8 | 7660 | 1272897 | 0.318 | yes | no | yes | 20261006-1510 |
|
||||||
|
| sp1-patched | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda, 4060 8 GB alone, patched 2^26 | fees-v1-shards2.json shard 0 | 4717439 | 7.9 | 15.1 | 7692 | 1272897 | 0.316 | yes | no | yes | 20261006-1510 |
|
||||||
|
| sp1-patched | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda | n/a: the prove run failed (exit 124): /tmp/tmp.pKGGDBy0r0/time.log:called `Result::unwrap()` on an `Err` value: JoinError::Panic(Id(456), called `Result::unwrap()` on an `Err` value: OutOfMemory, ...) | | | | | | | | | | 20261006-1455 |
|
||||||
|
| r0 | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda, 4060 8 GB alone, po2 19 | fees-v1-shards2.json shard 0 | 10049917 | 47.1 | 47.7 | 6720 | 223882 | 0.221 | yes | yes | yes | 20261006-1454 |
|
||||||
|
| r0 | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda | n/a: the prove run failed (exit 101): /tmp/tmp.khG85FrAuh/time.log: out of memory | | | | | | | | | | 20261006-1453 |
|
||||||
|
| sp1 | rz-4060 (RTX 4060 8 GB, Vast.ai), cuda | n/a: the prove run failed (exit 1): /tmp/tmp.yOqeSspoDW/time.log:Error: CudaClientError: Failed to read the response: Custom { kind: UnexpectedEof, error: early eof } | | | | | | | | | | 20261006-1453 |
|
||||||
|
| sp1-patched | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone, patched 2^26 | block-58927-empty-reward.json shard 0 | 257467 | 7.3 | 27.5 | 7203 | 1272897 | 0.542 | yes | no | yes | 20261006-1408 |
|
||||||
|
| sp1-patched | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone, patched 2^27 | block-58927-empty-reward.json shard 0 | 257467 | 5.6 | 25.9 | 7301 | 1272897 | 0.562 | yes | no | yes | 20261006-1408 |
|
||||||
|
| sp1-patched | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone, patched 2^25 | block-338-shard1.json shard 0 | 60415376 | 57.5 | 78.0 | 8128 | 1272897 | 0.571 | yes | no | yes | 20261006-1408 |
|
||||||
|
| r0 | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone, po2 19 | block-58927-empty-reward.json shard 0 | 278423 | 5.7 | 6.8 | 7345 | 223882 | 0.466 | yes | yes | yes | 20261006-1407 |
|
||||||
|
| r0 | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone, po2 20 | block-58927-empty-reward.json shard 0 | 278423 | 5.6 | 6.7 | 7345 | 223882 | 0.464 | yes | yes | yes | 20261006-1407 |
|
||||||
|
| sp1 | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda | n/a: the prove run failed (exit 1): /tmp/tmp.qVtcFNc806/time.log:Error: CudaClientError: Failed to read the response: Custom { kind: UnexpectedEof, error: early eof } | | | | | | | | | | 20261006-1407 |
|
||||||
|
| sp1-patched | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone, patched default | block-58927-empty-reward.json shard 0 | 257467 | 5.5 | 24.7 | 7205 | 1272897 | 0.537 | yes | no | yes | 20261006-1407 |
|
||||||
|
| sp1-patched | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone, patched 2^26 | block-338-shard1.json shard 0 | 60415376 | 29.2 | 51.3 | 8192 | 1272897 | 0.547 | yes | no | yes | 20261006-1407 |
|
||||||
|
| sp1-patched | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone, patched 2^27 | block-338-shard1.json shard 0 | 60415376 | 21.2 | 42.3 | 11202 | 1272897 | 0.548 | yes | no | yes | 20261006-1407 |
|
||||||
|
| sp1-patched | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone, patched default | block-338-shard1.json shard 0 | 60415376 | 19.5 | 42.2 | 18344 | 1272897 | 0.546 | yes | no | yes | 20261006-1406 |
|
||||||
|
| r0 | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone, po2 19 | block-338-shard1.json shard 0 | 89482640 | 281.4 | 286.0 | 8846 | 223882 | 0.460 | yes | yes | yes | 20261006-1401 |
|
||||||
|
| r0 | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone, po2 20 | block-338-shard1.json shard 0 | 89482640 | 178.5 | 182.5 | 13390 | 223882 | 0.467 | yes | yes | yes | 20261006-1358 |
|
||||||
|
| r0 | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone, po2 19 | block-338-shard1.json shard 0 | 89482640 | 578.2 | 582.5 | 7285 | 223882 | 0.459 | yes | yes | yes | 20261006-1357 |
|
||||||
|
| sp1 | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone | block-338-shard1.json shard 0 | 60415376 | 19.1 | 41.8 | 20680 | 1272897 | 0.540 | yes | yes | yes | 20261006-1357 |
|
||||||
|
| r0 | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone, po2 19 | fees-v1-shards2.json shard 0 | 10049917 | 68.5 | 69.9 | 7339 | 223882 | 0.459 | yes | yes | yes | 20261006-1356 |
|
||||||
|
| sp1-patched | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone, patched 2^25 | block-72854-empty-block-first.json shard 0 | 23594943 | 50.7 | 69.5 | 8192 | 1272897 | 0.549 | yes | no | yes | 20261006-1356 |
|
||||||
|
| sp1-patched | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone, patched 2^26 | block-72854-empty-block-first.json shard 0 | 23594943 | 27.1 | 46.1 | 8160 | 1272897 | 0.545 | yes | no | yes | 20261006-1355 |
|
||||||
|
| sp1-patched | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone, patched 2^27 | block-72854-empty-block-first.json shard 0 | 23594943 | 20.0 | 40.1 | 10754 | 1272897 | 0.533 | yes | no | yes | 20261006-1354 |
|
||||||
|
| sp1-patched | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone, patched default | block-72854-empty-block-first.json shard 0 | 23594943 | 16.8 | 38.5 | 17576 | 1272897 | 0.544 | yes | no | yes | 20261006-1354 |
|
||||||
|
| sp1-patched | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone, patched 2^26 | block-338-shard1.json shard 0 | 60415376 | 58.3 | 81.1 | 7555 | 1272897 | 0.547 | yes | no | yes | 20261006-1349 |
|
||||||
|
| sp1-patched | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone, patched 2^27 | block-338-shard1.json shard 0 | 60415376 | 39.6 | 61.6 | 10661 | 1272897 | 0.550 | yes | no | yes | 20261006-1348 |
|
||||||
|
| sp1-patched | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone, patched default | block-338-shard1.json shard 0 | 60415376 | 39.2 | 61.1 | 10661 | 1272897 | 0.555 | yes | no | yes | 20261006-1347 |
|
||||||
|
| r0 | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone, po2 19 | block-72854-empty-block-first.json shard 0 | 134734531 | 509.7 | 518.3 | 20484 | 223882 | 0.452 | yes | yes | yes | 20261006-1345 |
|
||||||
|
| r0 | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone | block-338-shard1.json shard 0 | 89482640 | 427.6 | 431.7 | 10153 | 223882 | 0.460 | yes | yes | yes | 20261006-1339 |
|
||||||
|
| sp1 | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda | n/a: the prove run failed (exit 1): /tmp/tmp.bcgeLFKAkK/time.log:Error: CudaClientError: Failed to read the response: Custom { kind: UnexpectedEof, error: early eof } | | | | | | | | | | 20261006-1339 |
|
||||||
|
| r0 | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone, po2 20 | block-72854-empty-block-first.json shard 0 | 134734531 | 354.6 | 362.9 | 20468 | 223882 | 0.453 | yes | yes | yes | 20261006-1339 |
|
||||||
|
| sp1-patched | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone, patched 2^26 | block-72854-empty-block-first.json shard 0 | 23594943 | 57.4 | 77.5 | 7491 | 1272897 | 0.546 | yes | no | yes | 20261006-1338 |
|
||||||
|
| sp1 | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone | block-72854-empty-block-first.json shard 0 | 23594943 | 17.0 | 38.9 | 20136 | 1272897 | 0.531 | yes | yes | yes | 20261006-1338 |
|
||||||
|
| sp1-patched | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone, patched 2^25 | fees-v1-shards2.json shard 0 | 4717439 | 9.5 | 26.8 | 8384 | 1272897 | 0.546 | yes | no | yes | 20261006-1338 |
|
||||||
|
| sp1-patched | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone, patched 2^27 | block-72854-empty-block-first.json shard 0 | 23594943 | 39.5 | 60.7 | 10245 | 1272897 | 0.550 | yes | no | yes | 20261006-1337 |
|
||||||
|
| sp1-patched | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone, patched 2^26 | fees-v1-shards2.json shard 0 | 4717439 | 6.8 | 24.6 | 8192 | 1272897 | 0.546 | yes | no | yes | 20261006-1337 |
|
||||||
|
| sp1-patched | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone, patched 2^27 | fees-v1-shards2.json shard 0 | 4717439 | 6.2 | 24.6 | 10850 | 1272897 | 0.543 | yes | no | yes | 20261006-1337 |
|
||||||
|
| sp1-patched | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone, patched default | block-72854-empty-block-first.json shard 0 | 23594943 | 39.7 | 61.0 | 9957 | 1272897 | 0.556 | yes | no | yes | 20261006-1336 |
|
||||||
|
| r0 | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone, po2 19 | fees-v1-shards2.json shard 0 | 10049917 | 32.7 | 34.2 | 8500 | 223882 | 0.460 | yes | yes | yes | 20261006-1336 |
|
||||||
|
| sp1-patched | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone, patched default | fees-v1-shards2.json shard 0 | 4717439 | 6.4 | 26.9 | 14696 | 1272897 | 0.546 | yes | no | yes | 20261006-1336 |
|
||||||
|
| r0 | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone, po2 20 | fees-v1-shards2.json shard 0 | 10049917 | 23.1 | 24.6 | 13280 | 223882 | 0.455 | yes | yes | yes | 20261006-1335 |
|
||||||
|
| sp1 | rz-4090 (RTX 4090 24 GB, RunPod, driver 570), cuda, 4090 24 GB alone | fees-v1-shards2.json shard 0 | 4717439 | 6.4 | 127.5 | 17800 | 1272897 | 0.542 | yes | yes | yes | 20261006-1333 |
|
||||||
|
| r0 | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone | block-72854-empty-block-first.json shard 0 | 134734531 | 773.0 | 781.3 | 10173 | 223882 | 0.478 | yes | yes | yes | 20261006-1323 |
|
||||||
|
| sp1 | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda | n/a: the prove run failed (exit 1): /tmp/tmp.tTBbwV8taM/time.log:Error: CudaClientError: Failed to read the response: Custom { kind: UnexpectedEof, error: early eof } | | | | | | | | | | 20261006-1323 |
|
||||||
|
| sp1-patched | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone, patched 2^26 | fees-v1-shards2.json shard 0 | 4717439 | 13.1 | 31.6 | 7587 | 1272897 | 0.551 | yes | no | yes | 20261006-1322 |
|
||||||
|
| sp1-patched | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone, patched 2^27 | fees-v1-shards2.json shard 0 | 4717439 | 9.5 | 31.5 | 10181 | 1272897 | 0.545 | yes | no | yes | 20261006-1321 |
|
||||||
|
| sp1-patched | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone, patched default | fees-v1-shards2.json shard 0 | 4717439 | 10.0 | 32.4 | 10117 | 1272897 | 0.536 | yes | no | yes | 20261006-1321 |
|
||||||
|
| r0 | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda, 3060 12 GB alone | fees-v1-shards2.json shard 0 | 10049917 | 53.0 | 54.4 | 10071 | 223882 | 0.454 | yes | yes | yes | 20261006-1320 |
|
||||||
|
| sp1 | rz-3060 (RTX 3060 12 GB, Vast, driver 580), cuda | n/a: the prove run failed (exit 1): /tmp/tmp.rVivH09Uqp/time.log:Error: CudaClientError: Failed to read the response: Custom { kind: UnexpectedEof, error: early eof } | | | | | | | | | | 20261006-1319 |
|
||||||
|
| sp1-patched | DESKTOP-KMCV30N, cuda, beside the miner, patched 2^26 | block-338-shard1.json shard 0 | 60415376 | 138.0 | 148.1 | 12129 | 1272897 | 0.323 | yes | no | yes | 20261006-1203 |
|
||||||
|
| sp1-patched | DESKTOP-KMCV30N, cuda, beside the miner, patched default | block-338-shard1.json shard 0 | 60415376 | 38.1 | 52.0 | 27501 | 1272897 | 0.327 | yes | no | yes | 20261006-1202 |
|
||||||
|
| sp1 | DESKTOP-KMCV30N, cuda, beside the miner | block-338-shard1.json shard 0 | 60415376 | 37.6 | 53.7 | 30413 | 1272897 | 0.327 | yes | yes | yes | 20261006-1201 |
|
||||||
|
| sp1-patched | DESKTOP-KMCV30N, cuda, beside the miner, patched 2^26 | fees-v1-shards2.json shard 0 | 4717439 | 27.0 | 36.2 | 12012 | 1272897 | 0.324 | yes | no | yes | 20261006-1201 |
|
||||||
|
| sp1-patched | DESKTOP-KMCV30N, cuda, beside the miner, patched default | fees-v1-shards2.json shard 0 | 4717439 | 15.1 | 28.9 | 18637 | 1272897 | 0.327 | yes | no | yes | 20261006-1200 |
|
||||||
|
| r0 | MacBook-Pro, cpu, CPU HAL (metal build), po2 19 | block-58927-empty-reward.json shard 0 | 278423 | 46.5 | 46.9 | 7935 | 223882 | 0.210 | yes | yes | yes | 20261006-1200 |
|
||||||
|
| r0 | MacBook-Pro, cpu, CPU HAL (metal build), po2 20 | block-58927-empty-reward.json shard 0 | 278423 | 47.9 | 48.4 | 7933 | 223882 | 0.210 | yes | yes | yes | 20261006-1200 |
|
||||||
|
| r0 | MacBook-Pro, cpu, CPU HAL (metal build), po2 21 | block-58927-empty-reward.json shard 0 | 278423 | 49.0 | 49.4 | 7936 | 223882 | 0.210 | yes | yes | yes | 20261006-1200 |
|
||||||
|
| r0 | MacBook-Pro, cpu, CPU HAL (cpu build), po2 20 | fees-v1-shards2.json shard 0 | 10049917 | 585.8 | 587.7 | 10093 | 223882 | 0.210 | yes | yes | yes | 20261006-1200 |
|
||||||
|
| r0 | MacBook-Pro, cpu, CPU HAL (metal build), po2 19 | fees-v1-shards2.json shard 0 | 10049917 | 698.7 | 699.2 | 8013 | 223882 | 0.210 | yes | yes | yes | 20261006-1200 |
|
||||||
|
| r0 | MacBook-Pro, cpu, CPU HAL (metal build), po2 20 | fees-v1-shards2.json shard 0 | 10049917 | 574.4 | 575.0 | 10166 | 223882 | 0.210 | yes | yes | yes | 20261006-1200 |
|
||||||
|
| r0 | MacBook-Pro, cpu, CPU HAL (metal build), po2 21 | fees-v1-shards2.json shard 0 | 10049917 | 560.9 | 561.5 | 19497 | 223882 | 0.210 | yes | yes | yes | 20261006-1200 |
|
||||||
|
| sp1 | DESKTOP-KMCV30N, cuda, beside the miner | fees-v1-shards2.json shard 0 | 4717439 | 14.8 | 31.1 | 22477 | 1272897 | 0.321 | yes | yes | yes | 20261006-1159 |
|
||||||
|
| jolt | MacBook-Pro, cpu | n/a: no guest for our shard statement and no shipped recursion (proving-methods.md route F) | | | | | | | | | | 20261006-1146 |
|
||||||
|
| sp1-patched | MacBook-Pro, cpu | n/a: the patched server exists only on PC 2 (/opt/igneum-floor/home) | | | | | | | | | | 20261006-1146 |
|
||||||
|
| sp1 | MacBook-Pro, cpu | fees-v1-shards2.json shard 0 | 4717439 | 71.7 | 80.3 | 27821 | 1272897 | 0.258 | yes | yes | yes | 20261006-1146 |
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"candidate":"jolt","machine":"MacBook-Pro","backend":"cpu","na":"no guest for our shard statement and no shipped recursion (proving-methods.md route F)","date":"20261006-1146"}
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"candidate":"sp1-patched","machine":"MacBook-Pro","backend":"cpu","na":"the patched server exists only on PC 2 (/opt/igneum-floor/home)","date":"20261006-1146"}
|
||||||
26
bench/proof-systems/rows/20261006-1146-MacBook-Pro-sp1.json
Normal file
26
bench/proof-systems/rows/20261006-1146-MacBook-Pro-sp1.json
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1",
|
||||||
|
"machine": "MacBook-Pro",
|
||||||
|
"backend": "cpu",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1146",
|
||||||
|
"cycles": 4717439,
|
||||||
|
"wall_s": 80.25,
|
||||||
|
"prove_s": 71.749146208,
|
||||||
|
"peak_memory_mib": 27821,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.258,
|
||||||
|
"verify_runs": [
|
||||||
|
0.258,
|
||||||
|
0.258,
|
||||||
|
0.258
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "SP1_PROVER=cpu RUST_LOG=off - <host> /Users/joshm/Projects/igneum-wt-proving-v2/proving/fixtures/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1",
|
||||||
|
"machine": "DESKTOP-KMCV30N",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1159",
|
||||||
|
"cycles": 4717439,
|
||||||
|
"wall_s": 31.05,
|
||||||
|
"prove_s": 14.79086266,
|
||||||
|
"peak_memory_mib": 22477,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.321,
|
||||||
|
"verify_runs": [
|
||||||
|
0.324,
|
||||||
|
0.321,
|
||||||
|
0.401
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "SP1_PROVER=cuda RUST_LOG=off <host> /mnt/c/Users/Admin/AppData/Local/igneum/prove/bench-ps/bench-ps/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "beside the miner",
|
||||||
|
"job": "bench-a-pc2"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "DESKTOP-KMCV30N",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1200",
|
||||||
|
"cycles": 4717439,
|
||||||
|
"wall_s": 28.95,
|
||||||
|
"prove_s": 15.114874631,
|
||||||
|
"peak_memory_mib": 18637,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.327,
|
||||||
|
"verify_runs": [
|
||||||
|
0.327,
|
||||||
|
0.335,
|
||||||
|
0.343
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off <host> /mnt/c/Users/Admin/AppData/Local/igneum/prove/bench-ps/bench-ps/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "beside the miner, patched default",
|
||||||
|
"job": "bench-a-pc2"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "MacBook-Pro",
|
||||||
|
"backend": "cpu",
|
||||||
|
"fixture": "block-58927-empty-reward.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1200",
|
||||||
|
"cycles": 278423,
|
||||||
|
"wall_s": 46.91,
|
||||||
|
"prove_s": 46.465535042,
|
||||||
|
"peak_memory_mib": 7935,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.21,
|
||||||
|
"verify_runs": [
|
||||||
|
0.21,
|
||||||
|
0.21,
|
||||||
|
0.21
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"po2": 19,
|
||||||
|
"command": "RISC0_PROVER=local igneum-prove-r0-host proving/fixtures/block-58927-empty-reward.json --mode compressed --shard 0 --po2 19 (features: metal; 3.0.6 selects no Metal HAL, so both builds are the CPU HAL)",
|
||||||
|
"source": "proving/igneum-prove-r0/bench/mac-2026-10-06.sh (the RISC Zero agent), bench-log \"RISC Zero as proof system 2 on the Mac\"",
|
||||||
|
"label": "CPU HAL (metal build), po2 19"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "MacBook-Pro",
|
||||||
|
"backend": "cpu",
|
||||||
|
"fixture": "block-58927-empty-reward.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1200",
|
||||||
|
"cycles": 278423,
|
||||||
|
"wall_s": 48.4,
|
||||||
|
"prove_s": 47.948946833,
|
||||||
|
"peak_memory_mib": 7933,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.21,
|
||||||
|
"verify_runs": [
|
||||||
|
0.21,
|
||||||
|
0.21,
|
||||||
|
0.21
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"po2": 20,
|
||||||
|
"command": "RISC0_PROVER=local igneum-prove-r0-host proving/fixtures/block-58927-empty-reward.json --mode compressed --shard 0 --po2 20 (features: metal; 3.0.6 selects no Metal HAL, so both builds are the CPU HAL)",
|
||||||
|
"source": "proving/igneum-prove-r0/bench/mac-2026-10-06.sh (the RISC Zero agent), bench-log \"RISC Zero as proof system 2 on the Mac\"",
|
||||||
|
"label": "CPU HAL (metal build), po2 20"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "MacBook-Pro",
|
||||||
|
"backend": "cpu",
|
||||||
|
"fixture": "block-58927-empty-reward.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1200",
|
||||||
|
"cycles": 278423,
|
||||||
|
"wall_s": 49.44,
|
||||||
|
"prove_s": 48.974515,
|
||||||
|
"peak_memory_mib": 7936,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.21,
|
||||||
|
"verify_runs": [
|
||||||
|
0.21,
|
||||||
|
0.21,
|
||||||
|
0.21
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"po2": 21,
|
||||||
|
"command": "RISC0_PROVER=local igneum-prove-r0-host proving/fixtures/block-58927-empty-reward.json --mode compressed --shard 0 --po2 21 (features: metal; 3.0.6 selects no Metal HAL, so both builds are the CPU HAL)",
|
||||||
|
"source": "proving/igneum-prove-r0/bench/mac-2026-10-06.sh (the RISC Zero agent), bench-log \"RISC Zero as proof system 2 on the Mac\"",
|
||||||
|
"label": "CPU HAL (metal build), po2 21"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "MacBook-Pro",
|
||||||
|
"backend": "cpu",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1200",
|
||||||
|
"cycles": 10049917,
|
||||||
|
"wall_s": 587.71,
|
||||||
|
"prove_s": 585.765148792,
|
||||||
|
"peak_memory_mib": 10093,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.21,
|
||||||
|
"verify_runs": [
|
||||||
|
0.21,
|
||||||
|
0.21,
|
||||||
|
0.21
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"po2": 20,
|
||||||
|
"command": "RISC0_PROVER=local igneum-prove-r0-host proving/fixtures/fees-v1-shards2.json --mode compressed --shard 0 --po2 20 (features: cpu; 3.0.6 selects no Metal HAL, so both builds are the CPU HAL)",
|
||||||
|
"source": "proving/igneum-prove-r0/bench/mac-2026-10-06.sh (the RISC Zero agent), bench-log \"RISC Zero as proof system 2 on the Mac\"",
|
||||||
|
"label": "CPU HAL (cpu build), po2 20"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "MacBook-Pro",
|
||||||
|
"backend": "cpu",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1200",
|
||||||
|
"cycles": 10049917,
|
||||||
|
"wall_s": 699.24,
|
||||||
|
"prove_s": 698.704864625,
|
||||||
|
"peak_memory_mib": 8013,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.21,
|
||||||
|
"verify_runs": [
|
||||||
|
0.21,
|
||||||
|
0.21,
|
||||||
|
0.21
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"po2": 19,
|
||||||
|
"command": "RISC0_PROVER=local igneum-prove-r0-host proving/fixtures/fees-v1-shards2.json --mode compressed --shard 0 --po2 19 (features: metal; 3.0.6 selects no Metal HAL, so both builds are the CPU HAL)",
|
||||||
|
"source": "proving/igneum-prove-r0/bench/mac-2026-10-06.sh (the RISC Zero agent), bench-log \"RISC Zero as proof system 2 on the Mac\"",
|
||||||
|
"label": "CPU HAL (metal build), po2 19"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "MacBook-Pro",
|
||||||
|
"backend": "cpu",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1200",
|
||||||
|
"cycles": 10049917,
|
||||||
|
"wall_s": 574.95,
|
||||||
|
"prove_s": 574.4259095,
|
||||||
|
"peak_memory_mib": 10166,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.21,
|
||||||
|
"verify_runs": [
|
||||||
|
0.21,
|
||||||
|
0.21,
|
||||||
|
0.21
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"po2": 20,
|
||||||
|
"command": "RISC0_PROVER=local igneum-prove-r0-host proving/fixtures/fees-v1-shards2.json --mode compressed --shard 0 --po2 20 (features: metal; 3.0.6 selects no Metal HAL, so both builds are the CPU HAL)",
|
||||||
|
"source": "proving/igneum-prove-r0/bench/mac-2026-10-06.sh (the RISC Zero agent), bench-log \"RISC Zero as proof system 2 on the Mac\"",
|
||||||
|
"label": "CPU HAL (metal build), po2 20"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "MacBook-Pro",
|
||||||
|
"backend": "cpu",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1200",
|
||||||
|
"cycles": 10049917,
|
||||||
|
"wall_s": 561.46,
|
||||||
|
"prove_s": 560.90603875,
|
||||||
|
"peak_memory_mib": 19497,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.21,
|
||||||
|
"verify_runs": [
|
||||||
|
0.22,
|
||||||
|
0.21,
|
||||||
|
0.21
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"po2": 21,
|
||||||
|
"command": "RISC0_PROVER=local igneum-prove-r0-host proving/fixtures/fees-v1-shards2.json --mode compressed --shard 0 --po2 21 (features: metal; 3.0.6 selects no Metal HAL, so both builds are the CPU HAL)",
|
||||||
|
"source": "proving/igneum-prove-r0/bench/mac-2026-10-06.sh (the RISC Zero agent), bench-log \"RISC Zero as proof system 2 on the Mac\"",
|
||||||
|
"label": "CPU HAL (metal build), po2 21"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1",
|
||||||
|
"machine": "DESKTOP-KMCV30N",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1201",
|
||||||
|
"cycles": 60415376,
|
||||||
|
"wall_s": 53.71,
|
||||||
|
"prove_s": 37.618382022,
|
||||||
|
"peak_memory_mib": 30413,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.327,
|
||||||
|
"verify_runs": [
|
||||||
|
0.33,
|
||||||
|
0.327,
|
||||||
|
0.327
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "SP1_PROVER=cuda RUST_LOG=off <host> /mnt/c/Users/Admin/AppData/Local/igneum/prove/bench-ps/bench-ps/block-338-shard1.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "beside the miner",
|
||||||
|
"job": "bench-a-pc2"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "DESKTOP-KMCV30N",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1201",
|
||||||
|
"cycles": 4717439,
|
||||||
|
"wall_s": 36.19,
|
||||||
|
"prove_s": 27.043475202,
|
||||||
|
"peak_memory_mib": 12012,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.324,
|
||||||
|
"verify_runs": [
|
||||||
|
0.332,
|
||||||
|
0.324,
|
||||||
|
0.57
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=67108864 <host> /mnt/c/Users/Admin/AppData/Local/igneum/prove/bench-ps/bench-ps/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "beside the miner, patched 2^26",
|
||||||
|
"job": "bench-a-pc2"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "DESKTOP-KMCV30N",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1202",
|
||||||
|
"cycles": 60415376,
|
||||||
|
"wall_s": 51.96,
|
||||||
|
"prove_s": 38.06314695,
|
||||||
|
"peak_memory_mib": 27501,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.327,
|
||||||
|
"verify_runs": [
|
||||||
|
0.327,
|
||||||
|
0.331,
|
||||||
|
0.329
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off <host> /mnt/c/Users/Admin/AppData/Local/igneum/prove/bench-ps/bench-ps/block-338-shard1.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "beside the miner, patched default",
|
||||||
|
"job": "bench-a-pc2"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "DESKTOP-KMCV30N",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1203",
|
||||||
|
"cycles": 60415376,
|
||||||
|
"wall_s": 148.07,
|
||||||
|
"prove_s": 138.020570253,
|
||||||
|
"peak_memory_mib": 12129,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.323,
|
||||||
|
"verify_runs": [
|
||||||
|
0.323,
|
||||||
|
0.332,
|
||||||
|
0.337
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=67108864 <host> /mnt/c/Users/Admin/AppData/Local/igneum/prove/bench-ps/bench-ps/block-338-shard1.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "beside the miner, patched 2^26",
|
||||||
|
"job": "bench-a-pc2"
|
||||||
|
}
|
||||||
9
bench/proof-systems/rows/20261006-1254-rz-4060-sp1.json
Normal file
9
bench/proof-systems/rows/20261006-1254-rz-4060-sp1.json
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 1): /tmp/tmp.4mZHXnufF3/time.log:Error: CudaClientError: Failed to read the response: Custom { kind: UnexpectedEof, error: early eof }",
|
||||||
|
"date": "20261006-1254"
|
||||||
|
}
|
||||||
9
bench/proof-systems/rows/20261006-1255-rz-4060-r0.json
Normal file
9
bench/proof-systems/rows/20261006-1255-rz-4060-r0.json
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 101): /tmp/tmp.1TcWpVbwIg/prove.log:RESULT execute shard 0: 10049917 user cycles in 11 segment(s) [(20, 845030), (20, 894979), (20, 1000813), (20, 1000813), (20, 870778), (20, 884222), (20, 914126), (20, 10",
|
||||||
|
"date": "20261006-1255"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 137): /tmp/tmp.tmCsQI6CHt/time.log:called `Result::unwrap()` on an `Err` value: JoinError::Panic(Id(365), called `Result::unwrap()` on an `Err` value: OutOfMemory, ...)",
|
||||||
|
"date": "20261006-1255"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 1): /tmp/tmp.rVivH09Uqp/time.log:Error: CudaClientError: Failed to read the response: Custom { kind: UnexpectedEof, error: early eof }",
|
||||||
|
"date": "20261006-1319",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1320",
|
||||||
|
"cycles": 10049917,
|
||||||
|
"wall_s": 54.44,
|
||||||
|
"prove_s": 52.998892992,
|
||||||
|
"peak_memory_mib": 10071,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.454,
|
||||||
|
"verify_runs": [
|
||||||
|
0.454,
|
||||||
|
0.468,
|
||||||
|
0.478
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"command": "RISC0_PROVER=local RUST_LOG=off <host> /root/kit/fixtures/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1321",
|
||||||
|
"cycles": 4717439,
|
||||||
|
"wall_s": 31.47,
|
||||||
|
"prove_s": 9.493617291,
|
||||||
|
"peak_memory_mib": 10181,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.545,
|
||||||
|
"verify_runs": [
|
||||||
|
0.604,
|
||||||
|
0.545,
|
||||||
|
0.549
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=134217728 <host> /root/kit/fixtures/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone, patched 2^27",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1321",
|
||||||
|
"cycles": 4717439,
|
||||||
|
"wall_s": 32.4,
|
||||||
|
"prove_s": 10.006853318,
|
||||||
|
"peak_memory_mib": 10117,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.536,
|
||||||
|
"verify_runs": [
|
||||||
|
0.591,
|
||||||
|
0.536,
|
||||||
|
0.554
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off <host> /root/kit/fixtures/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone, patched default",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1322",
|
||||||
|
"cycles": 4717439,
|
||||||
|
"wall_s": 31.58,
|
||||||
|
"prove_s": 13.08368216,
|
||||||
|
"peak_memory_mib": 7587,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.551,
|
||||||
|
"verify_runs": [
|
||||||
|
0.57,
|
||||||
|
0.551,
|
||||||
|
0.56
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=67108864 <host> /root/kit/fixtures/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone, patched 2^26",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-72854-empty-block-first.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1323",
|
||||||
|
"cycles": 134734531,
|
||||||
|
"wall_s": 781.32,
|
||||||
|
"prove_s": 772.963614179,
|
||||||
|
"peak_memory_mib": 10173,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.478,
|
||||||
|
"verify_runs": [
|
||||||
|
0.483,
|
||||||
|
0.48,
|
||||||
|
0.478
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"command": "RISC0_PROVER=local RUST_LOG=off <host> /root/kit/fixtures/block-72854-empty-block-first.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-72854-empty-block-first.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 1): /tmp/tmp.tTBbwV8taM/time.log:Error: CudaClientError: Failed to read the response: Custom { kind: UnexpectedEof, error: early eof }",
|
||||||
|
"date": "20261006-1323",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1333",
|
||||||
|
"cycles": 4717439,
|
||||||
|
"wall_s": 127.45,
|
||||||
|
"prove_s": 6.393928569,
|
||||||
|
"peak_memory_mib": 17800,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.542,
|
||||||
|
"verify_runs": [
|
||||||
|
0.542,
|
||||||
|
0.549,
|
||||||
|
0.55
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "SP1_PROVER=cuda RUST_LOG=off <host> /root/kit/fixtures/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1335",
|
||||||
|
"cycles": 10049917,
|
||||||
|
"wall_s": 24.61,
|
||||||
|
"prove_s": 23.113177324,
|
||||||
|
"peak_memory_mib": 13280,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.455,
|
||||||
|
"verify_runs": [
|
||||||
|
0.468,
|
||||||
|
0.455,
|
||||||
|
0.459
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"command": "RISC0_PROVER=local RUST_LOG=off <host> /root/kit/fixtures/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone, po2 20",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-72854-empty-block-first.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1336",
|
||||||
|
"cycles": 23594943,
|
||||||
|
"wall_s": 60.95,
|
||||||
|
"prove_s": 39.680827242,
|
||||||
|
"peak_memory_mib": 9957,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.556,
|
||||||
|
"verify_runs": [
|
||||||
|
0.572,
|
||||||
|
0.556,
|
||||||
|
0.56
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off <host> /root/kit/fixtures/block-72854-empty-block-first.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone, patched default",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1336",
|
||||||
|
"cycles": 10049917,
|
||||||
|
"wall_s": 34.16,
|
||||||
|
"prove_s": 32.691568753,
|
||||||
|
"peak_memory_mib": 8500,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.46,
|
||||||
|
"verify_runs": [
|
||||||
|
0.46,
|
||||||
|
0.467,
|
||||||
|
0.461
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"command": "RISC0_PROVER=local RUST_LOG=off <host> /root/kit/fixtures/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone, po2 19",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1336",
|
||||||
|
"cycles": 4717439,
|
||||||
|
"wall_s": 26.94,
|
||||||
|
"prove_s": 6.384655778,
|
||||||
|
"peak_memory_mib": 14696,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.546,
|
||||||
|
"verify_runs": [
|
||||||
|
0.547,
|
||||||
|
0.546,
|
||||||
|
0.549
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off <host> /root/kit/fixtures/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone, patched default",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-72854-empty-block-first.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1337",
|
||||||
|
"cycles": 23594943,
|
||||||
|
"wall_s": 60.74,
|
||||||
|
"prove_s": 39.495245151,
|
||||||
|
"peak_memory_mib": 10245,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.55,
|
||||||
|
"verify_runs": [
|
||||||
|
0.563,
|
||||||
|
0.564,
|
||||||
|
0.55
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=134217728 <host> /root/kit/fixtures/block-72854-empty-block-first.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone, patched 2^27",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1337",
|
||||||
|
"cycles": 4717439,
|
||||||
|
"wall_s": 24.61,
|
||||||
|
"prove_s": 6.836229234,
|
||||||
|
"peak_memory_mib": 8192,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.546,
|
||||||
|
"verify_runs": [
|
||||||
|
0.546,
|
||||||
|
0.549,
|
||||||
|
0.553
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=67108864 <host> /root/kit/fixtures/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone, patched 2^26",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1337",
|
||||||
|
"cycles": 4717439,
|
||||||
|
"wall_s": 24.62,
|
||||||
|
"prove_s": 6.170337728,
|
||||||
|
"peak_memory_mib": 10850,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.543,
|
||||||
|
"verify_runs": [
|
||||||
|
0.545,
|
||||||
|
0.544,
|
||||||
|
0.543
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=134217728 <host> /root/kit/fixtures/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone, patched 2^27",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-72854-empty-block-first.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1338",
|
||||||
|
"cycles": 23594943,
|
||||||
|
"wall_s": 77.48,
|
||||||
|
"prove_s": 57.438826024,
|
||||||
|
"peak_memory_mib": 7491,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.546,
|
||||||
|
"verify_runs": [
|
||||||
|
0.564,
|
||||||
|
0.546,
|
||||||
|
0.55
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=67108864 <host> /root/kit/fixtures/block-72854-empty-block-first.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone, patched 2^26",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-72854-empty-block-first.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1338",
|
||||||
|
"cycles": 23594943,
|
||||||
|
"wall_s": 38.92,
|
||||||
|
"prove_s": 16.994292507,
|
||||||
|
"peak_memory_mib": 20136,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.531,
|
||||||
|
"verify_runs": [
|
||||||
|
0.546,
|
||||||
|
0.531,
|
||||||
|
0.545
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "SP1_PROVER=cuda RUST_LOG=off <host> /root/kit/fixtures/block-72854-empty-block-first.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1338",
|
||||||
|
"cycles": 4717439,
|
||||||
|
"wall_s": 26.82,
|
||||||
|
"prove_s": 9.515878389000001,
|
||||||
|
"peak_memory_mib": 8384,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.546,
|
||||||
|
"verify_runs": [
|
||||||
|
0.546,
|
||||||
|
0.552,
|
||||||
|
0.546
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=33554432 <host> /root/kit/fixtures/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone, patched 2^25",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1339",
|
||||||
|
"cycles": 89482640,
|
||||||
|
"wall_s": 431.67,
|
||||||
|
"prove_s": 427.57214824,
|
||||||
|
"peak_memory_mib": 10153,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.46,
|
||||||
|
"verify_runs": [
|
||||||
|
0.485,
|
||||||
|
0.478,
|
||||||
|
0.46
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"command": "RISC0_PROVER=local RUST_LOG=off <host> /root/kit/fixtures/block-338-shard1.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 1): /tmp/tmp.bcgeLFKAkK/time.log:Error: CudaClientError: Failed to read the response: Custom { kind: UnexpectedEof, error: early eof }",
|
||||||
|
"date": "20261006-1339",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-72854-empty-block-first.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1339",
|
||||||
|
"cycles": 134734531,
|
||||||
|
"wall_s": 362.88,
|
||||||
|
"prove_s": 354.600699627,
|
||||||
|
"peak_memory_mib": 20468,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.453,
|
||||||
|
"verify_runs": [
|
||||||
|
0.453,
|
||||||
|
0.457,
|
||||||
|
0.459
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"command": "RISC0_PROVER=local RUST_LOG=off <host> /root/kit/fixtures/block-72854-empty-block-first.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone, po2 20",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 101): /tmp/tmp.GdZyLDnsdm/time.log: out of memory",
|
||||||
|
"date": "20261006-1344"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 1): /tmp/tmp.Lmvi8KzrkZ/time.log:Error: CudaClientError: Failed to read the response: Custom { kind: UnexpectedEof, error: early eof }",
|
||||||
|
"date": "20261006-1344"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 1): /tmp/tmp.BRDKgpts0L/time.log:Error: CudaClientError: The server returned an internal error ",
|
||||||
|
"date": "20261006-1344"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 124): /tmp/tmp.ihTlWEdxAp/time.log:called `Result::unwrap()` on an `Err` value: JoinError::Panic(Id(410), called `Result::unwrap()` on an `Err` value: OutOfMemory, ...)",
|
||||||
|
"date": "20261006-1345"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-72854-empty-block-first.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1345",
|
||||||
|
"cycles": 134734531,
|
||||||
|
"wall_s": 518.32,
|
||||||
|
"prove_s": 509.708173352,
|
||||||
|
"peak_memory_mib": 20484,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.452,
|
||||||
|
"verify_runs": [
|
||||||
|
0.469,
|
||||||
|
0.461,
|
||||||
|
0.452
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"command": "RISC0_PROVER=local RUST_LOG=off <host> /root/kit/fixtures/block-72854-empty-block-first.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone, po2 19",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1347",
|
||||||
|
"cycles": 60415376,
|
||||||
|
"wall_s": 61.1,
|
||||||
|
"prove_s": 39.154191924,
|
||||||
|
"peak_memory_mib": 10661,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.555,
|
||||||
|
"verify_runs": [
|
||||||
|
0.623,
|
||||||
|
0.593,
|
||||||
|
0.555
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off <host> /root/kit/fixtures/block-338-shard1.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone, patched default",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1348",
|
||||||
|
"cycles": 60415376,
|
||||||
|
"wall_s": 61.64,
|
||||||
|
"prove_s": 39.609893273,
|
||||||
|
"peak_memory_mib": 10661,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.55,
|
||||||
|
"verify_runs": [
|
||||||
|
0.556,
|
||||||
|
0.55,
|
||||||
|
0.551
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=134217728 <host> /root/kit/fixtures/block-338-shard1.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone, patched 2^27",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1349",
|
||||||
|
"cycles": 60415376,
|
||||||
|
"wall_s": 81.14,
|
||||||
|
"prove_s": 58.268109996,
|
||||||
|
"peak_memory_mib": 7555,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.547,
|
||||||
|
"verify_runs": [
|
||||||
|
0.564,
|
||||||
|
0.547,
|
||||||
|
0.59
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=67108864 <host> /root/kit/fixtures/block-338-shard1.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone, patched 2^26",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-72854-empty-block-first.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1354",
|
||||||
|
"cycles": 23594943,
|
||||||
|
"wall_s": 40.11,
|
||||||
|
"prove_s": 20.047866011,
|
||||||
|
"peak_memory_mib": 10754,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.533,
|
||||||
|
"verify_runs": [
|
||||||
|
0.533,
|
||||||
|
0.55,
|
||||||
|
0.544
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=134217728 <host> /root/kit/fixtures/block-72854-empty-block-first.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone, patched 2^27",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-72854-empty-block-first.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1354",
|
||||||
|
"cycles": 23594943,
|
||||||
|
"wall_s": 38.48,
|
||||||
|
"prove_s": 16.783101933,
|
||||||
|
"peak_memory_mib": 17576,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.544,
|
||||||
|
"verify_runs": [
|
||||||
|
0.544,
|
||||||
|
0.55,
|
||||||
|
0.549
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off <host> /root/kit/fixtures/block-72854-empty-block-first.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone, patched default",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-72854-empty-block-first.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1355",
|
||||||
|
"cycles": 23594943,
|
||||||
|
"wall_s": 46.12,
|
||||||
|
"prove_s": 27.079176555,
|
||||||
|
"peak_memory_mib": 8160,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.545,
|
||||||
|
"verify_runs": [
|
||||||
|
0.549,
|
||||||
|
0.548,
|
||||||
|
0.545
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=67108864 <host> /root/kit/fixtures/block-72854-empty-block-first.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone, patched 2^26",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1356",
|
||||||
|
"cycles": 10049917,
|
||||||
|
"wall_s": 69.94,
|
||||||
|
"prove_s": 68.467072761,
|
||||||
|
"peak_memory_mib": 7339,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.459,
|
||||||
|
"verify_runs": [
|
||||||
|
0.463,
|
||||||
|
0.468,
|
||||||
|
0.459
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"command": "RISC0_PROVER=local RUST_LOG=off <host> /root/kit/fixtures/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone, po2 19",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-72854-empty-block-first.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1356",
|
||||||
|
"cycles": 23594943,
|
||||||
|
"wall_s": 69.49,
|
||||||
|
"prove_s": 50.657004593,
|
||||||
|
"peak_memory_mib": 8192,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.549,
|
||||||
|
"verify_runs": [
|
||||||
|
0.549,
|
||||||
|
0.549,
|
||||||
|
0.55
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=33554432 <host> /root/kit/fixtures/block-72854-empty-block-first.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone, patched 2^25",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1357",
|
||||||
|
"cycles": 89482640,
|
||||||
|
"wall_s": 582.5,
|
||||||
|
"prove_s": 578.24987729,
|
||||||
|
"peak_memory_mib": 7285,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.459,
|
||||||
|
"verify_runs": [
|
||||||
|
0.466,
|
||||||
|
0.459,
|
||||||
|
0.489
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"command": "RISC0_PROVER=local RUST_LOG=off <host> /root/kit/fixtures/block-338-shard1.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone, po2 19",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1357",
|
||||||
|
"cycles": 60415376,
|
||||||
|
"wall_s": 41.82,
|
||||||
|
"prove_s": 19.117317899,
|
||||||
|
"peak_memory_mib": 20680,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.54,
|
||||||
|
"verify_runs": [
|
||||||
|
0.548,
|
||||||
|
0.55,
|
||||||
|
0.54
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "SP1_PROVER=cuda RUST_LOG=off <host> /root/kit/fixtures/block-338-shard1.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1358",
|
||||||
|
"cycles": 89482640,
|
||||||
|
"wall_s": 182.52,
|
||||||
|
"prove_s": 178.48036258,
|
||||||
|
"peak_memory_mib": 13390,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.467,
|
||||||
|
"verify_runs": [
|
||||||
|
0.467,
|
||||||
|
0.467,
|
||||||
|
0.469
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"command": "RISC0_PROVER=local RUST_LOG=off <host> /root/kit/fixtures/block-338-shard1.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone, po2 20",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-72854-empty-block-first.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 101): /tmp/tmp.4usOX0H6PP/time.log: out of memory",
|
||||||
|
"date": "20261006-1400"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-72854-empty-block-first.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 1): /tmp/tmp.VAI33Vs7MA/time.log:Error: CudaClientError: Failed to read the response: Custom { kind: UnexpectedEof, error: early eof }",
|
||||||
|
"date": "20261006-1400"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1400",
|
||||||
|
"cycles": 4717439,
|
||||||
|
"wall_s": 14.88,
|
||||||
|
"prove_s": 7.903671741,
|
||||||
|
"peak_memory_mib": 7628,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.321,
|
||||||
|
"verify_runs": [
|
||||||
|
0.331,
|
||||||
|
0.322,
|
||||||
|
0.321
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=67108864 <host> /root/kit/fixtures/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4060 8 GB alone, patched 2^26"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-72854-empty-block-first.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 1): /tmp/tmp.eMe07oNUXi/time.log:Error: CudaClientError: The server returned an internal error ",
|
||||||
|
"date": "20261006-1400"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-72854-empty-block-first.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 1): /tmp/tmp.xkyOwzwG9w/time.log:Error: CudaClientError: The server returned an internal error ",
|
||||||
|
"date": "20261006-1400"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 101): /tmp/tmp.pOnqtcsA7F/time.log: out of memory",
|
||||||
|
"date": "20261006-1401"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 1): /tmp/tmp.rlPWh1xxVd/time.log:Error: CudaClientError: Failed to read the response: Custom { kind: UnexpectedEof, error: early eof }",
|
||||||
|
"date": "20261006-1401"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-72854-empty-block-first.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 1): /tmp/tmp.lyWxBwCi0A/time.log:Error: CudaClientError: The server returned an internal error ",
|
||||||
|
"date": "20261006-1401"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 1): /tmp/tmp.nMYigoWqsD/time.log:Error: CudaClientError: The server returned an internal error ",
|
||||||
|
"date": "20261006-1401"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 1): /tmp/tmp.aCaVLltPTe/time.log:Error: CudaClientError: The server returned an internal error ",
|
||||||
|
"date": "20261006-1401"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1401",
|
||||||
|
"cycles": 89482640,
|
||||||
|
"wall_s": 285.98,
|
||||||
|
"prove_s": 281.413875371,
|
||||||
|
"peak_memory_mib": 8846,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.46,
|
||||||
|
"verify_runs": [
|
||||||
|
0.467,
|
||||||
|
0.46,
|
||||||
|
0.463
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"command": "RISC0_PROVER=local RUST_LOG=off <host> /root/kit/fixtures/block-338-shard1.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone, po2 19",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1402",
|
||||||
|
"cycles": 60415376,
|
||||||
|
"wall_s": 49.32,
|
||||||
|
"prove_s": 41.32554294,
|
||||||
|
"peak_memory_mib": 7660,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.315,
|
||||||
|
"verify_runs": [
|
||||||
|
0.32,
|
||||||
|
0.319,
|
||||||
|
0.315
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=67108864 <host> /root/kit/fixtures/block-338-shard1.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4060 8 GB alone, patched 2^26"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1406",
|
||||||
|
"cycles": 60415376,
|
||||||
|
"wall_s": 42.19,
|
||||||
|
"prove_s": 19.482300341,
|
||||||
|
"peak_memory_mib": 18344,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.546,
|
||||||
|
"verify_runs": [
|
||||||
|
0.565,
|
||||||
|
0.552,
|
||||||
|
0.546
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off <host> /root/kit/fixtures/block-338-shard1.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone, patched default",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-58927-empty-reward.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1407",
|
||||||
|
"cycles": 278423,
|
||||||
|
"wall_s": 6.78,
|
||||||
|
"prove_s": 5.700978352,
|
||||||
|
"peak_memory_mib": 7345,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.466,
|
||||||
|
"verify_runs": [
|
||||||
|
0.468,
|
||||||
|
0.466,
|
||||||
|
0.468
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"command": "RISC0_PROVER=local RUST_LOG=off <host> /root/kit/fixtures/block-58927-empty-reward.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone, po2 19",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-58927-empty-reward.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1407",
|
||||||
|
"cycles": 278423,
|
||||||
|
"wall_s": 6.66,
|
||||||
|
"prove_s": 5.611237802,
|
||||||
|
"peak_memory_mib": 7345,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.464,
|
||||||
|
"verify_runs": [
|
||||||
|
0.487,
|
||||||
|
0.467,
|
||||||
|
0.464
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"command": "RISC0_PROVER=local RUST_LOG=off <host> /root/kit/fixtures/block-58927-empty-reward.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone, po2 20",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-58927-empty-reward.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 1): /tmp/tmp.qVtcFNc806/time.log:Error: CudaClientError: Failed to read the response: Custom { kind: UnexpectedEof, error: early eof }",
|
||||||
|
"date": "20261006-1407",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-58927-empty-reward.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1407",
|
||||||
|
"cycles": 257467,
|
||||||
|
"wall_s": 24.73,
|
||||||
|
"prove_s": 5.511343367,
|
||||||
|
"peak_memory_mib": 7205,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.537,
|
||||||
|
"verify_runs": [
|
||||||
|
0.542,
|
||||||
|
0.537,
|
||||||
|
0.545
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off <host> /root/kit/fixtures/block-58927-empty-reward.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone, patched default",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1407",
|
||||||
|
"cycles": 60415376,
|
||||||
|
"wall_s": 51.33,
|
||||||
|
"prove_s": 29.195983578,
|
||||||
|
"peak_memory_mib": 8192,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.547,
|
||||||
|
"verify_runs": [
|
||||||
|
0.551,
|
||||||
|
0.572,
|
||||||
|
0.547
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=67108864 <host> /root/kit/fixtures/block-338-shard1.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone, patched 2^26",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1407",
|
||||||
|
"cycles": 60415376,
|
||||||
|
"wall_s": 42.26,
|
||||||
|
"prove_s": 21.165209198,
|
||||||
|
"peak_memory_mib": 11202,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.548,
|
||||||
|
"verify_runs": [
|
||||||
|
0.552,
|
||||||
|
0.548,
|
||||||
|
0.552
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=134217728 <host> /root/kit/fixtures/block-338-shard1.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone, patched 2^27",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-58927-empty-reward.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1408",
|
||||||
|
"cycles": 257467,
|
||||||
|
"wall_s": 27.53,
|
||||||
|
"prove_s": 7.288661415,
|
||||||
|
"peak_memory_mib": 7203,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.542,
|
||||||
|
"verify_runs": [
|
||||||
|
0.561,
|
||||||
|
0.542,
|
||||||
|
0.571
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=67108864 <host> /root/kit/fixtures/block-58927-empty-reward.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone, patched 2^26",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-3060 (RTX 3060 12 GB, Vast, driver 580)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-58927-empty-reward.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1408",
|
||||||
|
"cycles": 257467,
|
||||||
|
"wall_s": 25.87,
|
||||||
|
"prove_s": 5.564675484,
|
||||||
|
"peak_memory_mib": 7301,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.562,
|
||||||
|
"verify_runs": [
|
||||||
|
0.562,
|
||||||
|
0.592,
|
||||||
|
0.568
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=134217728 <host> /root/kit/fixtures/block-58927-empty-reward.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "3060 12 GB alone, patched 2^27",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4090 (RTX 4090 24 GB, RunPod, driver 570)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-338-shard1.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1408",
|
||||||
|
"cycles": 60415376,
|
||||||
|
"wall_s": 77.99,
|
||||||
|
"prove_s": 57.515469927,
|
||||||
|
"peak_memory_mib": 8128,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.571,
|
||||||
|
"verify_runs": [
|
||||||
|
0.571,
|
||||||
|
0.606,
|
||||||
|
0.608
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=33554432 <host> /root/kit/fixtures/block-338-shard1.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4090 24 GB alone, patched 2^25",
|
||||||
|
"box": "rented box"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 101): /tmp/tmp.khG85FrAuh/time.log: out of memory",
|
||||||
|
"date": "20261006-1453"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 1): /tmp/tmp.yOqeSspoDW/time.log:Error: CudaClientError: Failed to read the response: Custom { kind: UnexpectedEof, error: early eof }",
|
||||||
|
"date": "20261006-1453"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1454",
|
||||||
|
"cycles": 10049917,
|
||||||
|
"wall_s": 47.72,
|
||||||
|
"prove_s": 47.084915332,
|
||||||
|
"peak_memory_mib": 6720,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.221,
|
||||||
|
"verify_runs": [
|
||||||
|
0.231,
|
||||||
|
0.221,
|
||||||
|
0.224
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"command": "RISC0_PROVER=local RUST_LOG=off <host> /root/kit/fixtures/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4060 8 GB alone, po2 19"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 1): /tmp/tmp.402Rj4YpeY/time.log:Error: CudaClientError: The server returned an internal error ",
|
||||||
|
"date": "20261006-1454"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 124): /tmp/tmp.pKGGDBy0r0/time.log:called `Result::unwrap()` on an `Err` value: JoinError::Panic(Id(456), called `Result::unwrap()` on an `Err` value: OutOfMemory, ...)",
|
||||||
|
"date": "20261006-1455"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-58927-empty-reward.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1510",
|
||||||
|
"cycles": 278423,
|
||||||
|
"wall_s": 4.26,
|
||||||
|
"prove_s": 3.771448435,
|
||||||
|
"peak_memory_mib": 6876,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.225,
|
||||||
|
"verify_runs": [
|
||||||
|
0.227,
|
||||||
|
0.225,
|
||||||
|
0.226
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"command": "RISC0_PROVER=local RUST_LOG=off <host> /root/kit/fixtures/block-58927-empty-reward.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4060 8 GB alone, po2 19"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"candidate": "r0",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-58927-empty-reward.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1510",
|
||||||
|
"cycles": 278423,
|
||||||
|
"wall_s": 4.29,
|
||||||
|
"prove_s": 3.796924528,
|
||||||
|
"peak_memory_mib": 6812,
|
||||||
|
"proof_bytes": 223882,
|
||||||
|
"verify_s": 0.223,
|
||||||
|
"verify_runs": [
|
||||||
|
0.223,
|
||||||
|
0.224,
|
||||||
|
0.223
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": true,
|
||||||
|
"proof_system": 2,
|
||||||
|
"image_or_program_id": "0x9ae0f416ee43e9ea8908c555d424fe23e3592677ffc42a763476623d0eb5cf72",
|
||||||
|
"command": "RISC0_PROVER=local RUST_LOG=off <host> /root/kit/fixtures/block-58927-empty-reward.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4060 8 GB alone, po2 20"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "block-58927-empty-reward.json",
|
||||||
|
"shard": 0,
|
||||||
|
"na": "the prove run failed (exit 1): /tmp/tmp.0JSHMJ96SK/time.log:Error: CudaClientError: Failed to read the response: Custom { kind: UnexpectedEof, error: early eof }",
|
||||||
|
"date": "20261006-1510"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"candidate": "sp1-patched",
|
||||||
|
"machine": "rz-4060 (RTX 4060 8 GB, Vast.ai)",
|
||||||
|
"backend": "cuda",
|
||||||
|
"fixture": "fees-v1-shards2.json",
|
||||||
|
"shard": 0,
|
||||||
|
"date": "20261006-1510",
|
||||||
|
"cycles": 4717439,
|
||||||
|
"wall_s": 19.8,
|
||||||
|
"prove_s": 12.773214641,
|
||||||
|
"peak_memory_mib": 7660,
|
||||||
|
"proof_bytes": 1272897,
|
||||||
|
"verify_s": 0.318,
|
||||||
|
"verify_runs": [
|
||||||
|
0.323,
|
||||||
|
0.322,
|
||||||
|
0.318
|
||||||
|
],
|
||||||
|
"verified": true,
|
||||||
|
"recursion": true,
|
||||||
|
"audit": false,
|
||||||
|
"proof_system": 1,
|
||||||
|
"image_or_program_id": null,
|
||||||
|
"command": "HOME=/opt/igneum-floor/home SP1_PROVER=cuda RUST_LOG=off SP1_GPU_ELEMENT_THRESHOLD=33554432 <host> /root/kit/fixtures/fees-v1-shards2.json --mode compressed --shard 0",
|
||||||
|
"source": "bench/proof-systems/run.sh",
|
||||||
|
"label": "4060 8 GB alone, patched 2^25"
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue