Archived
1
0
forked from rarias/bscpkgs

38 Commits

Author SHA1 Message Date
8a8c324cba Merge all branches 2025-09-26 12:49:37 +02:00
0c02ee9bd4 Add hydraJobs with tests and packages 2025-09-26 12:48:40 +02:00
e35b7100ed Clean up paraver derivations 2025-09-16 15:32:58 +02:00
006bc874f3 Use gcc13 for llvm-ompss2 for intel 2025-09-16 14:54:01 +02:00
2a7f6618d2 Expose our packages in flake packages output 2025-09-16 14:46:19 +02:00
43074115c8 Add TAOpenCL 2025-09-16 12:59:31 +02:00
b8b62b3e87 remove with lib from llvm-ompss2 2025-09-15 12:45:51 +02:00
092a0c3243 Use gcc13 for intel compiler 2025-09-12 14:49:26 +02:00
3e7fd73ebe Reorder includes in intel 202{4,5} wrapper 2025-09-12 14:49:26 +02:00
a2bbb6bfd6 Fix path in intel compiler wrapper 2025-09-12 14:49:26 +02:00
0831b7fe52 Do not check missing symlinks in intel-oneapi 2025-09-12 14:49:26 +02:00
a3ee080e9e Add passthru in ompss2 wrapper for icpx compat 2025-09-12 14:49:26 +02:00
a3a0dbcc55 Remove wrapper flags when clang called from intel 2025-09-12 14:49:26 +02:00
f53d4aab54 Add oneMath 2025-09-12 14:49:26 +02:00
b08ce80b5a Fix parsing of new apt package list for oneapi 2023
New apt list does not have Package: as the first entry for all packages
2025-09-12 14:49:25 +02:00
57827ae5a4 Add intel-hpckit-2025 as default intelPackages
Also introduces hpckit_2024
2025-09-12 14:49:25 +02:00
bed3d8ce31 Remove gcc from tampi *buildInputs 2025-09-12 14:47:00 +02:00
94068997d9 Fix strictDeps ovni 2025-09-12 14:47:00 +02:00
a0485c06cd Add TACUDA package 2025-09-12 14:46:59 +02:00
4722007cd9 Move attributes in ompss2 clang derivation to passthru 2025-09-12 14:46:59 +02:00
44961c186d Add clsparse 2025-09-12 14:46:59 +02:00
5e2d01b71a aocc: init at 5.0.0 2025-09-12 14:46:57 +02:00
b7e43d5b08 Make lib imports in overlay explicit 2025-09-12 14:46:57 +02:00
30a91fc0ea Add TASYCL 2.1.0 2025-09-12 14:46:57 +02:00
03c351b1bb Add test for icpx with ompss-2 as host compiler 2025-09-12 14:46:57 +02:00
576d8628df Add SYCL test compilation 2025-09-12 14:46:57 +02:00
fbdd024b03 Add alias intelPackages -> intelPackages_2023 2025-09-12 14:46:57 +02:00
ffcb91bd8d Fix strictDeps osu 2025-09-12 14:46:56 +02:00
751d9e7373 Set strictDeps=true on our top level packages 2025-09-12 14:46:56 +02:00
ce3ae340fc Fix strictDeps mercurium 2025-09-12 14:46:56 +02:00
163a409c80 Fix strictDeps tampi 2025-09-12 14:46:56 +02:00
22921b9823 Fix strictDeps sonar 2025-09-12 14:46:56 +02:00
7431fd6057 Fix strictDeps nanos6 2025-09-12 14:46:56 +02:00
b63528025d Fix strictDeps paraver 2025-09-12 14:46:56 +02:00
ae5345ea62 Fix strictDeps ompss2 2025-09-12 14:46:55 +02:00
29b3129517 Fix strictDeps intel 2023 2025-09-12 14:46:55 +02:00
1138e46b73 Fix strictDeps bench6 2025-09-12 14:46:55 +02:00
cf7948e3c9 Fix strictDeps bigotes 2025-09-12 14:46:55 +02:00
9 changed files with 48 additions and 91 deletions

