in fairring/utils.h [221:245]
inline ncclDataType_t torchToNcclDtype(c10::ScalarType dtype) {
switch (dtype) {
case c10::ScalarType::Byte:
return ncclUint8;
case c10::ScalarType::Char:
return ncclChar;
case c10::ScalarType::Int:
return ncclInt;
case c10::ScalarType::Long:
return ncclInt64;
case c10::ScalarType::Half:
return ncclHalf;
case c10::ScalarType::Float:
return ncclFloat;
case c10::ScalarType::Double:
return ncclDouble;
#if defined(__CUDA_BF16_TYPES_EXIST__) && \
NCCL_VERSION_CODE >= NCCL_VERSION(2, 10, 0)
case c10::ScalarType::BFloat16:
return ncclBfloat16;
#endif
default:
MY_CHECK(false);
}
}