From 3a7879533e3d3d8f0ddbb1945942575b3a812d8b Mon Sep 17 00:00:00 2001 From: Phillip Seeber Date: Mon, 9 Oct 2023 10:46:30 +0200 Subject: [PATCH] costa: init at 2.2.2 costa: limit to linux --- pkgs/by-name/co/costa/package.nix | 40 +++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 pkgs/by-name/co/costa/package.nix diff --git a/pkgs/by-name/co/costa/package.nix b/pkgs/by-name/co/costa/package.nix new file mode 100644 index 000000000000..3dacce655055 --- /dev/null +++ b/pkgs/by-name/co/costa/package.nix @@ -0,0 +1,40 @@ +{ stdenv +, lib +, fetchFromGitHub +, cmake +, mpi +, scalapack +, llvmPackages +}: + +stdenv.mkDerivation rec { + pname = "COSTA"; + version = "2.2.2"; + + src = fetchFromGitHub { + owner = "eth-cscs"; + repo = pname; + rev = "v${version}"; + hash = "sha256-jiAyZXC7wiuEnOLsQFFLxhN3AsGXN09q/gHC2Hrb2gg="; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ scalapack ] ++ lib.optional stdenv.isDarwin llvmPackages.openmp; + + propagatedBuildInputs = [ mpi ]; + + cmakeFlags = [ + "-DCOSTA_SCALAPACK=CUSTOM" + "-DSCALAPACK_ROOT=${scalapack}" + ]; + + + meta = with lib; { + description = "Distributed Communication-Optimal Shuffle and Transpose Algorithm"; + homepage = "https://github.com/eth-cscs/COSTA"; + license = licenses.bsd3; + platforms = platforms.linux; + maintainers = [ maintainers.sheepforce ]; + }; +}