Skip to content

Instantly share code, notes, and snippets.

@KarlJoad
Created November 29, 2020 23:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KarlJoad/67d10cbe6efcdb335ca63f54ff152ca5 to your computer and use it in GitHub Desktop.
Save KarlJoad/67d10cbe6efcdb335ca63f54ff152ca5 to your computer and use it in GitHub Desktop.
{ nixpkgs ? import <nixpkgs> {} }:
with nixpkgs;
assert (!blas.isILP64) && (!lapack.isILP64);
let
pname = "mHPL";
version = "1.0";
mhpl = fetchTarball {
url = "https://www.nics.tennessee.edu/sites/default/files/HPL-site/${pname}-${version}.tgz";
sha256 = "0hy6sayhyy2436sm9pd7jlyf3im1lg16n00k8mfppxs88h4wgmwh";
};
hpl = fetchTarball {
url = "http://www.netlib.org/benchmark/hpl/hpl-2.3.tar.gz";
sha256 = "0cyk6vbcxrmga7rp6bl2y4yly2dfg98bdaj8d36fq0qpc7bdj8jn";
};
in stdenv.mkDerivation rec {
inherit pname;
inherit version;
srcs = [ mhpl hpl ];
enableParallelBuilding = true;
# unpackPhase = ''
# mkdir -p source/{mhpl,
# '';
configurePhase = ''
cat ${mhpl}/Makefile | sed s/"UNKNOWN"/"Linux_Intel64"/ > ${mhpl}/Makefile
cat ${mhpl}/Make.top | sed s/"UNKNOWN"/"Linux_Intel64"/ > ${mhpl}/Make.top
cat ${mhpl}/HPL-SCAL/Makefile | sed s/"UKNOWN"/"Linux_Intel64"/ > ${mhpl}/HPL-SCAL/Makefile
'';
postInstall = ''
# only contains the static lib
rm -r $out/lib
install -D testing/ptest/HPL.dat $out/share/hpl/HPL.dat
'';
buildInputs = [ blas lapack openmpi ];
meta = with stdenv.lib; {
description = "Extension of HPL, a Portable Implementation of the Linpack Benchmark for Distributed-Memory Computers to perform single, double, complex, double complex, and mixed precisions calculations.";
homepage = "https://www.nics.tennessee.edu/sites/default/files/HPL-site/home.html";
platforms = platforms.unix;
license = licenses.bsdOriginal;
maintainers = [ maintainers.KarlJoad ];
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment