forked from rarias/bscpkgs
ompss2: fix to the last release
This commit is contained in:
parent
e65c801a20
commit
daadcc93d0
79
bsc/llvm-ompss2/clang-git.nix
Normal file
79
bsc/llvm-ompss2/clang-git.nix
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
stdenv
|
||||||
|
, fetchgit
|
||||||
|
, cmake
|
||||||
|
, lld
|
||||||
|
, bash
|
||||||
|
, python3
|
||||||
|
, perl
|
||||||
|
, which
|
||||||
|
, libelf
|
||||||
|
, libffi
|
||||||
|
, pkg-config
|
||||||
|
, enableDebug ? true
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
version = "${src.shortRev}";
|
||||||
|
pname = "clang-ompss2";
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
isClang = true;
|
||||||
|
#isGNU = true;
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
CC = "clang";
|
||||||
|
CXX = "clang++";
|
||||||
|
};
|
||||||
|
|
||||||
|
isClangWithOmpss = true;
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
which
|
||||||
|
bash
|
||||||
|
python3
|
||||||
|
perl
|
||||||
|
cmake
|
||||||
|
lld
|
||||||
|
libelf
|
||||||
|
libffi
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
hardeningDisable = [ "fortify" ];
|
||||||
|
|
||||||
|
cmakeBuildType = if enableDebug then "Debug" else "Release";
|
||||||
|
|
||||||
|
dontUseCmakeBuildDir = true;
|
||||||
|
enableAssertions = if enableDebug then "ON" else "OFF";
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
mkdir -p build
|
||||||
|
cd build
|
||||||
|
cmakeDir="../llvm"
|
||||||
|
cmakeFlagsArray=(
|
||||||
|
"-DLLVM_ENABLE_LLD=ON"
|
||||||
|
"-DCMAKE_CXX_FLAGS_DEBUG=-g -ggnu-pubnames"
|
||||||
|
"-DCMAKE_EXE_LINKER_FLAGS_DEBUG=-Wl,-gdb-index"
|
||||||
|
"-DLLVM_LIT_ARGS=-sv --xunit-xml-output=xunit.xml"
|
||||||
|
"-DLLVM_ENABLE_PROJECTS=clang;openmp;compiler-rt"
|
||||||
|
"-DLLVM_ENABLE_ASSERTIONS=${enableAssertions}"
|
||||||
|
"-DLLVM_INSTALL_TOOLCHAIN_ONLY=ON"
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Remove support for GNU and Intel Openmp
|
||||||
|
postInstall = ''
|
||||||
|
rm $out/lib/libgomp*
|
||||||
|
rm $out/lib/libiomp*
|
||||||
|
'';
|
||||||
|
|
||||||
|
# About "-DCLANG_DEFAULT_NANOS6_HOME=${nanos6}", we could specify a default
|
||||||
|
# nanos6 installation, but this is would require a recompilation of clang each
|
||||||
|
# time nanos6 is changed. Better to use the environment variable NANOS6_HOME,
|
||||||
|
# and specify nanos6 at run time.
|
||||||
|
|
||||||
|
src = builtins.fetchGit {
|
||||||
|
url = "ssh://git@bscpm02.bsc.es/llvm-ompss/llvm-mono.git";
|
||||||
|
ref = "master";
|
||||||
|
};
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
stdenv
|
stdenv
|
||||||
, fetchgit
|
, fetchFromGitHub
|
||||||
, cmake
|
, cmake
|
||||||
, lld
|
, lld
|
||||||
, bash
|
, bash
|
||||||
@ -10,15 +10,22 @@
|
|||||||
, libelf
|
, libelf
|
||||||
, libffi
|
, libffi
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, enableDebug ? true
|
, enableDebug ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "${src.shortRev}";
|
version = "2020.11";
|
||||||
pname = "clang-ompss2";
|
pname = "clang-ompss2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "bsc-pm";
|
||||||
|
repo = "llvm";
|
||||||
|
rev = "github-release-${version}";
|
||||||
|
sha256 = "00z3xlw36lbiz84a47k95gin9fzsni5jd1f71dpg5l2qjy961qma";
|
||||||
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
isClang = true;
|
isClang = true;
|
||||||
#isGNU = true;
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
CC = "clang";
|
CC = "clang";
|
||||||
@ -39,6 +46,9 @@ stdenv.mkDerivation rec {
|
|||||||
pkg-config
|
pkg-config
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Error with -D_FORTIFY_SOURCE=2, see https://bugs.gentoo.org/636604:
|
||||||
|
# /build/source/compiler-rt/lib/tsan/dd/dd_interceptors.cpp:225:20:
|
||||||
|
# error: redefinition of 'realpath'
|
||||||
hardeningDisable = [ "fortify" ];
|
hardeningDisable = [ "fortify" ];
|
||||||
|
|
||||||
cmakeBuildType = if enableDebug then "Debug" else "Release";
|
cmakeBuildType = if enableDebug then "Debug" else "Release";
|
||||||
@ -71,9 +81,4 @@ stdenv.mkDerivation rec {
|
|||||||
# nanos6 installation, but this is would require a recompilation of clang each
|
# nanos6 installation, but this is would require a recompilation of clang each
|
||||||
# time nanos6 is changed. Better to use the environment variable NANOS6_HOME,
|
# time nanos6 is changed. Better to use the environment variable NANOS6_HOME,
|
||||||
# and specify nanos6 at run time.
|
# and specify nanos6 at run time.
|
||||||
|
|
||||||
src = builtins.fetchGit {
|
|
||||||
url = "ssh://git@bscpm02.bsc.es/llvm-ompss/llvm-mono.git";
|
|
||||||
ref = "master";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
{ stdenv
|
{
|
||||||
|
stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, nanos6
|
, nanos6
|
||||||
, gperf
|
, gperf
|
||||||
@ -13,17 +15,19 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "mcxx";
|
pname = "mcxx";
|
||||||
version = "${src.shortRev}";
|
version = "2.3-8e998824";
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
CC = "mcc";
|
CC = "mcc";
|
||||||
CXX = "mcxx";
|
CXX = "mcxx";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Use patched Extrae version
|
# mcxx doesn't use tags, so we pick the same version of the ompss2 release
|
||||||
src = builtins.fetchGit {
|
src = fetchFromGitHub {
|
||||||
url = "https://github.com/bsc-pm/mcxx";
|
owner = "bsc-pm";
|
||||||
ref = "master";
|
repo = pname;
|
||||||
|
rev = "8e998824f0fde001340dbec369ef59e40e53761e";
|
||||||
|
sha256 = "0ix20l50m52kcw12a6dhrasgzjjc2y73j55c994sbhyd133n3pln";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
@ -1,43 +1,53 @@
|
|||||||
{
|
{
|
||||||
stdenv
|
stdenv
|
||||||
, fetchurl
|
, fetchFromGitHub
|
||||||
, automake
|
, automake
|
||||||
, autoconf
|
, autoconf
|
||||||
|
, autoreconfHook
|
||||||
, libtool
|
, libtool
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, numactl
|
, numactl
|
||||||
, hwloc
|
, hwloc
|
||||||
, papi
|
, papi
|
||||||
#, gnumake
|
|
||||||
, extrae
|
, extrae
|
||||||
, boost
|
, boost
|
||||||
|
, enableJemalloc ? false
|
||||||
|
, jemalloc ? null
|
||||||
|
, cachelineBytes ? 64
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "nanos6";
|
pname = "nanos6";
|
||||||
version = "2.4";
|
version = "2.5";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "https://pm.bsc.es/ftp/ompss-2/releases/ompss-2-2020.06.tar.gz";
|
owner = "bsc-pm";
|
||||||
sha256 = "0f9hy2avblv31wi4910x81wc47dwx8x9nd72y02lgrhl7fc9i2sf";
|
repo = "nanos6";
|
||||||
|
rev = "version-${version}";
|
||||||
|
sha256 = "1wyr8liyz1l7rbf5flxihabasm887bq2jcp2csma7b9rhrfyhkm1";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = false;
|
prePatch = ''
|
||||||
preConfigure = ''
|
patchShebangs scripts/generate_config.sh
|
||||||
cd ${pname}-${version}
|
|
||||||
sed -i 's|/bin/echo|echo|g' loader/scripts/common.sh loader/scripts/lint/common.sh
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
configureFlags = [
|
enableParallelBuilding = true;
|
||||||
"--with-symbol-resolution=indirect"
|
|
||||||
];
|
|
||||||
|
|
||||||
#configureFlags = []
|
preConfigure = ''
|
||||||
# ++ (if (extrae != null) then ["--with-extrae=${extrae}"] else [""]);
|
export CACHELINE_WIDTH=${toString cachelineBytes}
|
||||||
|
'';
|
||||||
|
|
||||||
|
configureFlags = [] ++
|
||||||
|
optional enableJemalloc "--with-jemalloc=${jemalloc}";
|
||||||
|
|
||||||
|
# The "bindnow" flags are incompatible with ifunc resolution mechanism. We
|
||||||
|
# disable all by default, which includes bindnow.
|
||||||
|
hardeningDisable = [ "all" ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
autoreconfHook
|
||||||
autoconf
|
autoconf
|
||||||
automake
|
automake
|
||||||
libtool
|
libtool
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, enableJemalloc ? false
|
, enableJemalloc ? false
|
||||||
, jemalloc ? null
|
, jemalloc ? null
|
||||||
|
, cachelineBytes ? 64
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
@ -21,12 +22,10 @@ stdenv.mkDerivation rec {
|
|||||||
pname = "nanos6";
|
pname = "nanos6";
|
||||||
version = "${src.shortRev}";
|
version = "${src.shortRev}";
|
||||||
branch = "master";
|
branch = "master";
|
||||||
cacheline-width = "64";
|
|
||||||
|
|
||||||
src = builtins.fetchGit {
|
src = builtins.fetchGit {
|
||||||
url = "ssh://git@bscpm02.bsc.es/nanos6/nanos6";
|
url = "ssh://git@bscpm02.bsc.es/nanos6/nanos6";
|
||||||
ref = branch;
|
ref = branch;
|
||||||
rev = "bd306f903c7a4396f579402666082f5a7c34570b";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
prePatch = ''
|
prePatch = ''
|
||||||
@ -36,7 +35,7 @@ stdenv.mkDerivation rec {
|
|||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
export CACHELINE_WIDTH=${cacheline-width}
|
export CACHELINE_WIDTH=${toString cacheline-width}
|
||||||
export NANOS6_GIT_VERSION=${src.rev}
|
export NANOS6_GIT_VERSION=${src.rev}
|
||||||
export NANOS6_GIT_BRANCH=${branch}
|
export NANOS6_GIT_BRANCH=${branch}
|
||||||
'';
|
'';
|
||||||
@ -54,7 +53,6 @@ stdenv.mkDerivation rec {
|
|||||||
automake
|
automake
|
||||||
libtool
|
libtool
|
||||||
pkg-config
|
pkg-config
|
||||||
perl
|
|
||||||
boost
|
boost
|
||||||
numactl
|
numactl
|
||||||
hwloc
|
hwloc
|
||||||
|
17
overlay.nix
17
overlay.nix
@ -111,19 +111,14 @@ let
|
|||||||
tampiRelease = callPackage ./bsc/tampi/default.nix { };
|
tampiRelease = callPackage ./bsc/tampi/default.nix { };
|
||||||
tampiGit = callPackage ./bsc/tampi/git.nix { };
|
tampiGit = callPackage ./bsc/tampi/git.nix { };
|
||||||
|
|
||||||
mcxxGit = callPackage ./bsc/mcxx/default.nix {
|
mcxx = bsc.mcxxRelease;
|
||||||
bison = self.bison_3_5;
|
mcxxRelease = callPackage ./bsc/mcxx/default.nix { };
|
||||||
};
|
|
||||||
|
|
||||||
mcxxRarias = callPackage ./bsc/mcxx/rarias.nix {
|
mcxxRarias = callPackage ./bsc/mcxx/rarias.nix {
|
||||||
bison = self.bison_3_5;
|
bison = self.bison_3_5;
|
||||||
};
|
};
|
||||||
|
|
||||||
mcxx = bsc.mcxxGit;
|
nanos6 = bsc.nanos6Release;
|
||||||
|
nanos6Release = callPackage ./bsc/nanos6/default.nix { };
|
||||||
# Use nanos6 git by default
|
|
||||||
nanos6 = bsc.nanos6Git;
|
|
||||||
nanos6Latest = callPackage ./bsc/nanos6/default.nix { };
|
|
||||||
nanos6Git = callPackage ./bsc/nanos6/git.nix { };
|
nanos6Git = callPackage ./bsc/nanos6/git.nix { };
|
||||||
|
|
||||||
jemalloc = self.jemalloc.overrideAttrs (old:
|
jemalloc = self.jemalloc.overrideAttrs (old:
|
||||||
@ -135,7 +130,7 @@ let
|
|||||||
];
|
];
|
||||||
});
|
});
|
||||||
|
|
||||||
nanos6Jemalloc = callPackage ./bsc/nanos6/git.nix {
|
nanos6Jemalloc = nanos6.override {
|
||||||
enableJemalloc = true;
|
enableJemalloc = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -189,7 +184,7 @@ let
|
|||||||
# TODO: move into garlic/default.nix
|
# TODO: move into garlic/default.nix
|
||||||
|
|
||||||
# Configuration for the machines
|
# Configuration for the machines
|
||||||
machines = callPackage ./garlic/machines.nix {};
|
machines = callPackage ./garlic/machines.nix { };
|
||||||
|
|
||||||
report = callPackage ./garlic/report.nix {
|
report = callPackage ./garlic/report.nix {
|
||||||
fig = bsc.garlic.fig;
|
fig = bsc.garlic.fig;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user