View File

@@ -2,25 +2,42 @@
inputs.nixpkgs.url = "nixpkgs";
outputs = { self, nixpkgs, ...}:
let
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
# For now we only support x86
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
overlays = [ self.overlays.default ];
};
in
overlays = [ self.overlays.default ];
};
in
{
bscOverlay = import ./overlay.nix;
overlays.default = self.bscOverlay;
# propagate nixpkgs lib, so we can do bscpkgs.lib
inherit (nixpkgs) lib;
# full nixpkgs with our overlay applied
legacyPackages.${system} = pkgs;
hydraJobs = {
inherit (self.legacyPackages.${system}.bsc-ci) test pkgs cross;
};
# packages added by our overlay
packages.${system} =
let
inherit (builtins) attrNames removeAttrs;
inherit (nixpkgs.lib) flip filterAttrs getAttrs pipe isDerivation;
in
# extract the names of the packages from the overlay, then get the
# actual packages from the full package set with the overlay applied
pipe (self.overlays.default null { inherit (nixpkgs) lib; } ) [
attrNames
(flip getAttrs pkgs)
(flip removeAttrs [ "bsc" ])
(filterAttrs (_: isDerivation))
];
# propagate nixpkgs lib, so we can do bscpkgs.lib
inherit (nixpkgs) lib;
};
hydraJobs = {
inherit (self.legacyPackages.x86_64-linux.bsc-ci) test;
packages = self.packages.${system};
};
};
}

View File

@@ -2,7 +2,7 @@ final: /* Future last stage */
prev: /* Previous stage */
let
inherit (prev.lib) collect isDerivation mapAttrs filterAttrs;
inherit (prev.lib) collect isDerivation mapAttrs;
inherit (final) callPackage;
@@ -59,21 +59,10 @@ let
stdenvClangOmpss2NodesOmpv = final.stdenv.override { cc = final.clangOmpss2NodesOmpv; allowedRequisites = null; };
tagaspi = callPackage ./pkgs/tagaspi/default.nix { };
tampi = callPackage ./pkgs/tampi/default.nix { };
tacuda = callPackage ./pkgs/tacuda/default.nix { };
taopencl = callPackage ./pkgs/taopencl/default.nix { };
tasycl = callPackage ./pkgs/tasycl/default.nix { };
tasycl-acpp = callPackage ./pkgs/tasycl/default.nix { useIntel = false; };
wxparaver = callPackage ./pkgs/paraver/default.nix { };
# Fix for RISC-V cross compilation
# TODO: remove once we update to 25.11
# https://github.com/NixOS/nixpkgs/commit/d9c222c81435b
prrte = prev.prrte.overrideAttrs (prevAttrs: {
configureFlags = (prevAttrs.configureFlags or []) ++ [
"--with-pmix=${prev.lib.getDev final.pmix}"
"--with-pmix-libdir=${prev.lib.getLib final.pmix}/lib"
];
});
};
in bscPkgs // {
@@ -126,21 +115,15 @@ in bscPkgs // {
};
};
pkgs = filterAttrs (_: isDerivation) bscPkgs;
pkgsList = final.runCommand "ci-pkgs" { }
pkgs = final.runCommand "ci-pkgs" { }
"printf '%s\n' ${toString (collect isDerivation bscPkgs)} > $out";
tests = final.runCommand "ci-tests" { }
"printf '%s\n' ${toString (collect isDerivation final.bsc-ci.test)} > $out";
cross = prev.lib.genAttrs [ "riscv64" ] (target:
final.pkgsCross.${target}.bsc-ci.pkgs
);
all = final.runCommand "ci-all" { }
''
deps="${toString [ final.bsc-ci.pkgsList final.bsc-ci.tests ]}"
deps="${toString [ final.bsc-ci.pkgs final.bsc-ci.tests ]}"
cat $deps
printf '%s\n' $deps > $out
'';

