mirror of
https://github.com/microsoft/mscclpp.git
synced 2026-03-23 08:37:46 +00:00
* Added configurable InfiniBand (IB) signaling mode. `EndpointConfig::Ib::Mode` enum selects the mode (`Default`, `Host`, `HostNoAtomic`). `Default` is equivalent to `Host` unless specified different by envrionment `MSCCLPP_IBV_MODE`. `Host` corresponds to the previous implementation using RDMA atomics for signaling, while `HostNoAtomic` uses write-with-immediate instead. * Regarding updates in Python bindings and API.
30 lines
918 B
C++
30 lines
918 B
C++
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
|
|
#include <nanobind/nanobind.h>
|
|
#include <nanobind/stl/shared_ptr.h>
|
|
#include <nanobind/stl/string.h>
|
|
|
|
#include <mscclpp/env.hpp>
|
|
|
|
namespace nb = nanobind;
|
|
using namespace mscclpp;
|
|
|
|
void register_env(nb::module_& m) {
|
|
nb::class_<Env>(m, "CppEnv")
|
|
.def_ro("debug", &Env::debug)
|
|
.def_ro("debug_subsys", &Env::debugSubsys)
|
|
.def_ro("debug_file", &Env::debugFile)
|
|
.def_ro("hca_devices", &Env::hcaDevices)
|
|
.def_ro("hostid", &Env::hostid)
|
|
.def_ro("socket_family", &Env::socketFamily)
|
|
.def_ro("socket_ifname", &Env::socketIfname)
|
|
.def_ro("comm_id", &Env::commId)
|
|
.def_ro("ibv_mode", &Env::ibvMode)
|
|
.def_ro("cache_dir", &Env::cacheDir)
|
|
.def_ro("npkit_dump_dir", &Env::npkitDumpDir)
|
|
.def_ro("cuda_ipc_use_default_stream", &Env::cudaIpcUseDefaultStream);
|
|
|
|
m.def("env", &env);
|
|
}
|