INNER CODE UNIT · Rust
rail
NVIDIA/nccl · contrib/nccl4rust/crates/nccl-device/src/lib.rs:166
pub fn rail(comm: DevComm<'_>) -> Team {
let n_ranks = size(comm);
let rank = rank(comm);
let lsa_size = lsa_size(comm);
Team(sys::ncclTeam_t {
n_ranks: n_ranks / lsa_size,
rank: rank / lsa_size,
stride: lsa_size,
})
}
/// Translate a rank in `team` to its world rank.
///
/// Returns `None` when `rank` is outside the team.
#[inline(always)]
pub fn rank_to_world(comm: DevComm<'_>, team: Team, rank: i32) -> Option<i32> {
if rank < 0 || rank >= team.size() {
None