diff --git a/core/lib/basic_types/src/prover_dal.rs b/core/lib/basic_types/src/prover_dal.rs index dc106da18a7..693c9138c3e 100644 --- a/core/lib/basic_types/src/prover_dal.rs +++ b/core/lib/basic_types/src/prover_dal.rs @@ -159,6 +159,8 @@ pub enum ProverJobStatus { Skipped, #[strum(serialize = "ignored")] Ignored, + #[strum(serialize = "in_gpu_proof")] + InGPUProof, } #[derive(Debug, Clone, strum::Display, strum::EnumString, strum::AsRefStr)] diff --git a/prover/prover_cli/src/commands/status/utils.rs b/prover/prover_cli/src/commands/status/utils.rs index 178fdc3761e..d6b5e793b9b 100644 --- a/prover/prover_cli/src/commands/status/utils.rs +++ b/prover/prover_cli/src/commands/status/utils.rs @@ -72,7 +72,7 @@ impl Default for BatchData { recursion_tip: Task::RecursionTip { status: TaskStatus::default(), aggregation_round_info: AggregationRoundInfo { - round: AggregationRound::Scheduler, + round: AggregationRound::RecursionTip, prover_jobs_status: TaskStatus::default(), }, }, @@ -120,6 +120,11 @@ impl From> for TaskStatus { fn from(jobs_vector: Vec) -> Self { if jobs_vector.is_empty() { TaskStatus::JobsNotFound + } else if jobs_vector + .iter() + .all(|job| matches!(job.status, ProverJobStatus::InGPUProof)) + { + TaskStatus::Custom("In GPU ⚡️".to_owned()) } else if jobs_vector .iter() .all(|job| matches!(job.status, ProverJobStatus::Queued)) @@ -127,7 +132,7 @@ impl From> for TaskStatus { TaskStatus::Queued } else if jobs_vector .iter() - .all(|job| matches!(job.status, ProverJobStatus::InProgress(_))) + .all(|job| matches!(job.status, ProverJobStatus::Successful(_))) { TaskStatus::Successful } else { @@ -167,7 +172,7 @@ impl From> for TaskStatus { TaskStatus::WaitingForProofs } else if status_vector .iter() - .all(|job| matches!(job, WitnessJobStatus::InProgress)) + .all(|job| matches!(job, WitnessJobStatus::Successful(_))) { TaskStatus::Successful } else {