"docs/source/vscode:/vscode.git/clone" did not exist on "311bd88a040d42619f5eccd5a3f53852ec2be3e1"
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 @@ ...@@ -2,7 +2,6 @@
use crate::Result; use crate::Result;
use crate::{Batch, Client, Generation}; use crate::{Batch, Client, Generation};
use futures::future::join_all; use futures::future::join_all;
use futures::future::select_all;
use tonic::transport::Uri; use tonic::transport::Uri;
use tracing::instrument; use tracing::instrument;
...@@ -60,9 +59,8 @@ impl ShardedClient { ...@@ -60,9 +59,8 @@ impl ShardedClient {
.iter_mut() .iter_mut()
.map(|client| Box::pin(client.prefill(batch.clone()))) .map(|client| Box::pin(client.prefill(batch.clone())))
.collect(); .collect();
// As soon as we receive one response, we can return as all shards will return the same // all shards return the same message
let (result, _, _) = select_all(futures).await; join_all(futures).await.pop().unwrap()
result
} }
/// Generate one token for each request in the given cached batches /// Generate one token for each request in the given cached batches
...@@ -79,8 +77,7 @@ impl ShardedClient { ...@@ -79,8 +77,7 @@ impl ShardedClient {
.iter_mut() .iter_mut()
.map(|client| Box::pin(client.decode(batches.clone()))) .map(|client| Box::pin(client.decode(batches.clone())))
.collect(); .collect();
// As soon as we receive one response, we can return as all shards will return the same // all shards return the same message
let (result, _, _) = select_all(futures).await; join_all(futures).await.pop().unwrap()
result
} }
} }
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