"vscode:/vscode.git/clone" did not exist on "a6b02da97166a3c76f6ff5075b10ff25bd41bde1"
Unverified Commit 5cddc055 authored by OlivierDehaene's avatar OlivierDehaene Committed by GitHub
Browse files

fix(rust-client): use join_all instead of select_all to hopefully fix nccl issues (#162)

parent e63a21eb
......@@ -2,7 +2,6 @@
use crate::Result;
use crate::{Batch, Client, Generation};
use futures::future::join_all;
use futures::future::select_all;
use tonic::transport::Uri;
use tracing::instrument;
......@@ -60,9 +59,8 @@ impl ShardedClient {
.iter_mut()
.map(|client| Box::pin(client.prefill(batch.clone())))
.collect();
// As soon as we receive one response, we can return as all shards will return the same
let (result, _, _) = select_all(futures).await;
result
// all shards return the same message
join_all(futures).await.pop().unwrap()
}
/// Generate one token for each request in the given cached batches
......@@ -79,8 +77,7 @@ impl ShardedClient {
.iter_mut()
.map(|client| Box::pin(client.decode(batches.clone())))
.collect();
// As soon as we receive one response, we can return as all shards will return the same
let (result, _, _) = select_all(futures).await;
result
// all shards return the same message
join_all(futures).await.pop().unwrap()
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment