Archived
1
0
forked from rarias/bscpkgs

14 Commits

28 changed files with 100 additions and 542 deletions

View File

@@ -2,23 +2,17 @@
inputs.nixpkgs.url = "nixpkgs";
outputs = { self, nixpkgs, ...}:
let
let
pkgs = import nixpkgs {
# 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;
# full nixpkgs with our overlay applied
legacyPackages.${system} = pkgs;
hydraJobs = {
inherit (self.legacyPackages.${system}.bsc-ci) test pkgs cross;
};
legacyPackages.x86_64-linux = pkgs;
# propagate nixpkgs lib, so we can do bscpkgs.lib
inherit (nixpkgs) lib;

View File

@@ -1,22 +1,15 @@
final: /* Future last stage */
prev: /* Previous stage */
let
inherit (prev.lib) collect isDerivation mapAttrs filterAttrs;
with final.lib;
inherit (final) callPackage;
let
callPackage = final.callPackage;
mkDeps = name: pkgs: final.runCommand name { }
"printf '%s\n' ${toString (collect (x: x ? outPath) pkgs)} > $out";
mkStrict = drv: if (isDerivation drv && drv ? overrideAttrs && !(drv ? strictDeps))
then drv.overrideAttrs { strictDeps = true; }
else drv;
bscPkgs = mapAttrs (_: mkStrict) {
aoccUnwrapped = callPackage ./pkgs/aocc/unwrapped.nix { };
aocc = callPackage ./pkgs/aocc/default.nix { };
stdenvAocc = final.overrideCC final.stdenv final.aocc;
bscPkgs = {
bench6 = callPackage ./pkgs/bench6/default.nix { };
bigotes = callPackage ./pkgs/bigotes/default.nix { };
clangOmpss2 = callPackage ./pkgs/llvm-ompss2/default.nix { };
@@ -24,7 +17,6 @@ let
clangOmpss2Nodes = callPackage ./pkgs/llvm-ompss2/default.nix { ompss2rt = final.nodes; openmp = final.openmp; };
clangOmpss2NodesOmpv = callPackage ./pkgs/llvm-ompss2/default.nix { ompss2rt = final.nodes; openmp = final.openmpv; };
clangOmpss2Unwrapped = callPackage ./pkgs/llvm-ompss2/clang.nix { };
clsparse = callPackage ./pkgs/clsparse/package.nix { };
#extrae = callPackage ./pkgs/extrae/default.nix { }; # Broken and outdated
gpi-2 = callPackage ./pkgs/gpi-2/default.nix { };
intel-apt = callPackage ./pkgs/intel-oneapi/packages.nix { };
@@ -59,21 +51,9 @@ 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 +106,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

@@ -1,16 +0,0 @@
{ wrapCCWith
, aoccUnwrapped
}:
let
cc = aoccUnwrapped;
in wrapCCWith {
inherit cc;
extraBuildCommands = ''
echo "-isystem ${cc}/include" >> $out/nix-support/cc-cflags
wrap aocc $wrapper $ccPath/clang
wrap aocc++ $wrapper $ccPath/clang++
'';
}

View File

@@ -1,51 +0,0 @@
{ lib
, fetchurl
, stdenv
, autoPatchelfHook
, rocmPackages
, zlib
, libffi
, elfutils
}:
let
# in newer nixpkgs the runtime is hsakmt
rocmRuntime =
if rocmPackages ? hsakmt then
rocmPackages.hsakmt
else
rocmPackages.rocm-runtime;
in
stdenv.mkDerivation {
pname = "aocc-compiler";
version = "5.0.0";
src = fetchurl {
url = "https://download.amd.com/developer/eula/aocc/aocc-5-0/aocc-compiler-5.0.0.tar";
sha256 = "sha256-lm+sLSx1np3m6WnBCtp6ezBsET9/HgfqN2gp7IY4Dao=";
};
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [
elfutils
zlib
rocmRuntime
stdenv.cc.cc.lib
];
phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
dontStrip = true;
installPhase = ''
mkdir -p $out
cp -a . $out/
ln -s ${lib.getLib libffi}/lib/libffi.so $out/lib/libffi.so.6
'';
passthru = {
inherit rocmRuntime;
isClang = true; # Needed for wrapCCWith
};
meta.mainProgram = "clang";
}

View File

@@ -27,13 +27,10 @@ stdenv.mkDerivation rec {
rev = gitCommit;
};
nativeBuildInputs = [
cmake
clangOmpss2
];
buildInputs = [
bigotes
cmake
clangOmpss2
openmp
openmpv
nanos6

View File

@@ -4,7 +4,7 @@
, cmake
}:
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "bigotes";
version = "9dce13";
src = fetchFromGitHub {
@@ -13,5 +13,5 @@ stdenv.mkDerivation {
rev = "9dce13446a8da30bea552d569d260d54e0188518";
sha256 = "sha256-ktxM3pXiL8YXSK+/IKWYadijhYXqGoLY6adLk36iigE=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ cmake ];
}

View File

@@ -1,53 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3d139ed..15ffc14 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -176,32 +179,22 @@ if( BUILD_clSPARSE OR BUILD_SAMPLES )
if( BUILD_clSPARSE )
message( STATUS "Setting up clSPARSE external..." )
- if ( BUILD_SAMPLES )
- # If the user elects to build samples, then we must build and install clSPARSE
- # The install location is set as a subdirectory of the SuperBuild
- ExternalProject_Add(
- clSPARSE
- DEPENDS ${clSPARSE.Dependencies}
- SOURCE_DIR ${PROJECT_SOURCE_DIR}/src
- BINARY_DIR clSPARSE-build
- INSTALL_DIR clSPARSE-package
- CMAKE_ARGS ${clSPARSE.Cmake.Args} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
- -DBUILD_CLVERSION=${BUILD_CLVERSION} -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
- -DUSE_SYSTEM_CL2HPP:BOOL=${USE_SYSTEM_CL2HPP}
- )
- else( )
- # If the user does not want to build samples, then build clSPARSE but don't automatically
- # install it
- ExternalProject_Add(
- clSPARSE
- DEPENDS ${clSPARSE.Dependencies}
- SOURCE_DIR ${PROJECT_SOURCE_DIR}/src
- BINARY_DIR clSPARSE-build
- CMAKE_ARGS ${clSPARSE.Cmake.Args} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
- -DBUILD_CLVERSION=${BUILD_CLVERSION} -DUSE_SYSTEM_CL2HPP:BOOL=${USE_SYSTEM_CL2HPP}
- INSTALL_COMMAND ""
- )
- endif( )
+ ExternalProject_Add(
+ clSPARSE
+ DEPENDS ${clSPARSE.Dependencies}
+ SOURCE_DIR ${PROJECT_SOURCE_DIR}/src
+ BINARY_DIR clSPARSE-build
+ INSTALL_DIR clSPARSE-package
+ CMAKE_ARGS ${clSPARSE.Cmake.Args} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+ -DBUILD_CLVERSION=${BUILD_CLVERSION} -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
+ -DUSE_SYSTEM_CL2HPP:BOOL=${USE_SYSTEM_CL2HPP}
+ )
+
+ install(
+ DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/clSPARSE-package/
+ DESTINATION ${CMAKE_INSTALL_PREFIX}
+ USE_SOURCE_PERMISSIONS
+ )
endif( )

View File

@@ -1,70 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
boost,
gtest,
ocl-icd,
opencl-headers,
opencl-clhpp,
cmake,
}:
stdenv.mkDerivation rec {
pname = "clsparse";
version = "0.10.2.0";
src = fetchFromGitHub {
owner = "clMathLibraries";
repo = "clSPARSE";
rev = "v${version}";
hash = "sha256-jIauCtUyPEIx7pFI3qH0WagV+t/fvro0OsGgONBJm0s=";
};
patches = [
./pass_include_dir.patch
./install_target.patch
(fetchpatch {
name = "remove-gettypecode.patch";
url = "https://patch-diff.githubusercontent.com/raw/clMathLibraries/clSPARSE/pull/210.patch";
hash = "sha256-9Q+tk7RMdWE4MCnbvWlsI0MIgBYKIWR2jIC1bICtIjU=";
})
];
postInstallPhase = ''
mv $installDir/lib64 lib
ln -s lib/ lib64
'';
env.NIX_CFLAGS_COMPILE = "-std=c++17";
nativeBuildInputs = [
cmake
];
buildInputs = [
boost
ocl-icd
opencl-headers
opencl-clhpp
];
cmakeFlags = [
"-DBUILD_Boost=OFF"
"-DBUILD_gMock=OFF"
"-DBUILD_MTX=OFF"
"-DBUILD_SAMPLES=OFF"
"-DUSE_SYSTEM_CL2HPP=ON"
"-DGMOCK_ROOT=${gtest}"
"-DGTEST_INCLUDE_DIR=${gtest.src}/googletest/include"
];
meta = {
description = "A software library containing Sparse functions written in OpenCL";
homepage = "https://github.com/clMathLibraries/clSPARSE";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ leixb ];
platforms = lib.platforms.all;
};
}

View File

@@ -1,14 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3d139ed..b7ea2d3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -132,6 +132,9 @@ else( )
set( GMOCK_ROOT "$ENV{GMOCK_ROOT}" )
endif( )
list( APPEND clSPARSE.Cmake.Args -DGTEST_ROOT=${GMOCK_ROOT} )
+ if( DEFINED GTEST_INCLUDE_DIR )
+ list( APPEND clSPARSE.Cmake.Args -DGTEST_INCLUDE_DIR=${GTEST_INCLUDE_DIR} )
+ endif( )
endif( )
endif( )

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

@@ -96,17 +96,14 @@ let
"intel-oneapi-mpi-${version}"
];
nativeBuildInputs = [
autoPatchelfHook
rsync
];
buildInputs = [
rsync
libfabric
zlib
stdenv.cc.cc.lib
];
nativeBuildInputs = [ autoPatchelfHook ];
phases = [ "installPhase" "fixupPhase" ];
dontStrip = true;
installPhase = ''
@@ -145,6 +142,7 @@ let
buildInputs = [
intel-mpi
rsync
libffi_3_3
libelf
libxml2
@@ -152,10 +150,7 @@ let
stdenv.cc.cc.lib
];
nativeBuildInputs = [
autoPatchelfHook
rsync
];
nativeBuildInputs = [ autoPatchelfHook ];
phases = [ "installPhase" "fixupPhase" ];
dontStrip = true;
@@ -185,6 +180,7 @@ let
buildInputs = [
intel-mpi
intel-tbb
rsync
libffi_3_3
libelf
libxml2
@@ -193,10 +189,7 @@ let
stdenv.cc.cc.lib
];
nativeBuildInputs = [
autoPatchelfHook
rsync
];
nativeBuildInputs = [ autoPatchelfHook ];
phases = [ "installPhase" "fixupPhase" ];
dontStrip = true;
@@ -249,6 +242,7 @@ let
buildInputs = [
intel-mpi
intel-compiler-shared
rsync
libffi_3_3
libelf
libxml2
@@ -256,10 +250,7 @@ let
stdenv.cc.cc.lib
];
nativeBuildInputs = [
autoPatchelfHook
rsync
];
nativeBuildInputs = [ autoPatchelfHook ];
phases = [ "installPhase" "fixupPhase" ];
@@ -334,6 +325,7 @@ let
buildInputs = [
intel-compiler-shared
rsync
libffi_3_3
libelf
libxml2
@@ -341,10 +333,7 @@ let
stdenv.cc.cc.lib
];
nativeBuildInputs = [
autoPatchelfHook
rsync
];
nativeBuildInputs = [ autoPatchelfHook ];
autoPatchelfIgnoreMissingDeps = [ "libtbb.so.12" "libtbbmalloc.so.2" "libze_loader.so.1" ];
phases = [ "installPhase" "fixupPhase" ];

View File

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

View File

@@ -11,9 +11,9 @@
, ompss2rt ? null
}:
let
inherit (lib) assertMsg optional optionalString;
with lib;
let
usingNodesAndOmpv = (openmp.pname == "openmp-v" && ompss2rt.pname == "nodes");
sameNosv = openmp.nosv == ompss2rt.nosv;
in
@@ -38,8 +38,7 @@ let
targetConfig = stdenv.targetPlatform.config;
inherit gcc;
cc = clangOmpss2Unwrapped;
gccVersion = with lib.versions; let v = gcc.version; in concatStringsSep "." [(major v) (minor v) (patch v)];
gccVersion = with versions; let v = gcc.version; in concatStringsSep "." [(major v) (minor v) (patch v)];
extraBuildCommands = ''
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags

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

