Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
6eb805b
Timeout downloads and improve bandwidth tracking
IAvecilla Feb 24, 2026
5924f08
Fix bandwidth sorting mechanism
IAvecilla Feb 26, 2026
1a4ead7
Clear bandwidth info after warmup
IAvecilla Feb 26, 2026
6ad4aee
Model sharing example with fake store
IAvecilla Feb 27, 2026
ae78313
Use NonZero types to match new changes to iroh-fake-store
IAvecilla Mar 2, 2026
ec035e7
Use fork with new branch insteadof hardcoding path
IAvecilla Mar 2, 2026
7d0b5a1
Refactor example
IAvecilla Mar 2, 2026
52fb491
Merge branch 'p2p-bandwidth-sort-improvements' into model-sharing-exa…
IAvecilla Mar 6, 2026
3d1fecc
refactor test drop_a_client_waitingformembers_then_reconnect (#608)
pefontana Mar 6, 2026
508c561
Revert "feat: special claimer wallet (#549)" (#621)
ethernet8023 Mar 6, 2026
91ce7c6
Local rank fixes (#605)
rob-maron Mar 6, 2026
0233b2d
Add iroh network diagnostics (#589)
rob-maron Mar 6, 2026
63e9b48
Move `tch-rs` (#622)
rob-maron Mar 6, 2026
ccb6bde
Update example
IAvecilla Mar 6, 2026
2af1028
Hardcode the iroh env var (#623)
rob-maron Mar 6, 2026
7d5fa57
timeout on slow downloads and bandwidth tracking improvement (#593)
IAvecilla Mar 6, 2026
1cea15b
Revert "Hardcode the iroh env var (#623)" (#624)
rob-maron Mar 9, 2026
7a14035
[INFERENCE] Auto-Bootstrapping (#628)
samherring99 Mar 11, 2026
b51fc6a
Fix bandwidth tracking
IAvecilla Mar 11, 2026
8c22bf6
Merge branch 'bandwidth-tracking-improvement' into model-sharing-example
IAvecilla Mar 11, 2026
ca41a29
Update example to be able to go only through the iroh relay
IAvecilla Mar 11, 2026
cb1c83e
Improve tracking to match exact measures
IAvecilla Mar 11, 2026
ac8d864
Merge branch 'bandwidth-tracking-improvement' into model-sharing-example
IAvecilla Mar 11, 2026
195ccbf
Add support for only going through the iroh relay
IAvecilla Mar 11, 2026
a6472a8
Add test to support docker containers with no direct connection
IAvecilla Mar 12, 2026
20e2fe0
Remove the test as local to run only in docker
IAvecilla Mar 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
128 changes: 80 additions & 48 deletions Cargo.lock

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

6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,9 @@ indicatif = "0.17.5"
tokenizers = { version = "0.20.0", default-features = false, features = [
"onig",
] }
tch = { git = "https://github.com/jquesnelle/tch-rs.git", rev = "dda507e05a776547a112b6854d1e611684f8c729" }
torch-sys = { git = "https://github.com/jquesnelle/tch-rs.git", rev = "dda507e05a776547a112b6854d1e611684f8c729" }
pyo3-tch = { git = "https://github.com/jquesnelle/tch-rs.git", rev = "dda507e05a776547a112b6854d1e611684f8c729" }
tch = { git = "https://github.com/NousResearch/tch-rs.git", rev = "dda507e05a776547a112b6854d1e611684f8c729" }
torch-sys = { git = "https://github.com/NousResearch/tch-rs.git", rev = "dda507e05a776547a112b6854d1e611684f8c729" }
pyo3-tch = { git = "https://github.com/NousResearch/tch-rs.git", rev = "dda507e05a776547a112b6854d1e611684f8c729" }
#tch = { path = "../tch-rs" }
#torch-sys = { path = "../tch-rs/torch-sys" }
#pyo3-tch = { path = "../tch-rs/pyo3-tch" }
Expand Down
10 changes: 2 additions & 8 deletions architectures/decentralized/solana-client/src/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ pub struct App {
update_tui_interval: Interval,
tx_tui_state: Option<Sender<TabsData>>,
authorizer: Option<Pubkey>,
claimer: Option<Pubkey>,
metrics: Arc<ClientMetrics>,
allowlist: allowlist::AllowDynamic,
p2p: NC,
Expand All @@ -62,7 +61,6 @@ pub struct AppParams {
pub backup_clusters: Vec<Cluster>,
pub tx_tui_state: Option<Sender<TabsData>>,
pub authorizer: Option<Pubkey>,
pub claimer: Option<Pubkey>,
pub train_args: TrainArgs,
}

Expand All @@ -74,7 +72,6 @@ pub async fn build_app(
backup_clusters,
tx_tui_state,
authorizer,
claimer,
train_args: p,
}: AppParams,
) -> Result<App> {
Expand Down Expand Up @@ -154,7 +151,6 @@ pub async fn build_app(
tx_tui_state,
update_tui_interval: interval(Duration::from_millis(150)),
authorizer,
claimer,
allowlist,
metrics,
p2p,
Expand Down Expand Up @@ -242,9 +238,8 @@ impl App {
.join_run(
coordinator_instance_pubkey,
coordinator_account,
self.authorizer,
psyche_core::NodeIdentity::new(signer.to_bytes(), *p2p_identity.as_bytes()),
self.claimer,
self.authorizer,
)
.await?;
info!(
Expand Down Expand Up @@ -360,9 +355,8 @@ impl App {
.join_run(
coordinator_instance_pubkey,
coordinator_account,
self.authorizer,
id,
self.claimer,
self.authorizer,
)
.await?;
info!(
Expand Down
5 changes: 0 additions & 5 deletions architectures/decentralized/solana-client/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -79,11 +79,8 @@ enum Commands {
rpc_3: String,
#[clap(long, env, default_value_t = String::from(""))]
ws_rpc_3: String,

#[clap(long, env)]
authorizer: Option<Pubkey>,
#[clap(long, env)]
claimer: Option<Pubkey>,
},
Predownload {
#[clap(flatten)]
Expand Down Expand Up @@ -173,7 +170,6 @@ async fn async_main() -> Result<()> {
rpc_3,
ws_rpc_3,
authorizer,
claimer,
} => {
psyche_client::prepare_environment();
info!(
Expand Down Expand Up @@ -240,7 +236,6 @@ async fn async_main() -> Result<()> {
cluster: cluster.into(),
backup_clusters,
authorizer,
claimer,
train_args: args,
})
.await?;
Expand Down
4 changes: 1 addition & 3 deletions architectures/decentralized/solana-common/src/backend.rs
Original file line number Diff line number Diff line change
Expand Up @@ -260,9 +260,8 @@ impl SolanaBackend {
&self,
coordinator_instance: Pubkey,
coordinator_account: Pubkey,
authorizer: Option<Pubkey>,
id: psyche_core::NodeIdentity,
claimer: Option<Pubkey>,
authorizer: Option<Pubkey>,
) -> Result<Signature> {
let coordinator_instance_state =
self.get_coordinator_instance(&coordinator_instance).await?;
Expand All @@ -273,7 +272,6 @@ impl SolanaBackend {
&coordinator_account,
&authorization,
id,
&claimer.unwrap_or(self.get_payer()),
);
// TODO (vbrunet) - what was the point of doing specifically a timeout here but not the other TXs ?
// We timeout the transaction at 5s max, since internally send() polls Solana until the
Expand Down
17 changes: 6 additions & 11 deletions architectures/decentralized/solana-common/src/instructions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,6 @@ pub fn coordinator_join_run(
coordinator_account: &Pubkey,
authorization: &Pubkey,
client_id: psyche_core::NodeIdentity,
claimer: &Pubkey,
) -> Instruction {
anchor_instruction(
psyche_solana_coordinator::ID,
Expand All @@ -113,10 +112,7 @@ pub fn coordinator_join_run(
coordinator_account: *coordinator_account,
},
psyche_solana_coordinator::instruction::JoinRun {
params: psyche_solana_coordinator::logic::JoinRunParams {
client_id,
claimer: *claimer,
},
params: psyche_solana_coordinator::logic::JoinRunParams { client_id },
},
)
}
Expand Down Expand Up @@ -318,31 +314,31 @@ pub fn treasurer_participant_create(
payer: *payer,
run,
participant,
user: *user,
system_program: system_program::ID,
},
psyche_solana_treasurer::instruction::ParticipantCreate {
params: psyche_solana_treasurer::logic::ParticipantCreateParams { user: *user },
params: psyche_solana_treasurer::logic::ParticipantCreateParams {},
},
)
}

pub fn treasurer_participant_claim(
treasurer_index: u64,
claimer: &Pubkey,
claimer_collateral: &Pubkey,
collateral_mint: &Pubkey,
coordinator_account: &Pubkey,
user: &Pubkey,
claim_earned_points: u64,
) -> Instruction {
let user_collateral = associated_token::get_associated_token_address(user, collateral_mint);
let run = psyche_solana_treasurer::find_run(treasurer_index);
let run_collateral = associated_token::get_associated_token_address(&run, collateral_mint);
let participant = psyche_solana_treasurer::find_participant(&run, user);
anchor_instruction(
psyche_solana_treasurer::ID,
psyche_solana_treasurer::accounts::ParticipantClaimAccounts {
claimer: *claimer,
claimer_collateral: *claimer_collateral,
user: *user,
user_collateral,
run,
run_collateral,
participant,
Expand All @@ -351,7 +347,6 @@ pub fn treasurer_participant_claim(
},
psyche_solana_treasurer::instruction::ParticipantClaim {
params: psyche_solana_treasurer::logic::ParticipantClaimParams {
user: *user,
claim_earned_points,
},
},
Expand Down
Loading