diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/ucc')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/ucc/default.nix | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/ucc/default.nix b/nixpkgs/pkgs/development/libraries/ucc/default.nix new file mode 100644 index 000000000000..e26e6e603f8e --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/ucc/default.nix @@ -0,0 +1,51 @@ +{ stdenv, lib, fetchFromGitHub, libtool, automake, autoconf, ucx +, config +, enableCuda ? config.cudaSupport +, cudatoolkit +, enableAvx ? stdenv.hostPlatform.avxSupport +, enableSse41 ? stdenv.hostPlatform.sse4_1Support +, enableSse42 ? stdenv.hostPlatform.sse4_2Support +} : + +stdenv.mkDerivation rec { + pname = "ucc"; + version = "1.2.0"; + + src = fetchFromGitHub { + owner = "openucx"; + repo = "ucc"; + rev = "v${version}"; + sha256 = "sha256-7Mo9zU0sogGyDdWIfTgUPoR5Z8D722asC2y7sHnKbzs="; + }; + + enableParallelBuilding = true; + + postPatch = '' + + for comp in $(find src/components -name Makefile.am); do + substituteInPlace $comp \ + --replace "/bin/bash" "${stdenv.shell}" + done + ''; + + preConfigure = '' + ./autogen.sh + ''; + + nativeBuildInputs = [ libtool automake autoconf ]; + buildInputs = [ ucx ] + ++ lib.optional enableCuda cudatoolkit; + + configureFlags = [ ] + ++ lib.optional enableSse41 "--with-sse41" + ++ lib.optional enableSse42 "--with-sse42" + ++ lib.optional enableAvx "--with-avx" + ++ lib.optional enableCuda "--with-cuda=${cudatoolkit}"; + + meta = with lib; { + description = "Collective communication operations API"; + license = licenses.bsd3; + maintainers = [ maintainers.markuskowa ]; + platforms = platforms.linux; + }; +} |