View File

@@ -20,7 +20,6 @@
#, python3Packages
, installShellFiles
, symlinkJoin
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
}:
let
@@ -88,7 +87,7 @@ stdenv.mkDerivation rec {
--enable-sampling
--with-unwind=${libunwind.dev}
--with-xml-prefix=${libxml2.dev}
${lib.optionalString enablePapi "--with-papi=${papi}"}
--with-papi=${papi}
${if (mpi != null) then ''--with-mpi=${mpi}''
else ''--without-mpi''}
--without-dyninst)

View File

@@ -22,11 +22,7 @@ stdenv.mkDerivation rec {
'';
buildInputs = [ libtirpc ];
patches = [
./fix-install.patch
./gcc-14.patch
./fix-cross.patch
];
patches = [ ./fix-install.patch ./gcc-14.patch ];
hardeningDisable = [ "all" ];
@@ -39,8 +35,6 @@ 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

@@ -1,13 +0,0 @@
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

@@ -16,7 +16,6 @@
, 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"
@@ -48,8 +47,6 @@ let
};
source = if (useGit) then git else release;
isCross = stdenv.hostPlatform != stdenv.buildPlatform;
in
stdenv.mkDerivation (source // {
pname = "nanos6";
@@ -74,11 +71,9 @@ 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 isCross "--with-symbol-resolution=ifunc");
(optional enableGlibcxxDebug "CXXFLAGS=-D_GLIBCXX_DEBUG");
postConfigure = lib.optionalString (!enableDebug) ''
# Disable debug
@@ -102,14 +97,16 @@ in
# TODO: papi_version is needed for configure:
# ./configure: line 27378: papi_version: command not found
# This probably breaks cross-compilation
] ++ lib.optionals enablePapi [ papi ];
papi
];
buildInputs = [
boost
numactl
hwloc
papi
ovni
] ++ lib.optionals enablePapi [ papi ];
];
# Create a script that sets NANOS6_HOME
postInstall = ''

View File

@@ -7,7 +7,7 @@
, numactl
, hwloc
, papi
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
, enablePapi ? true
, cacheline ? 64 # bits
, ovni ? null
, useGit ? false

View File

@@ -1,4 +1,6 @@
{ stdenv
, lib
, withCFlags
, fetchFromGitHub
, automake
, autoconf
@@ -6,24 +8,21 @@
, gnumake
, autoreconfHook
, boost
, cudaPackages
, useGit ? false
, gitUrl ? "git@gitlab-internal.bsc.es:task-awareness/tacuda/tacuda.git"
, gitBranch ? "main"
, gitCommit ? "35234f9445e6149a2bd38d119841e2485d6ee05e"
, gitCommit ? ""
}:
let
release_ver = "2.1.0";
release = {
version = release_ver;
release = rec {
version = "2.1.0";
src = fetchFromGitHub {
owner = "bsc-pm";
repo = "tacuda";
rev = release_ver;
hash = "sha256-Cj3EiLVJSLvRv0ydeg7Vp4SpkniEqHkcWF+YOJQ8EcM=";
rev = version;
hash = "";
};
};
@@ -55,14 +54,8 @@ stdenv.mkDerivation {
gnumake
];
patches = [ ./fix_config.patch ];
configureFlags = [ "--with-cuda-include=${cudaPackages.cudatoolkit}/include" ];
buildInputs = [
boost
cudaPackages.libcublas
cudaPackages.cuda_cudart
];
}

View File

@@ -1,13 +0,0 @@
diff --git a/m4/cuda.m4 b/m4/cuda.m4
index 23f5c94..8f9b534 100644
--- a/m4/cuda.m4
+++ b/m4/cuda.m4
@@ -40,7 +40,7 @@ search_libs="cuda cublas cudart"
required_libs=""
m4_foreach([function],
- [cuInit,
+ [
cublasSgemm,
cudaStreamCreate,
cudaLaunchKernel,