mirror of
https://github.com/microsoft/mscclpp.git
synced 2026-05-12 09:17:06 +00:00
Provides two integration ways for MSCCL++ DSL. 1. Integrate with customized communication group 2. Integrate with NCCL API Introduce new Python APIs to make it work: ```python mscclpp.compile # compile dsl to json based execution plan mscclpp.ExecutionPlanRegistry.register_plan(plan) # register the compiled plan to executionPlanRegistery mscclpp.ExecutionPlanRegistry.set_selector(selector) # set the selector, the selector will return the best execution plan based on collection, message size, world size.... ``` Fix #556 --------- Co-authored-by: Caio Rocha <caiorocha@microsoft.com> Co-authored-by: Changho Hwang <changhohwang@microsoft.com>
17 lines
423 B
C++
17 lines
423 B
C++
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
|
|
#include <nanobind/nanobind.h>
|
|
#include <nanobind/stl/string.h>
|
|
|
|
#include <mscclpp/npkit/npkit.hpp>
|
|
|
|
namespace nb = nanobind;
|
|
|
|
void register_npkit(nb::module_ &m) {
|
|
nb::module_ sub_m = m.def_submodule("npkit", "NPKit functions");
|
|
sub_m.def("init", &NpKit::Init);
|
|
sub_m.def("dump", &NpKit::Dump);
|
|
sub_m.def("shutdown", &NpKit::Shutdown);
|
|
}
|