Archived
1
0
forked from rarias/bscpkgs

23 Commits

Author SHA1 Message Date
7b3e503b12 Add meta to packages 2025-09-30 15:10:45 +02:00
916ab8440e Add maintainers 2025-09-30 15:10:23 +02:00
8871e10cea Fix nanos6 cross-compilation for riscv 2025-09-29 16:31:01 +02:00
869b16aae0 Fix cross compilation for lmbench 2025-09-29 16:25:41 +02:00
91babf28d0 Disable papi when cross compiling
Even if we do an override to papi get the proper configure flags for
cross-compiling, the memory fences are not defined for risc-v:

mb.h:67:2: error: #error Need to define rmb for this architecture!
2025-09-29 15:26:28 +02:00
f8f3099d95 Add cross compilation to riscv64 in hydraJobs 2025-09-29 14:31:08 +02:00
d1e43dba34 Move attributes in ompss2 clang derivation to passthru 2025-09-29 12:54:26 +02:00
7b59ad8e65 Remove gcc from tampi *buildInputs 2025-09-29 12:54:24 +02:00
db60f992d2 Fix strictDeps ovni 2025-09-29 12:54:23 +02:00
907797dbf7 Fix strictDeps osu 2025-09-29 12:54:22 +02:00
c9442e9859 Fix strictDeps mercurium 2025-09-29 12:54:22 +02:00
1b4b039faf Fix strictDeps tampi 2025-09-29 12:54:22 +02:00
e3faa29477 Fix strictDeps sonar 2025-09-29 12:54:22 +02:00
4eb8e2bada Fix strictDeps nanos6 2025-09-29 12:54:22 +02:00
1462d25b9b Fix strictDeps paraver 2025-09-29 12:54:21 +02:00
61b6de195e Fix strictDeps ompss2 2025-09-29 12:54:21 +02:00
cb6d770992 Fix strictDeps intel 2023 2025-09-29 12:54:21 +02:00
6454ff6712 Fix strictDeps bench6 2025-09-29 12:54:21 +02:00
d40ce4fe79 Fix strictDeps bigotes 2025-09-29 12:54:21 +02:00
2ffdd53d86 Add hydraJobs with tests and packages
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
Tested-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2025-09-26 16:12:46 +02:00
c7b5ec13b8 Provide nixpkgs.lib in bscpkgs outputs
Currently, we can use bscpkgs similarly to nixpkgs either through
the flake outputs or with import bscpkgs:

```nix
# currently supported:
bscpkgs.legacyPackages.x86_64-linux.hello
let pkgs = import bscpkgs { system = "x86_64-linux"; }; in pkgs.hello
```
The missing piece is nixpkgs.lib (not pkgs.lib, the system agnostic
one). The workaround is to do bscpkgs.inputs.nixpkgs.lib instead. We can
simplify this by forwarding the lib to our outputs.

This enables us to use bscpkgs as a drop-in
replacing the inputs to our flake from nixpkgs to bscpkgs.
(inputs.nixpkgs.url = "<*BSC*pkgs url>").


Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
Tested-by: Aleix Boné <abonerib@bsc.es>
2025-09-12 14:28:42 +02:00
00dfe801f4 Fix GPI-2 and enable TAGASPI
The rdma-core driver.h include is no longer installed:

 56dd87acd2

So ibv_read_sysfs_file() is not defined. As the symbols is still
distributed, we simply add the missing prototype manually.

Similarly, the gaspi_get_system_mem() function is not available from the
gaspi public headers, so we define it in the max_mem.c test.

Fixes: rarias/bscpkgs#7
Reviewed-by: Aleix Boné <abonerib@bsc.es>
Tested-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2025-09-12 14:21:00 +02:00
2c8d7ed855 Build nOS-V with PAPI support
To support the new instrumentation for HWC it would be useful to already
build nOS-V with PAPI support enabled. The enablePapi switch allows it
to be disabled with `nosv.override { enablePapi = false; }`.

Reviewed-by: Aleix Roca Nonell <aleix.rocanonell@bsc.es>
Tested-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2025-08-01 13:12:48 +02:00
34 changed files with 359 additions and 75 deletions

View File

