depot/third_party/nixpkgs/pkgs/by-name/co/costa/package.nix
Default email 5e7c2d6cef Project import generated by Copybara.
GitOrigin-RevId: f99e5f03cc0aa231ab5950a15ed02afec45ed51a
2023-10-09 21:29:22 +02:00

40 lines
830 B
Nix

{ 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 ];
};
}