blob: 3dacce6550559859e06abf8e7133f084f1f4e2a7 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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 ];
};
}
|