mirror of
https://github.com/microsoft/mscclpp.git
synced 2026-05-12 17:26:04 +00:00
* Renamed and moved mem alloc functions into the `mscclpp::detail::` namespace (now `mscclpp::detail::gpuCalloc*<T>()`) * Deprecated constructor-calling mem alloc functions (`mscclpp::makeShared*<T>()` and `mscclpp::makeUnique*<T>()`) * Added a new `mscclpp::GpuBuffer<T>()` class that should be used in general for allocating communication buffers * Added a new `mscclpp.utils.GpuBuffer` Python class that inherits `cupy.ndarray` and allocates using `mscclpp::gpuMemAlloc` * Renamed `mscclpp::memcpyCuda*<T>()` functions into `mscclpp::gpuMemcpy*<T>()` for name consistency * A few fixes in NVLS memory allocation * Tackled minor compiler warnings
24 lines
702 B
C++
24 lines
702 B
C++
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
|
|
#include <nanobind/nanobind.h>
|
|
#include <nanobind/stl/string.h>
|
|
|
|
#include <mscclpp/utils.hpp>
|
|
|
|
namespace nb = nanobind;
|
|
using namespace mscclpp;
|
|
|
|
void register_utils(nb::module_& m) {
|
|
nb::class_<Timer>(m, "Timer")
|
|
.def(nb::init<int>(), nb::arg("timeout") = -1)
|
|
.def("elapsed", &Timer::elapsed)
|
|
.def("set", &Timer::set, nb::arg("timeout"))
|
|
.def("reset", &Timer::reset)
|
|
.def("print", &Timer::print, nb::arg("name"));
|
|
|
|
nb::class_<ScopedTimer, Timer>(m, "ScopedTimer").def(nb::init<std::string>(), nb::arg("name"));
|
|
|
|
m.def("get_host_name", &getHostName, nb::arg("maxlen"), nb::arg("delim"));
|
|
}
|