@@ -32,20 +32,17 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
nativeBuildInputs = [
buildInputs = [
autoreconfHook
bison
flex
nanos6
gperf
python3
gfortran
pkg-config
gperf
gcc
];
buildInputs = [
nanos6
sqlite.dev
bison
flex
gcc
];
patches = [ ./intel.patch ];

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
@@ -93,29 +88,23 @@ in
dontStrip = enableDebug;
separateDebugInfo = true;
nativeBuildInputs = [
buildInputs = [
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";

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

@@ -24,10 +24,9 @@ stdenv.mkDerivation rec {
doCheck = true;
enableParallelBuilding = true;
nativeBuildInputs = [ mpiAll ];
buildInputs = [ mpiAll ];
hardeningDisable = [ "all" ];
configureFlags = [
configureFlags = [
"CC=mpicc"
"CXX=mpicxx"
];
@@ -41,7 +40,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,6 +13,8 @@
, useMpi ? (stdenv.buildPlatform.canExecute stdenv.hostPlatform)
}:
with lib;
let
release = rec {
version = "1.12.0";
@@ -43,7 +45,7 @@ in
postPatch = ''
patchShebangs --build test/
'';
nativeBuildInputs = [ cmake ] ++ lib.optionals (useMpi) [ mpi ];
nativeBuildInputs = [ cmake ];
buildInputs = lib.optionals (useMpi) [ mpi ];
cmakeBuildType = if (enableDebug) then "Debug" else "Release";
cmakeFlags = [

View File

@@ -1,4 +1,5 @@
{ stdenv
{
stdenv
, fetchFromGitHub
, autoreconfHook
, boost
@@ -11,17 +12,14 @@
, openssl
, glibcLocales
, wrapGAppsHook
, enableDebug ? false
}:
let
wx = wxGTK32;
version = "4.12.0";
in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "wxparaver";
inherit version;
version = "4.12.0";
src = fetchFromGitHub {
owner = "bsc-performance-tools";
@@ -38,26 +36,21 @@ stdenv.mkDerivation {
./fix-boost-87.patch
];
hardeningDisable = [ "all" ];
# Fix the PARAVER_HOME variable
postPatch = ''
sed -i 's@^PARAVER_HOME=.*$@PARAVER_HOME='$out'@g' docs/wxparaver
sed -i '1aexport LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"' docs/wxparaver
'';
dontStrip = true;
enableParallelBuilding = true;
hardeningDisable = [ "all" ];
dontStrip = true;
env =
let
flags = if enableDebug then "-ggdb -Og" else "-O3";
in
{
CFLAGS = flags;
CXXFLAGS = flags;
};
preConfigure = ''
export CFLAGS="-O3"
export CXXFLAGS="-O3"
'';
configureFlags = [
"--with-boost=${boost}"
@@ -67,19 +60,19 @@ stdenv.mkDerivation {
];
nativeBuildInputs = [
autoconf
automake
autoreconfHook
wrapGAppsHook
];
buildInputs = [
autoreconfHook
boost
libxml2
libxml2.dev
xml2
wx
autoconf
automake
paraverKernel
openssl
openssl.dev
];
postInstall = ''

View File

@@ -1,4 +1,5 @@
{ stdenv
{
stdenv
, fetchFromGitHub
, autoreconfHook
, boost
@@ -8,16 +9,11 @@
, automake
, pkg-config
, zlib
, enableDebug ? false
}:
let
version = "4.12.0";
in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "paraver-kernel";
inherit version;
version = "4.12.0";
src = fetchFromGitHub {
owner = "bsc-performance-tools";
@@ -38,31 +34,24 @@ stdenv.mkDerivation {
dontStrip = true;
env =
let
flags = "-DPARALLEL_ENABLED " + (if enableDebug then "-ggdb -Og" else "-O3");
in
{
CFLAGS = flags;
CXXFLAGS = flags;
};
preConfigure = ''
export CFLAGS="-O3 -DPARALLEL_ENABLED"
export CXXFLAGS="-O3 -DPARALLEL_ENABLED"
'';
configureFlags = [
"--with-boost=${boost}"
"--enable-openmp"
];
nativeBuildInputs = [
autoreconfHook
autoconf
automake
pkg-config
];
buildInputs = [
autoreconfHook
boost
libxml2.dev
xml2
autoconf
automake
pkg-config
zlib
];
}

View File

@@ -61,16 +61,13 @@ 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

@@ -18,12 +18,8 @@ stdenv.mkDerivation rec {
hardeningDisable = [ "all" ];
dontStrip = true;
configureFlags = [ "--with-ovni=${ovni}" ];
nativeBuildInputs = [
autoreconfHook
];
buildInputs = [
autoreconfHook
ovni
mpi
];

View File

@@ -1,68 +0,0 @@
{ stdenv
, fetchFromGitHub
, automake
, autoconf
, libtool
, gnumake
, autoreconfHook
, boost
, cudaPackages
, useGit ? false
, gitUrl ? "git@gitlab-internal.bsc.es:task-awareness/tacuda/tacuda.git"
, gitBranch ? "main"
, gitCommit ? "35234f9445e6149a2bd38d119841e2485d6ee05e"
}:
let
release_ver = "2.1.0";
release = {
version = release_ver;
src = fetchFromGitHub {
owner = "bsc-pm";
repo = "tacuda";
rev = release_ver;
hash = "sha256-Cj3EiLVJSLvRv0ydeg7Vp4SpkniEqHkcWF+YOJQ8EcM=";
};
};
git = rec {
version = src.shortRev;
src = builtins.fetchGit {
url = gitUrl;
ref = gitBranch;
rev = gitCommit;
};
};
source = if (useGit) then git else release;
in
stdenv.mkDerivation {
pname = "tacuda";
inherit (source) src version;
enableParallelBuilding = true;
separateDebugInfo = true;
nativeBuildInputs = [
autoreconfHook
automake
autoconf
libtool
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,

View File

@@ -8,6 +8,7 @@
, gnumake
, boost
, mpi
, gcc
, autoreconfHook
, enableOvni ? true
, ovni ? null
@@ -40,23 +41,20 @@ let
};
};
source = if (useGit) then git else release;
in stdenv.mkDerivation {
in stdenv.mkDerivation rec {
pname = "tampi";
inherit (source) src version;
enableParallelBuilding = true;
separateDebugInfo = true;
nativeBuildInputs = [
autoconf
automake
autoreconfHook
gnumake
libtool
];
buildInputs = [
autoreconfHook
automake
autoconf
libtool
gnumake
boost
mpi
gcc
] ++ optional (enableOvni) ovni;
configureFlags = optional (enableOvni) "--with-ovni=${ovni}";
dontDisableStatic = true;

View File

@@ -1,46 +0,0 @@
{
stdenv
, automake
, autoconf
, libtool
, gnumake
, boost
, mpi
, gcc
, autoreconfHook
, ocl-icd
, opencl-headers
}:
stdenv.mkDerivation (finalAttrs: {
pname = "taopencl";
version = finalAttrs.src.shortRev;
src = builtins.fetchGit {
url = "git@gitlab-internal.bsc.es:task-awareness/taopencl/taopencl.git";
ref = "master";
rev = "c3b7b32ae8fa4af7ceff598532a881f8f1490aaf";
};
enableParallelBuilding = true;
separateDebugInfo = true;
configureFlags = [
"--with-opencl-lib=${ocl-icd}/lib"
"--with-opencl-include=${opencl-headers}/include"
];
buildInputs = [
autoreconfHook
automake
autoconf
libtool
gnumake
boost
mpi
gcc
];
dontDisableStatic = true;
hardeningDisable = [ "all" ];
})