@@ -2,16 +2,31 @@
inputs.nixpkgs.url = "nixpkgs";
outputs = { self, nixpkgs, ...}:
let
pkgs = import nixpkgs {
let
# For now we only support x86
system = "x86_64-linux";
overlays = [ self.overlays.default ];
};
in
pkgs = import nixpkgs {
inherit system;
overlays = [ self.overlays.default ];
};
in
{
bscOverlay = import ./overlay.nix;
overlays.default = self.bscOverlay;
legacyPackages.x86_64-linux = pkgs;
# full nixpkgs with our overlay applied
legacyPackages.${system} = pkgs;
hydraJobs = {
inherit (self.legacyPackages.${system}.bsc-ci) test pkgs;
cross = self.lib.genAttrs [ "riscv64" ] (target:
self.legacyPackages.${system}.pkgsCross.${target}.bsc-ci.pkgs
);
};
# propagate nixpkgs lib, so we can do bscpkgs.lib
lib = nixpkgs.lib // {
bsc.maintainers = import ./maintainers/maintainer-list.nix;
};
};
}

View File

@@ -0,0 +1,6 @@
builtins.mapAttrs (name: value: { email = name + "@bsc.es"; } // value) {
abonerib.name = "Aleix Boné";
arocanon.name = "Aleix Roca";
rarias.name = "Rodrigo Arias";
rpenacob.name = "Raúl Peñacoba";
}

View File

@@ -18,7 +18,7 @@ let
clangOmpss2NodesOmpv = callPackage ./pkgs/llvm-ompss2/default.nix { ompss2rt = final.nodes; openmp = final.openmpv; };
clangOmpss2Unwrapped = callPackage ./pkgs/llvm-ompss2/clang.nix { };
#extrae = callPackage ./pkgs/extrae/default.nix { }; # Broken and outdated
#gpi-2 = callPackage ./pkgs/gpi-2/default.nix { }; # Broken: https://jungle.bsc.es/git/rarias/bscpkgs/issues/7
gpi-2 = callPackage ./pkgs/gpi-2/default.nix { };
intelPackages_2023 = callPackage ./pkgs/intel-oneapi/2023.nix { };
jemallocNanos6 = callPackage ./pkgs/nanos6/jemalloc.nix { };
lmbench = callPackage ./pkgs/lmbench/default.nix { };
@@ -44,12 +44,17 @@ let
stdenvClangOmpss2Nanos6 = final.stdenv.override { cc = final.clangOmpss2Nanos6; allowedRequisites = null; };
stdenvClangOmpss2Nodes = final.stdenv.override { cc = final.clangOmpss2Nodes; allowedRequisites = null; };
stdenvClangOmpss2NodesOmpv = final.stdenv.override { cc = final.clangOmpss2NodesOmpv; allowedRequisites = null; };
#tagaspi = callPackage ./pkgs/tagaspi/default.nix { }; # Broken due gpi-2
tagaspi = callPackage ./pkgs/tagaspi/default.nix { };
tampi = callPackage ./pkgs/tampi/default.nix { };
wxparaver = callPackage ./pkgs/paraver/default.nix { };
};
in bscPkgs // {
lib = prev.lib // {
bsc.maintainers = import ./maintainers/maintainer-list.nix;
};
# Prevent accidental usage of bsc attribute
bsc = throw "the bsc attribute is deprecated, packages are now in the root";
@@ -88,7 +93,9 @@ in bscPkgs // {
};
};
pkgs = final.runCommand "ci-pkgs" { }
pkgs = filterAttrs (_: isDerivation) bscPkgs;
pkgsList = final.runCommand "ci-pkgs" { }
"printf '%s\n' ${toString (collect isDerivation bscPkgs)} > $out";
tests = final.runCommand "ci-tests" { }
@@ -96,7 +103,7 @@ in bscPkgs // {
all = final.runCommand "ci-all" { }
''
deps="${toString [ final.bsc-ci.pkgs final.bsc-ci.tests ]}"
deps="${toString [ final.bsc-ci.pkgsList final.bsc-ci.tests ]}"
cat $deps
printf '%s\n' $deps > $out
'';

View File

