forked from rarias/bscpkgs
Compare commits
14 Commits
mega-merge
...
006bc874f3
| Author | SHA1 | Date | |
|---|---|---|---|
|
006bc874f3
|
|||
|
092a0c3243
|
|||
|
3e7fd73ebe
|
|||
|
a2bbb6bfd6
|
|||
|
0831b7fe52
|
|||
|
a3ee080e9e
|
|||
|
a3a0dbcc55
|
|||
|
f53d4aab54
|
|||
|
b08ce80b5a
|
|||
|
57827ae5a4
|
|||
|
30a91fc0ea
|
|||
|
03c351b1bb
|
|||
|
576d8628df
|
|||
|
fbdd024b03
|
18
flake.nix
18
flake.nix
@@ -2,23 +2,17 @@
|
|||||||
inputs.nixpkgs.url = "nixpkgs";
|
inputs.nixpkgs.url = "nixpkgs";
|
||||||
|
|
||||||
outputs = { self, nixpkgs, ...}:
|
outputs = { self, nixpkgs, ...}:
|
||||||
let
|
let
|
||||||
|
pkgs = import nixpkgs {
|
||||||
# For now we only support x86
|
# For now we only support x86
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = import nixpkgs {
|
overlays = [ self.overlays.default ];
|
||||||
inherit system;
|
};
|
||||||
overlays = [ self.overlays.default ];
|
in
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
bscOverlay = import ./overlay.nix;
|
bscOverlay = import ./overlay.nix;
|
||||||
overlays.default = self.bscOverlay;
|
overlays.default = self.bscOverlay;
|
||||||
# full nixpkgs with our overlay applied
|
legacyPackages.x86_64-linux = pkgs;
|
||||||
legacyPackages.${system} = pkgs;
|
|
||||||
|
|
||||||
hydraJobs = {
|
|
||||||
inherit (self.legacyPackages.${system}.bsc-ci) test pkgs cross;
|
|
||||||
};
|
|
||||||
|
|
||||||
# propagate nixpkgs lib, so we can do bscpkgs.lib
|
# propagate nixpkgs lib, so we can do bscpkgs.lib
|
||||||
inherit (nixpkgs) lib;
|
inherit (nixpkgs) lib;
|
||||||
|
|||||||
38
overlay.nix
38
overlay.nix
@@ -1,22 +1,15 @@
|
|||||||
final: /* Future last stage */
|
final: /* Future last stage */
|
||||||
prev: /* Previous stage */
|
prev: /* Previous stage */
|
||||||
|
|
||||||
let
|
with final.lib;
|
||||||
inherit (prev.lib) collect isDerivation mapAttrs filterAttrs;
|
|
||||||
|
|
||||||
inherit (final) callPackage;
|
let
|
||||||
|
callPackage = final.callPackage;
|
||||||
|
|
||||||
mkDeps = name: pkgs: final.runCommand name { }
|
mkDeps = name: pkgs: final.runCommand name { }
|
||||||
"printf '%s\n' ${toString (collect (x: x ? outPath) pkgs)} > $out";
|
"printf '%s\n' ${toString (collect (x: x ? outPath) pkgs)} > $out";
|
||||||
|
|
||||||
mkStrict = drv: if (isDerivation drv && drv ? overrideAttrs && !(drv ? strictDeps))
|
bscPkgs = {
|
||||||
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;
|
|
||||||
bench6 = callPackage ./pkgs/bench6/default.nix { };
|
bench6 = callPackage ./pkgs/bench6/default.nix { };
|
||||||
bigotes = callPackage ./pkgs/bigotes/default.nix { };
|
bigotes = callPackage ./pkgs/bigotes/default.nix { };
|
||||||
clangOmpss2 = callPackage ./pkgs/llvm-ompss2/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; };
|
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; };
|
clangOmpss2NodesOmpv = callPackage ./pkgs/llvm-ompss2/default.nix { ompss2rt = final.nodes; openmp = final.openmpv; };
|
||||||
clangOmpss2Unwrapped = callPackage ./pkgs/llvm-ompss2/clang.nix { };
|
clangOmpss2Unwrapped = callPackage ./pkgs/llvm-ompss2/clang.nix { };
|
||||||
clsparse = callPackage ./pkgs/clsparse/package.nix { };
|
|
||||||
#extrae = callPackage ./pkgs/extrae/default.nix { }; # Broken and outdated
|
#extrae = callPackage ./pkgs/extrae/default.nix { }; # Broken and outdated
|
||||||
gpi-2 = callPackage ./pkgs/gpi-2/default.nix { };
|
gpi-2 = callPackage ./pkgs/gpi-2/default.nix { };
|
||||||
intel-apt = callPackage ./pkgs/intel-oneapi/packages.nix { };
|
intel-apt = callPackage ./pkgs/intel-oneapi/packages.nix { };
|
||||||
@@ -59,21 +51,9 @@ 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 { };
|
|
||||||
taopencl = callPackage ./pkgs/taopencl/default.nix { };
|
|
||||||
tasycl = callPackage ./pkgs/tasycl/default.nix { };
|
tasycl = callPackage ./pkgs/tasycl/default.nix { };
|
||||||
tasycl-acpp = callPackage ./pkgs/tasycl/default.nix { useIntel = false; };
|
tasycl-acpp = callPackage ./pkgs/tasycl/default.nix { useIntel = false; };
|
||||||
wxparaver = callPackage ./pkgs/paraver/default.nix { };
|
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 // {
|
in bscPkgs // {
|
||||||
@@ -126,21 +106,15 @@ in bscPkgs // {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
pkgs = filterAttrs (_: isDerivation) bscPkgs;
|
pkgs = final.runCommand "ci-pkgs" { }
|
||||||
|
|
||||||
pkgsList = final.runCommand "ci-pkgs" { }
|
|
||||||
"printf '%s\n' ${toString (collect isDerivation bscPkgs)} > $out";
|
"printf '%s\n' ${toString (collect isDerivation bscPkgs)} > $out";
|
||||||
|
|
||||||
tests = final.runCommand "ci-tests" { }
|
tests = final.runCommand "ci-tests" { }
|
||||||
"printf '%s\n' ${toString (collect isDerivation final.bsc-ci.test)} > $out";
|
"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" { }
|
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
|
cat $deps
|
||||||
printf '%s\n' $deps > $out
|
printf '%s\n' $deps > $out
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -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++
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
@@ -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";
|
|
||||||
}
|
|
||||||
@@ -27,13 +27,10 @@ stdenv.mkDerivation rec {
|
|||||||
rev = gitCommit;
|
rev = gitCommit;
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
cmake
|
|
||||||
clangOmpss2
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
bigotes
|
bigotes
|
||||||
|
cmake
|
||||||
|
clangOmpss2
|
||||||
openmp
|
openmp
|
||||||
openmpv
|
openmpv
|
||||||
nanos6
|
nanos6
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
, cmake
|
, cmake
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation rec {
|
||||||
pname = "bigotes";
|
pname = "bigotes";
|
||||||
version = "9dce13";
|
version = "9dce13";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
@@ -13,5 +13,5 @@ stdenv.mkDerivation {
|
|||||||
rev = "9dce13446a8da30bea552d569d260d54e0188518";
|
rev = "9dce13446a8da30bea552d569d260d54e0188518";
|
||||||
sha256 = "sha256-ktxM3pXiL8YXSK+/IKWYadijhYXqGoLY6adLk36iigE=";
|
sha256 = "sha256-ktxM3pXiL8YXSK+/IKWYadijhYXqGoLY6adLk36iigE=";
|
||||||
};
|
};
|
||||||
nativeBuildInputs = [ cmake ];
|
buildInputs = [ cmake ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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( )
|
|
||||||
|
|
||||||
@@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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( )
|
|
||||||
|
|
||||||
@@ -20,7 +20,6 @@
|
|||||||
#, python3Packages
|
#, python3Packages
|
||||||
, installShellFiles
|
, installShellFiles
|
||||||
, symlinkJoin
|
, symlinkJoin
|
||||||
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@@ -88,7 +87,7 @@ stdenv.mkDerivation rec {
|
|||||||
--enable-sampling
|
--enable-sampling
|
||||||
--with-unwind=${libunwind.dev}
|
--with-unwind=${libunwind.dev}
|
||||||
--with-xml-prefix=${libxml2.dev}
|
--with-xml-prefix=${libxml2.dev}
|
||||||
${lib.optionalString enablePapi "--with-papi=${papi}"}
|
--with-papi=${papi}
|
||||||
${if (mpi != null) then ''--with-mpi=${mpi}''
|
${if (mpi != null) then ''--with-mpi=${mpi}''
|
||||||
else ''--without-mpi''}
|
else ''--without-mpi''}
|
||||||
--without-dyninst)
|
--without-dyninst)
|
||||||
|
|||||||
@@ -96,17 +96,14 @@ let
|
|||||||
"intel-oneapi-mpi-${version}"
|
"intel-oneapi-mpi-${version}"
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
autoPatchelfHook
|
|
||||||
rsync
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
rsync
|
||||||
libfabric
|
libfabric
|
||||||
zlib
|
zlib
|
||||||
stdenv.cc.cc.lib
|
stdenv.cc.cc.lib
|
||||||
];
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ autoPatchelfHook ];
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
@@ -145,6 +142,7 @@ let
|
|||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
intel-mpi
|
intel-mpi
|
||||||
|
rsync
|
||||||
libffi_3_3
|
libffi_3_3
|
||||||
libelf
|
libelf
|
||||||
libxml2
|
libxml2
|
||||||
@@ -152,10 +150,7 @@ let
|
|||||||
stdenv.cc.cc.lib
|
stdenv.cc.cc.lib
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [ autoPatchelfHook ];
|
||||||
autoPatchelfHook
|
|
||||||
rsync
|
|
||||||
];
|
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
||||||
@@ -185,6 +180,7 @@ let
|
|||||||
buildInputs = [
|
buildInputs = [
|
||||||
intel-mpi
|
intel-mpi
|
||||||
intel-tbb
|
intel-tbb
|
||||||
|
rsync
|
||||||
libffi_3_3
|
libffi_3_3
|
||||||
libelf
|
libelf
|
||||||
libxml2
|
libxml2
|
||||||
@@ -193,10 +189,7 @@ let
|
|||||||
stdenv.cc.cc.lib
|
stdenv.cc.cc.lib
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [ autoPatchelfHook ];
|
||||||
autoPatchelfHook
|
|
||||||
rsync
|
|
||||||
];
|
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
||||||
@@ -249,6 +242,7 @@ let
|
|||||||
buildInputs = [
|
buildInputs = [
|
||||||
intel-mpi
|
intel-mpi
|
||||||
intel-compiler-shared
|
intel-compiler-shared
|
||||||
|
rsync
|
||||||
libffi_3_3
|
libffi_3_3
|
||||||
libelf
|
libelf
|
||||||
libxml2
|
libxml2
|
||||||
@@ -256,10 +250,7 @@ let
|
|||||||
stdenv.cc.cc.lib
|
stdenv.cc.cc.lib
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [ autoPatchelfHook ];
|
||||||
autoPatchelfHook
|
|
||||||
rsync
|
|
||||||
];
|
|
||||||
|
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
|
|
||||||
@@ -334,6 +325,7 @@ let
|
|||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
intel-compiler-shared
|
intel-compiler-shared
|
||||||
|
rsync
|
||||||
libffi_3_3
|
libffi_3_3
|
||||||
libelf
|
libelf
|
||||||
libxml2
|
libxml2
|
||||||
@@ -341,10 +333,7 @@ let
|
|||||||
stdenv.cc.cc.lib
|
stdenv.cc.cc.lib
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [ autoPatchelfHook ];
|
||||||
autoPatchelfHook
|
|
||||||
rsync
|
|
||||||
];
|
|
||||||
autoPatchelfIgnoreMissingDeps = [ "libtbb.so.12" "libtbbmalloc.so.2" "libze_loader.so.1" ];
|
autoPatchelfIgnoreMissingDeps = [ "libtbb.so.12" "libtbbmalloc.so.2" "libze_loader.so.1" ];
|
||||||
|
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
|
|||||||
@@ -43,36 +43,32 @@ let
|
|||||||
|
|
||||||
source = if (useGit) then git else release;
|
source = if (useGit) then git else release;
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "clang-ompss2";
|
pname = "clang-ompss2";
|
||||||
inherit (source) src version;
|
inherit (source) src version;
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
isClang = true;
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
CC = "clang";
|
CC = "clang";
|
||||||
CXX = "clang++";
|
CXX = "clang++";
|
||||||
|
|
||||||
isClang = true;
|
|
||||||
isClangWithOmpss = true;
|
|
||||||
|
|
||||||
inherit gcc zlib;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
isClangWithOmpss = true;
|
||||||
bash
|
|
||||||
cmake
|
nativeBuildInputs = [ zlib ];
|
||||||
elfutils
|
|
||||||
llvmPackages_latest.lld
|
|
||||||
pkg-config
|
|
||||||
python3
|
|
||||||
perl
|
|
||||||
which
|
|
||||||
zlib
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
which
|
||||||
|
bash
|
||||||
|
python3
|
||||||
|
perl
|
||||||
|
cmake
|
||||||
|
llvmPackages_latest.lld
|
||||||
|
elfutils
|
||||||
libffi
|
libffi
|
||||||
|
pkg-config
|
||||||
zlib
|
zlib
|
||||||
gcc.cc.lib # Required for libstdc++.so.6
|
gcc.cc.lib # Required for libstdc++.so.6
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -11,9 +11,9 @@
|
|||||||
, ompss2rt ? null
|
, ompss2rt ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
with lib;
|
||||||
inherit (lib) assertMsg optional optionalString;
|
|
||||||
|
|
||||||
|
let
|
||||||
usingNodesAndOmpv = (openmp.pname == "openmp-v" && ompss2rt.pname == "nodes");
|
usingNodesAndOmpv = (openmp.pname == "openmp-v" && ompss2rt.pname == "nodes");
|
||||||
sameNosv = openmp.nosv == ompss2rt.nosv;
|
sameNosv = openmp.nosv == ompss2rt.nosv;
|
||||||
in
|
in
|
||||||
@@ -38,8 +38,7 @@ let
|
|||||||
targetConfig = stdenv.targetPlatform.config;
|
targetConfig = stdenv.targetPlatform.config;
|
||||||
inherit gcc;
|
inherit gcc;
|
||||||
cc = clangOmpss2Unwrapped;
|
cc = clangOmpss2Unwrapped;
|
||||||
|
gccVersion = with versions; let v = gcc.version; in concatStringsSep "." [(major v) (minor v) (patch v)];
|
||||||
gccVersion = with lib.versions; let v = gcc.version; in concatStringsSep "." [(major v) (minor v) (patch v)];
|
|
||||||
|
|
||||||
extraBuildCommands = ''
|
extraBuildCommands = ''
|
||||||
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
|
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
|
||||||
|
|||||||
@@ -22,11 +22,7 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
buildInputs = [ libtirpc ];
|
buildInputs = [ libtirpc ];
|
||||||
patches = [
|
patches = [ ./fix-install.patch ./gcc-14.patch ];
|
||||||
./fix-install.patch
|
|
||||||
./gcc-14.patch
|
|
||||||
./fix-cross.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
|
|
||||||
@@ -39,8 +35,6 @@ stdenv.mkDerivation rec {
|
|||||||
CFLAGS=-Wno-implicit-int
|
CFLAGS=-Wno-implicit-int
|
||||||
CPPFLAGS=-I${libtirpc.dev}/include/tirpc
|
CPPFLAGS=-I${libtirpc.dev}/include/tirpc
|
||||||
LDFLAGS=-ltirpc
|
LDFLAGS=-ltirpc
|
||||||
CC=${stdenv.cc.targetPrefix}cc
|
|
||||||
AR=${stdenv.cc.targetPrefix}ar
|
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
|
||||||
@@ -32,20 +32,17 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
buildInputs = [
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
bison
|
nanos6
|
||||||
flex
|
gperf
|
||||||
python3
|
python3
|
||||||
gfortran
|
gfortran
|
||||||
pkg-config
|
pkg-config
|
||||||
gperf
|
|
||||||
gcc
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
nanos6
|
|
||||||
sqlite.dev
|
sqlite.dev
|
||||||
|
bison
|
||||||
|
flex
|
||||||
|
gcc
|
||||||
];
|
];
|
||||||
|
|
||||||
patches = [ ./intel.patch ];
|
patches = [ ./intel.patch ];
|
||||||
|
|||||||
@@ -16,7 +16,6 @@
|
|||||||
, jemallocNanos6 ? null
|
, jemallocNanos6 ? null
|
||||||
, cachelineBytes ? 64
|
, cachelineBytes ? 64
|
||||||
, enableGlibcxxDebug ? false
|
, enableGlibcxxDebug ? false
|
||||||
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
|
|
||||||
, useGit ? false
|
, useGit ? false
|
||||||
, gitUrl ? "ssh://git@bscpm04.bsc.es/nanos6/nanos6"
|
, gitUrl ? "ssh://git@bscpm04.bsc.es/nanos6/nanos6"
|
||||||
, gitBranch ? "master"
|
, gitBranch ? "master"
|
||||||
@@ -48,8 +47,6 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
source = if (useGit) then git else release;
|
source = if (useGit) then git else release;
|
||||||
|
|
||||||
isCross = stdenv.hostPlatform != stdenv.buildPlatform;
|
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation (source // {
|
stdenv.mkDerivation (source // {
|
||||||
pname = "nanos6";
|
pname = "nanos6";
|
||||||
@@ -74,11 +71,9 @@ in
|
|||||||
"--disable-all-instrumentations"
|
"--disable-all-instrumentations"
|
||||||
"--enable-ovni-instrumentation"
|
"--enable-ovni-instrumentation"
|
||||||
"--with-ovni=${ovni}"
|
"--with-ovni=${ovni}"
|
||||||
"--with-boost=${boost.dev}"
|
|
||||||
] ++
|
] ++
|
||||||
(optional enableJemalloc "--with-jemalloc=${jemallocNanos6}") ++
|
(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) ''
|
postConfigure = lib.optionalString (!enableDebug) ''
|
||||||
# Disable debug
|
# Disable debug
|
||||||
@@ -93,29 +88,23 @@ in
|
|||||||
dontStrip = enableDebug;
|
dontStrip = enableDebug;
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
buildInputs = [
|
||||||
autoconf
|
autoconf
|
||||||
automake
|
automake
|
||||||
libtool
|
libtool
|
||||||
pkg-config
|
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
|
boost
|
||||||
numactl
|
numactl
|
||||||
hwloc
|
hwloc
|
||||||
|
papi
|
||||||
ovni
|
ovni
|
||||||
] ++ lib.optionals enablePapi [ papi ];
|
];
|
||||||
|
|
||||||
# Create a script that sets NANOS6_HOME
|
# Create a script that sets NANOS6_HOME
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $out/nix-support
|
mkdir -p $out/nix-support
|
||||||
echo "export NANOS6_HOME=$out" >> $out/nix-support/setup-hook
|
echo "export NANOS6_HOME=$out" >> $out/nix-support/setup-hook
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/bsc-pm/nanos6";
|
homepage = "https://github.com/bsc-pm/nanos6";
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
, numactl
|
, numactl
|
||||||
, hwloc
|
, hwloc
|
||||||
, papi
|
, papi
|
||||||
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
|
, enablePapi ? true
|
||||||
, cacheline ? 64 # bits
|
, cacheline ? 64 # bits
|
||||||
, ovni ? null
|
, ovni ? null
|
||||||
, useGit ? false
|
, useGit ? false
|
||||||
|
|||||||
@@ -24,10 +24,9 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
nativeBuildInputs = [ mpiAll ];
|
|
||||||
buildInputs = [ mpiAll ];
|
buildInputs = [ mpiAll ];
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"CC=mpicc"
|
"CC=mpicc"
|
||||||
"CXX=mpicxx"
|
"CXX=mpicxx"
|
||||||
];
|
];
|
||||||
@@ -41,7 +40,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "OSU Micro-Benchmarks";
|
description = "OSU Micro-Benchmarks";
|
||||||
homepage = "http://mvapich.cse.ohio-state.edu/benchmarks/";
|
homepage = http://mvapich.cse.ohio-state.edu/benchmarks/;
|
||||||
maintainers = [ ];
|
maintainers = [ ];
|
||||||
platforms = lib.platforms.all;
|
platforms = lib.platforms.all;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
, useMpi ? (stdenv.buildPlatform.canExecute stdenv.hostPlatform)
|
, useMpi ? (stdenv.buildPlatform.canExecute stdenv.hostPlatform)
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
release = rec {
|
release = rec {
|
||||||
version = "1.12.0";
|
version = "1.12.0";
|
||||||
@@ -43,7 +45,7 @@ in
|
|||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs --build test/
|
patchShebangs --build test/
|
||||||
'';
|
'';
|
||||||
nativeBuildInputs = [ cmake ] ++ lib.optionals (useMpi) [ mpi ];
|
nativeBuildInputs = [ cmake ];
|
||||||
buildInputs = lib.optionals (useMpi) [ mpi ];
|
buildInputs = lib.optionals (useMpi) [ mpi ];
|
||||||
cmakeBuildType = if (enableDebug) then "Debug" else "Release";
|
cmakeBuildType = if (enableDebug) then "Debug" else "Release";
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
|
|||||||
@@ -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 = ''
|
||||||
|
|||||||
@@ -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
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -18,12 +18,8 @@ stdenv.mkDerivation rec {
|
|||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
configureFlags = [ "--with-ovni=${ovni}" ];
|
configureFlags = [ "--with-ovni=${ovni}" ];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
autoreconfHook
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
autoreconfHook
|
||||||
ovni
|
ovni
|
||||||
mpi
|
mpi
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -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
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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,
|
|
||||||
@@ -8,6 +8,7 @@
|
|||||||
, gnumake
|
, gnumake
|
||||||
, boost
|
, boost
|
||||||
, mpi
|
, mpi
|
||||||
|
, gcc
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, enableOvni ? true
|
, enableOvni ? true
|
||||||
, ovni ? null
|
, ovni ? null
|
||||||
@@ -40,23 +41,20 @@ let
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
source = if (useGit) then git else release;
|
source = if (useGit) then git else release;
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "tampi";
|
pname = "tampi";
|
||||||
inherit (source) src version;
|
inherit (source) src version;
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
autoconf
|
|
||||||
automake
|
|
||||||
autoreconfHook
|
|
||||||
gnumake
|
|
||||||
libtool
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
autoreconfHook
|
||||||
|
automake
|
||||||
|
autoconf
|
||||||
|
libtool
|
||||||
|
gnumake
|
||||||
boost
|
boost
|
||||||
mpi
|
mpi
|
||||||
|
gcc
|
||||||
] ++ optional (enableOvni) ovni;
|
] ++ optional (enableOvni) ovni;
|
||||||
configureFlags = optional (enableOvni) "--with-ovni=${ovni}";
|
configureFlags = optional (enableOvni) "--with-ovni=${ovni}";
|
||||||
dontDisableStatic = true;
|
dontDisableStatic = true;
|
||||||
|
|||||||
@@ -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" ];
|
|
||||||
})
|
|
||||||
Reference in New Issue
Block a user