1{
2 fetchFromGitHub,
3 stdenv,
4 cmake,
5 clr,
6 numactl,
7 nlohmann_json,
8}:
9stdenv.mkDerivation {
10 pname = "mscclpp";
11 version = "unstable-2024-12-13";
12 src = fetchFromGitHub {
13 owner = "microsoft";
14 repo = "mscclpp";
15 rev = "ee75caf365a27b9ab7521cfdda220b55429e5c37";
16 hash = "sha256-/mi9T9T6OIVtJWN3YoEe9az/86rz7BrX537lqaEh3ig=";
17 };
18 nativeBuildInputs = [
19 cmake
20 ];
21 buildInputs = [
22 clr
23 numactl
24 ];
25 postPatch = ''
26 substituteInPlace CMakeLists.txt \
27 --replace-fail "gfx90a gfx941 gfx942" "gfx908 gfx90a gfx942 gfx1030 gfx1100"
28 '';
29 cmakeFlags = [
30 "-DMSCCLPP_BYPASS_GPU_CHECK=ON"
31 "-DMSCCLPP_USE_ROCM=ON"
32 "-DMSCCLPP_BUILD_TESTS=OFF"
33 "-DGPU_TARGETS=gfx908;gfx90a;gfx942;gfx1030;gfx1100"
34 "-DAMDGPU_TARGETS=gfx908;gfx90a;gfx942;gfx1030;gfx1100"
35 "-DMSCCLPP_BUILD_APPS_NCCL=ON"
36 "-DMSCCLPP_BUILD_PYTHON_BINDINGS=OFF"
37 "-DFETCHCONTENT_QUIET=OFF"
38 "-DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=ALWAYS"
39 "-DFETCHCONTENT_SOURCE_DIR_JSON=${nlohmann_json.src}"
40 ];
41 env.ROCM_PATH = clr;
42}