Archived
1
0
forked from rarias/bscpkgs

1 Commits

Author SHA1 Message Date
fa9aa6ec1b Add TACUDA package 2025-09-29 11:27:04 +02:00
6 changed files with 110 additions and 51 deletions

View File

@@ -46,6 +46,7 @@ let
stdenvClangOmpss2NodesOmpv = final.stdenv.override { cc = final.clangOmpss2NodesOmpv; allowedRequisites = null; }; stdenvClangOmpss2NodesOmpv = final.stdenv.override { cc = final.clangOmpss2NodesOmpv; allowedRequisites = null; };
tagaspi = callPackage ./pkgs/tagaspi/default.nix { }; tagaspi = callPackage ./pkgs/tagaspi/default.nix { };
tampi = callPackage ./pkgs/tampi/default.nix { }; tampi = callPackage ./pkgs/tampi/default.nix { };
tacuda = callPackage ./pkgs/tacuda/default.nix { };
wxparaver = callPackage ./pkgs/paraver/default.nix { }; wxparaver = callPackage ./pkgs/paraver/default.nix { };
}; };

View File

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

View File

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

View File

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

66
pkgs/tacuda/default.nix Normal file
View File

@@ -0,0 +1,66 @@
{ stdenv
, fetchFromGitHub
, automake
, autoconf
, libtool
, gnumake
, autoreconfHook
, boost
, cudatoolkit
, 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=${cudatoolkit}/lib" "--with-cuda-include=${cudatoolkit}/include" ];
buildInputs = [
boost
];
}

View File

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