10 enableCuda ? config.cudaSupport,
12 enableAvx ? stdenv.hostPlatform.avxSupport,
13 enableSse41 ? stdenv.hostPlatform.sse4_1Support,
14 enableSse42 ? stdenv.hostPlatform.sse4_2Support,
17 stdenv.mkDerivation rec {
21 src = fetchFromGitHub {
25 sha256 = "sha256-xcJLYktkxNK2ewWRgm8zH/dMaIoI+9JexuswXi7MpAU=";
33 enableParallelBuilding = true;
37 for comp in $(find src/components -name Makefile.am); do
38 substituteInPlace $comp \
39 --replace "/bin/bash" "${stdenv.shell}"
47 ] ++ lib.optionals enableCuda [ cudaPackages.cuda_nvcc ];
50 ++ lib.optionals enableCuda [
51 cudaPackages.cuda_cccl
52 cudaPackages.cuda_cudart
59 + lib.optionalString enableCuda ''
60 configureFlagsArray+=( "--with-nvcc-gencode=${builtins.concatStringsSep " " cudaPackages.cudaFlags.gencode}" )
64 ++ lib.optional enableSse41 "--with-sse41"
65 ++ lib.optional enableSse42 "--with-sse42"
66 ++ lib.optional enableAvx "--with-avx"
67 ++ lib.optional enableCuda "--with-cuda=${cudaPackages.cuda_cudart}";
70 find $out/lib/ -name "*.la" -exec rm -f \{} \;
72 moveToOutput bin/ucc_info $dev
76 description = "Collective communication operations API";
77 mainProgram = "ucc_info";
78 license = licenses.bsd3;
79 maintainers = [ maintainers.markuskowa ];
80 platforms = platforms.linux;