@@ -1,5 +1,6 @@
{
stdenv
, lib
, bigotes
, cmake
, clangOmpss2
@@ -27,10 +28,13 @@ stdenv.mkDerivation rec {
rev = gitCommit;
};
buildInputs = [
bigotes
nativeBuildInputs = [
cmake
clangOmpss2
];
buildInputs = [
bigotes
openmp
openmpv
nanos6
@@ -55,4 +59,12 @@ stdenv.mkDerivation rec {
];
hardeningDisable = [ "all" ];
dontStrip = true;
meta = with lib; {
homepage = "https://gitlab.pm.bsc.es/rarias/bench6";
description = "Set of micro-benchmarks for OmpSs-2 and several mini-apps";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3;
};
}

View File

@@ -1,10 +1,11 @@
{
stdenv
, lib
, fetchFromGitHub
, cmake
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation {
pname = "bigotes";
version = "9dce13";
src = fetchFromGitHub {
@@ -13,5 +14,13 @@ stdenv.mkDerivation rec {
rev = "9dce13446a8da30bea552d569d260d54e0188518";
sha256 = "sha256-ktxM3pXiL8YXSK+/IKWYadijhYXqGoLY6adLk36iigE=";
};
buildInputs = [ cmake ];
nativeBuildInputs = [ cmake ];
meta = with lib; {
homepage = "https://github.com/rodarima/bigotes";
description = "Versatile benchmark tool";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3;
};
}

View File

@@ -20,6 +20,7 @@
#, python3Packages
, installShellFiles
, symlinkJoin
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
}:
let
@@ -87,7 +88,7 @@ stdenv.mkDerivation rec {
--enable-sampling
--with-unwind=${libunwind.dev}
--with-xml-prefix=${libxml2.dev}
--with-papi=${papi}
${lib.optionalString enablePapi "--with-papi=${papi}"}
${if (mpi != null) then ''--with-mpi=${mpi}''
else ''--without-mpi''}
--without-dyninst)
@@ -110,4 +111,12 @@ stdenv.mkDerivation rec {
# then [ "--enable-openmp" ]
# else []
# );
meta = with lib; {
homepage = "https://github.com/bsc-performance-tools/extrae";
description = "Instrumentation framework to generate execution traces of the most used parallel runtimes";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.lgpl21Plus;
};
}

View File

@@ -1,5 +1,6 @@
{
stdenv
, lib
, fetchurl
, symlinkJoin
, slurm
@@ -34,6 +35,8 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
patches = [ ./rdma-core.patch ./max-mem.patch ];
preConfigure = ''
patchShebangs autogen.sh
./autogen.sh
@@ -50,4 +53,12 @@ stdenv.mkDerivation rec {
buildInputs = [ slurm mpiAll rdma-core-all autoconf automake libtool rsync gfortran ];
hardeningDisable = [ "all" ];
meta = with lib; {
homepage = "https://pm.bsc.es/gitlab/interoperability/extern/GPI-2";
description = "GPI-2 extended for supporting Task-Aware GASPI (TAGASPI) library";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3;
};
}

10
pkgs/gpi-2/max-mem.patch Normal file
View File

@@ -0,0 +1,10 @@
--- a/tests/tests/segments/max_mem.c 2025-09-12 13:30:53.449353591 +0200
+++ b/tests/tests/segments/max_mem.c 2025-09-12 13:33:49.750352401 +0200
@@ -1,5 +1,7 @@
#include <test_utils.h>
+gaspi_size_t gaspi_get_system_mem (void);
+
/* Test allocates 45% of system memory and creates a segment that
large or if several ranks per node exist, divided among that
number */

View File

@@ -0,0 +1,12 @@
--- a/src/devices/ib/GPI2_IB.h 2025-09-12 13:25:31.564181121 +0200
+++ b/src/devices/ib/GPI2_IB.h 2025-09-12 13:24:49.105422150 +0200
@@ -26,6 +26,9 @@ along with GPI-2. If not, see <http://ww
#include "GPI2_Dev.h"
+/* Missing prototype as driver.h is now private */
+int ibv_read_sysfs_file(const char *dir, const char *file, char *buf, size_t size);
+
#define GASPI_GID_INDEX (0)
#define PORT_LINK_UP (5)
#define MAX_INLINE_BYTES (128)

View File

@@ -1,4 +1,5 @@
{ stdenv
, lib
, fetchurl
, rpmextract
, autoPatchelfHook
@@ -59,4 +60,12 @@ stdenv.mkDerivation rec {
rm $out/lib/*.dbg
popd
'';
meta = with lib; {
homepage = "https://www.intel.com/content/www/us/en/developer/tools/overview.html";
description = "Intel compiler";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.unfree;
};
}

View File

@@ -145,4 +145,12 @@ in
popd
'';
meta = with lib; {
homepage = "https://www.intel.com/content/www/us/en/developer/tools/overview.html";
description = "Intel compiler";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.unfree;
};
}

View File

@@ -1,4 +1,5 @@
{ stdenv
, lib
, rpmextract
, gcc
, zlib
@@ -101,4 +102,12 @@ stdenv.mkDerivation rec {
patchelf --set-rpath "$out/lib:${rdma-core}/lib:${libpsm2}/lib" $out/lib/libfabric.so
echo "Patched RPATH in libfabric.so to: $(patchelf --print-rpath $out/lib/libfabric.so)"
'';
meta = with lib; {
homepage = "https://www.intel.com/content/www/us/en/developer/tools/overview.html";
description = "Intel compiler";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.unfree;
};
}

View File

@@ -78,7 +78,7 @@ let
uncompressDebs = debs: name: stdenv.mkDerivation {
name = name;
srcs = debs;
buildInputs = [ dpkg ];
nativeBuildInputs = [ dpkg ];
phases = [ "installPhase" ];
installPhase = ''
mkdir -p $out
@@ -108,14 +108,17 @@ let
"intel-oneapi-mpi-${version}"
];
buildInputs = [
nativeBuildInputs = [
autoPatchelfHook
rsync
];
buildInputs = [
libfabric
zlib
stdenv.cc.cc.lib
];
nativeBuildInputs = [ autoPatchelfHook ];
phases = [ "installPhase" "fixupPhase" ];
dontStrip = true;
installPhase = ''
@@ -154,7 +157,6 @@ let
buildInputs = [
intel-mpi
rsync
libffi_3_3
libelf
libxml2
@@ -162,7 +164,10 @@ let
stdenv.cc.cc.lib
];
nativeBuildInputs = [ autoPatchelfHook ];
nativeBuildInputs = [
autoPatchelfHook
rsync
];
phases = [ "installPhase" "fixupPhase" ];
dontStrip = true;
@@ -192,7 +197,6 @@ let
buildInputs = [
intel-mpi
intel-tbb
rsync
libffi_3_3
libelf
libxml2
@@ -201,7 +205,10 @@ let
stdenv.cc.cc.lib
];
nativeBuildInputs = [ autoPatchelfHook ];
nativeBuildInputs = [
autoPatchelfHook
rsync
];
phases = [ "installPhase" "fixupPhase" ];
dontStrip = true;
@@ -254,7 +261,6 @@ let
buildInputs = [
intel-mpi
intel-compiler-shared
rsync
libffi_3_3
libelf
libxml2
@@ -262,7 +268,10 @@ let
stdenv.cc.cc.lib
];
nativeBuildInputs = [ autoPatchelfHook ];
nativeBuildInputs = [
autoPatchelfHook
rsync
];
phases = [ "installPhase" "fixupPhase" ];
@@ -337,7 +346,6 @@ let
buildInputs = [
intel-compiler-shared
rsync
libffi_3_3
libelf
libxml2
@@ -345,7 +353,10 @@ let
stdenv.cc.cc.lib
];
nativeBuildInputs = [ autoPatchelfHook ];
nativeBuildInputs = [
autoPatchelfHook
rsync
];
autoPatchelfIgnoreMissingDeps = [ "libtbb.so.12" "libtbbmalloc.so.2" "libze_loader.so.1" ];
phases = [ "installPhase" "fixupPhase" ];

View File

@@ -43,32 +43,36 @@ let
source = if (useGit) then git else release;
in stdenv.mkDerivation rec {
in stdenv.mkDerivation {
pname = "clang-ompss2";
inherit (source) src version;
enableParallelBuilding = true;
isClang = true;
passthru = {
CC = "clang";
CXX = "clang++";
isClang = true;
isClangWithOmpss = true;
inherit gcc zlib;
};
isClangWithOmpss = true;
nativeBuildInputs = [ zlib ];
buildInputs = [
which
nativeBuildInputs = [
bash
cmake
elfutils
llvmPackages_latest.lld
pkg-config
python3
perl
cmake
llvmPackages_latest.lld
elfutils
which
zlib
];
buildInputs = [
libffi
pkg-config
zlib
gcc.cc.lib # Required for libstdc++.so.6
];

View File

@@ -22,7 +22,11 @@ stdenv.mkDerivation rec {
'';
buildInputs = [ libtirpc ];
patches = [ ./fix-install.patch ./gcc-14.patch ];
patches = [
./fix-install.patch
./gcc-14.patch
./fix-cross.patch
];
hardeningDisable = [ "all" ];
@@ -35,6 +39,8 @@ stdenv.mkDerivation rec {
CFLAGS=-Wno-implicit-int
CPPFLAGS=-I${libtirpc.dev}/include/tirpc
LDFLAGS=-ltirpc
CC=${stdenv.cc.targetPrefix}cc
AR=${stdenv.cc.targetPrefix}ar
)
'';

View File

@@ -0,0 +1,13 @@
diff --git a/src/Makefile b/src/Makefile
index 2555014..356eeb3 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -36,7 +36,7 @@ SHELL=/bin/sh
CC=`../scripts/compiler`
MAKE=`../scripts/make`
-AR=ar
+AR?=ar
ARCREATE=cr
# base of installation location

View File

@@ -1,5 +1,6 @@
{
stdenv
, lib
, fetchFromGitHub
, autoreconfHook
, nanos6
@@ -32,19 +33,22 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
buildInputs = [
nativeBuildInputs = [
autoreconfHook
nanos6
gperf
bison
flex
python3
gfortran
pkg-config
sqlite.dev
bison
flex
gperf
gcc
];
buildInputs = [
nanos6
sqlite.dev
];
patches = [ ./intel.patch ];
preConfigure = ''
@@ -59,4 +63,12 @@ stdenv.mkDerivation rec {
# Fails with "memory exhausted" with bison 3.7.1
# "--enable-bison-regeneration"
];
meta = with lib; {
homepage = "https://github.com/bsc-pm/mcxx";
description = "C/C++/Fortran source-to-source compilation infrastructure aimed at fast prototyping";
maintainers = with maintainers.bsc; [ rpenacob ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}

View File

@@ -1,5 +1,6 @@
{
stdenv
, lib
, fetchFromGitHub
, autoreconfHook
, nanos6
@@ -57,4 +58,12 @@ stdenv.mkDerivation rec {
# Fails with "memory exhausted" with bison 3.7.1
# "--enable-bison-regeneration"
];
meta = with lib; {
homepage = "https://github.com/bsc-pm/mcxx";
description = "C/C++/Fortran source-to-source compilation infrastructure aimed at fast prototyping";
maintainers = with maintainers.bsc; [ rpenacob ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}

View File

@@ -1,4 +1,5 @@
{ stdenv
, lib
, fetchgit
, autoreconfHook
, nanos6
@@ -56,4 +57,12 @@ stdenv.mkDerivation rec {
#preBuild = ''
# make generate_builtins_ia32 GXX_X86_BUILTINS=${gcc}/bin/g++
#'';
#
meta = with lib; {
homepage = "https://github.com/bsc-pm/mcxx";
description = "C/C++/Fortran source-to-source compilation infrastructure aimed at fast prototyping";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}

View File

@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
url = "https://github.com/pmodels/mpich/blob/v${version}/COPYRIGHT";
fullName = "MPICH license (permissive)";
};
maintainers = [ ];
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux ++ platforms.darwin;
};
}

View File

@@ -16,6 +16,7 @@
, jemallocNanos6 ? null
, cachelineBytes ? 64
, enableGlibcxxDebug ? false
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
, useGit ? false
, gitUrl ? "ssh://git@bscpm04.bsc.es/nanos6/nanos6"
, gitBranch ? "master"
@@ -47,6 +48,8 @@ let
};
source = if (useGit) then git else release;
isCross = stdenv.hostPlatform != stdenv.buildPlatform;
in
stdenv.mkDerivation (source // {
pname = "nanos6";
@@ -71,9 +74,11 @@ in
"--disable-all-instrumentations"
"--enable-ovni-instrumentation"
"--with-ovni=${ovni}"
"--with-boost=${boost.dev}"
] ++
(optional enableJemalloc "--with-jemalloc=${jemallocNanos6}") ++
(optional enableGlibcxxDebug "CXXFLAGS=-D_GLIBCXX_DEBUG");
(optional enableGlibcxxDebug "CXXFLAGS=-D_GLIBCXX_DEBUG") ++
(optional isCross "--with-symbol-resolution=ifunc");
postConfigure = lib.optionalString (!enableDebug) ''
# Disable debug
@@ -88,28 +93,35 @@ in
dontStrip = enableDebug;
separateDebugInfo = true;
buildInputs = [
nativeBuildInputs = [
autoconf
automake
libtool
pkg-config
# TODO: papi_version is needed for configure:
# ./configure: line 27378: papi_version: command not found
# This probably breaks cross-compilation
] ++ lib.optionals enablePapi [ papi ];
buildInputs = [
boost
numactl
hwloc
papi
ovni
];
] ++ lib.optionals enablePapi [ papi ];
# Create a script that sets NANOS6_HOME
postInstall = ''
mkdir -p $out/nix-support
echo "export NANOS6_HOME=$out" >> $out/nix-support/setup-hook
'';
'';
meta = with lib; {
homepage = "https://github.com/bsc-pm/nanos6";
description = "Nanos6 runtime for OmpSs-2" +
optionalString (enableDebug) " (with debug symbols)";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3;
};

View File

@@ -1,4 +1,4 @@
{ jemalloc }:
{ jemalloc, lib }:
jemalloc.overrideAttrs (old: {
configureFlags = old.configureFlags ++ [
@@ -8,5 +8,6 @@ jemalloc.overrideAttrs (old: {
hardeningDisable = [ "all" ];
meta = old.meta // {
description = old.meta.description + " (for Nanos6)";
maintainers = old.meta.maintainers // (with lib.maintainers.bsc; [ rarias ]);
};
})

View File

@@ -1,5 +1,6 @@
{
stdenv
, lib
, bashInteractive
, busybox
, nix
@@ -86,5 +87,13 @@ stdenv.mkDerivation rec {
mkdir -p $out/share
cp ${nix_conf} $out/share/nix.conf
'';
meta = with lib; {
homepage = null;
description = "nix bubblewrap wrapper";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3Plus; # TODO: license?
};
}

View File

@@ -1,5 +1,6 @@
{
stdenv
, lib
, glibc
}:
@@ -15,4 +16,12 @@ stdenv.mkDerivation rec {
makeFlags = [ "DESTDIR=$(out)" ];
preBuild = "env";
dontPatchShebangs = true;
meta = with lib; {
homepage = "https://gitlab.pm.bsc.es/rarias/nixtools";
description = "nix bubblewrap wrapper";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3Plus; # TODO: license?
};
}

View File

@@ -81,4 +81,12 @@ in
passthru = {
inherit nosv;
};
meta = with lib; {
homepage = "https://gitlab.bsc.es/nos-v/nodes";
description = "Runtime library designed to work on top of the nOS-V runtime";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}

View File

@@ -6,6 +6,8 @@
, pkg-config
, numactl
, hwloc
, papi
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
, cacheline ? 64 # bits
, ovni ? null
, useGit ? false
@@ -56,5 +58,13 @@ in
numactl
hwloc
ovni
];
] ++ lib.optionals enablePapi [ papi ];
meta = with lib; {
homepage = "https://gitlab.bsc.es/nos-v/nos-v";
description = "Tasking library enables the co-execution of multiple applications with system-wide scheduling and a centralized management of resources";
maintainers = with maintainers.bsc; [ abonerib ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}

View File

@@ -24,9 +24,10 @@ stdenv.mkDerivation rec {
doCheck = true;
enableParallelBuilding = true;
nativeBuildInputs = [ mpiAll ];
buildInputs = [ mpiAll ];
hardeningDisable = [ "all" ];
configureFlags = [
configureFlags = [
"CC=mpicc"
"CXX=mpicxx"
];
@@ -40,7 +41,7 @@ stdenv.mkDerivation rec {
meta = {
description = "OSU Micro-Benchmarks";
homepage = http://mvapich.cse.ohio-state.edu/benchmarks/;
homepage = "http://mvapich.cse.ohio-state.edu/benchmarks/";
maintainers = [ ];
platforms = lib.platforms.all;
};

View File

@@ -13,8 +13,6 @@
, useMpi ? (stdenv.buildPlatform.canExecute stdenv.hostPlatform)
}:
with lib;
let
release = rec {
version = "1.12.0";
@@ -45,7 +43,7 @@ in
postPatch = ''
patchShebangs --build test/
'';
nativeBuildInputs = [ cmake ];
nativeBuildInputs = [ cmake ] ++ lib.optionals (useMpi) [ mpi ];
buildInputs = lib.optionals (useMpi) [ mpi ];
cmakeBuildType = if (enableDebug) then "Debug" else "Release";
cmakeFlags = [
@@ -57,4 +55,12 @@ in
doCheck = true;
checkTarget = "test";
hardeningDisable = [ "all" ];
meta = with lib; {
homepage = "https://ovni.readthedocs.io";
description = "Obtuse but Versatile Nanoscale Instrumentation";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}

View File

@@ -1,5 +1,6 @@
{
stdenv
, lib
, fetchFromGitHub
, autoreconfHook
, boost
@@ -60,17 +61,17 @@ stdenv.mkDerivation rec {
];
nativeBuildInputs = [
autoconf
automake
autoreconfHook
wrapGAppsHook
];
buildInputs = [
autoreconfHook
boost
libxml2.dev
xml2
wx
autoconf
automake
paraverKernel
openssl.dev
];
@@ -88,4 +89,12 @@ stdenv.mkDerivation rec {
mkdir -p $out/share/man
mv $out/share/doc/wxparaver_help_contents/man $out/share/man/man1
'';
meta = with lib; {
homepage = "https://github.com/bsc-performance-tools/wxparaver";
description = "Trace-based visualization and analysis tool designed to study quantitative detailed metrics and obtain qualitative knowledge of the performance of applications, libraries, processors and whole architectures";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.lgpl21Plus;
};
}

View File

@@ -44,14 +44,17 @@ stdenv.mkDerivation rec {
"--enable-openmp"
];
buildInputs = [
nativeBuildInputs = [
autoreconfHook
boost
libxml2.dev
xml2
autoconf
automake
pkg-config
];
buildInputs = [
boost
libxml2.dev
xml2
zlib
];
}

View File

@@ -61,13 +61,16 @@ stdenv.mkDerivation rec {
"--with-wx-config=${wx}/bin/wx-config"
];
nativeBuildInputs = [
autoconf
automake
];
buildInputs = [
boost
xml2
libxml2.dev
wx
autoconf
automake
openssl.dev
];

View File

@@ -1,5 +1,6 @@
{
stdenv
, lib
, autoreconfHook
, fetchFromGitHub
, ovni
@@ -18,9 +19,21 @@ stdenv.mkDerivation rec {
hardeningDisable = [ "all" ];
dontStrip = true;
configureFlags = [ "--with-ovni=${ovni}" ];
buildInputs = [
nativeBuildInputs = [
autoreconfHook
];
buildInputs = [
ovni
mpi
];
meta = with lib; {
homepage = "https://github.com/bsc-pm/sonar";
description = "Set of runtime libraries which instrument parallel programming models through the ovni instrumentation library";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.mit;
};
}

View File

@@ -1,5 +1,6 @@
{
stdenv
, lib
, fetchFromGitHub
, automake
, autoconf
@@ -55,4 +56,12 @@ stdenv.mkDerivation rec {
];
hardeningDisable = [ "all" ];
meta = with lib; {
homepage = "https://github.com/bsc-pm/tagaspi";
description = "Task-Aware GASPI";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}

View File

@@ -8,7 +8,6 @@
, gnumake
, boost
, mpi
, gcc
, autoreconfHook
, enableOvni ? true
, ovni ? null
@@ -41,22 +40,33 @@ let
};
};
source = if (useGit) then git else release;
in stdenv.mkDerivation rec {
in stdenv.mkDerivation {
pname = "tampi";
inherit (source) src version;
enableParallelBuilding = true;
separateDebugInfo = true;
buildInputs = [
autoreconfHook
automake
nativeBuildInputs = [
autoconf
libtool
automake
autoreconfHook
gnumake
libtool
];
buildInputs = [
boost
mpi
gcc
] ++ optional (enableOvni) ovni;
configureFlags = optional (enableOvni) "--with-ovni=${ovni}";
dontDisableStatic = true;
hardeningDisable = [ "all" ];
meta = with lib; {
homepage = "https://github.com/bsc-pm/tampi";
description = "Task-Aware MPI";
maintainers = with maintainers.bsc; [ rarias ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}