forked from rarias/jungle
Compare commits
1 Commits
add-privat
...
39b65d8f96
| Author | SHA1 | Date | |
|---|---|---|---|
|
39b65d8f96
|
28
overlay.nix
28
overlay.nix
@@ -7,33 +7,6 @@ let
|
|||||||
callPackage = final.callPackage;
|
callPackage = final.callPackage;
|
||||||
|
|
||||||
bscPkgs = {
|
bscPkgs = {
|
||||||
|
|
||||||
# override stdenv to add a sentinel to know if a derivation comes
|
|
||||||
# from unfree sources.
|
|
||||||
stdenv = prev.stdenv // {
|
|
||||||
mkDerivation =
|
|
||||||
args:
|
|
||||||
let
|
|
||||||
originalDrv = prev.stdenv.mkDerivation args;
|
|
||||||
checkLicense = l: if builtins.isAttrs l then !(l.free or true) else false;
|
|
||||||
|
|
||||||
licenses = if builtins.isList args.meta.license then args.meta.license else [ args.meta.license ];
|
|
||||||
|
|
||||||
hasUnfreeLicense =
|
|
||||||
if args ? meta && args.meta ? license then builtins.any checkLicense licenses else false;
|
|
||||||
in
|
|
||||||
if hasUnfreeLicense then
|
|
||||||
builtins.traceVerbose "adding nix-support/private to ${originalDrv.name or originalDrv.pname}" (
|
|
||||||
originalDrv.overrideAttrs (old: {
|
|
||||||
postInstall = (old.postInstall or "") + ''
|
|
||||||
mkdir -p $out/nix-support
|
|
||||||
touch $out/nix-support/private
|
|
||||||
'';
|
|
||||||
}))
|
|
||||||
else
|
|
||||||
originalDrv;
|
|
||||||
};
|
|
||||||
|
|
||||||
agenix = prev.callPackage ./pkgs/agenix/default.nix { };
|
agenix = prev.callPackage ./pkgs/agenix/default.nix { };
|
||||||
amd-uprof = prev.callPackage ./pkgs/amd-uprof/default.nix { };
|
amd-uprof = prev.callPackage ./pkgs/amd-uprof/default.nix { };
|
||||||
bench6 = callPackage ./pkgs/bench6/default.nix { };
|
bench6 = callPackage ./pkgs/bench6/default.nix { };
|
||||||
@@ -84,6 +57,7 @@ let
|
|||||||
stdenvClangOmpss2Nanos6 = final.stdenv.override { cc = final.clangOmpss2Nanos6; allowedRequisites = null; };
|
stdenvClangOmpss2Nanos6 = final.stdenv.override { cc = final.clangOmpss2Nanos6; allowedRequisites = null; };
|
||||||
stdenvClangOmpss2Nodes = final.stdenv.override { cc = final.clangOmpss2Nodes; allowedRequisites = null; };
|
stdenvClangOmpss2Nodes = final.stdenv.override { cc = final.clangOmpss2Nodes; allowedRequisites = null; };
|
||||||
stdenvClangOmpss2NodesOmpv = final.stdenv.override { cc = final.clangOmpss2NodesOmpv; allowedRequisites = null; };
|
stdenvClangOmpss2NodesOmpv = final.stdenv.override { cc = final.clangOmpss2NodesOmpv; allowedRequisites = null; };
|
||||||
|
tacuda = callPackage ./pkgs/tacuda/default.nix { };
|
||||||
tagaspi = callPackage ./pkgs/tagaspi/default.nix { };
|
tagaspi = callPackage ./pkgs/tagaspi/default.nix { };
|
||||||
tampi = callPackage ./pkgs/tampi/default.nix { };
|
tampi = callPackage ./pkgs/tampi/default.nix { };
|
||||||
upc-qaire-exporter = prev.callPackage ./pkgs/upc-qaire-exporter/default.nix { };
|
upc-qaire-exporter = prev.callPackage ./pkgs/upc-qaire-exporter/default.nix { };
|
||||||
|
|||||||
@@ -50,15 +50,11 @@ let
|
|||||||
];
|
];
|
||||||
phases = [ "installPhase" ];
|
phases = [ "installPhase" ];
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
awk -F': ' '\
|
awk -F': ' '\
|
||||||
BEGIN { print "[ {" } \
|
BEGIN { print "[ {" } \
|
||||||
NR>1 && /^Package: / { print "} {"; } \
|
NR>1 && /^Package: / { print "} {"; } \
|
||||||
/: / { printf "%s = \"%s\";\n", $1, $2 } \
|
/: / { printf "%s = \"%s\";\n", $1, $2 } \
|
||||||
END { print "} ]" }' $srcs > $out
|
END { print "} ]" }' $srcs > $out
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -92,15 +88,11 @@ let
|
|||||||
nativeBuildInputs = [ dpkg ];
|
nativeBuildInputs = [ dpkg ];
|
||||||
phases = [ "installPhase" ];
|
phases = [ "installPhase" ];
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
for src in $srcs; do
|
for src in $srcs; do
|
||||||
echo "unpacking $src"
|
echo "unpacking $src"
|
||||||
dpkg -x $src $out
|
dpkg -x $src $out
|
||||||
done
|
done
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
inherit meta;
|
inherit meta;
|
||||||
@@ -139,8 +131,6 @@ let
|
|||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
mkdir -p $out/{bin,etc,lib,include}
|
mkdir -p $out/{bin,etc,lib,include}
|
||||||
mkdir -p $out/share/man
|
mkdir -p $out/share/man
|
||||||
|
|
||||||
@@ -157,8 +147,6 @@ let
|
|||||||
# Broken due missing libze_loader.so.1
|
# Broken due missing libze_loader.so.1
|
||||||
rsync -a --exclude IMB-MPI1-GPU bin/ $out/bin/
|
rsync -a --exclude IMB-MPI1-GPU bin/ $out/bin/
|
||||||
popd
|
popd
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
'';
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
for i in $out/bin/mpi* ; do
|
for i in $out/bin/mpi* ; do
|
||||||
@@ -197,8 +185,6 @@ let
|
|||||||
autoPatchelfIgnoreMissingDeps = [ "libhwloc.so.5" ];
|
autoPatchelfIgnoreMissingDeps = [ "libhwloc.so.5" ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
mkdir -p $out/lib
|
mkdir -p $out/lib
|
||||||
|
|
||||||
cd $src
|
cd $src
|
||||||
@@ -207,8 +193,6 @@ let
|
|||||||
# Libraries
|
# Libraries
|
||||||
rsync -a lib/intel64/gcc4.8/ $out/lib/
|
rsync -a lib/intel64/gcc4.8/ $out/lib/
|
||||||
popd
|
popd
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
inherit meta;
|
inherit meta;
|
||||||
@@ -244,8 +228,6 @@ let
|
|||||||
autoPatchelfIgnoreMissingDeps = [ "libsycl.so.6" ];
|
autoPatchelfIgnoreMissingDeps = [ "libsycl.so.6" ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
mkdir -p $out/{bin,lib,include}
|
mkdir -p $out/{bin,lib,include}
|
||||||
mkdir -p $out/share/man
|
mkdir -p $out/share/man
|
||||||
|
|
||||||
@@ -270,8 +252,6 @@ let
|
|||||||
rsync -a compiler/include/ $out/include/
|
rsync -a compiler/include/ $out/include/
|
||||||
popd
|
popd
|
||||||
popd
|
popd
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
inherit meta;
|
inherit meta;
|
||||||
@@ -313,8 +293,6 @@ let
|
|||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
mkdir -p $out/{bin,lib,include}
|
mkdir -p $out/{bin,lib,include}
|
||||||
mkdir -p $out/share/man
|
mkdir -p $out/share/man
|
||||||
|
|
||||||
@@ -340,10 +318,7 @@ let
|
|||||||
|
|
||||||
# Fix lib_lin
|
# Fix lib_lin
|
||||||
ln -s $out/lib $out/lib_lin
|
ln -s $out/lib $out/lib_lin
|
||||||
|
|
||||||
popd
|
popd
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
inherit meta;
|
inherit meta;
|
||||||
@@ -406,8 +381,6 @@ let
|
|||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
mkdir -p $out/{bin,lib}
|
mkdir -p $out/{bin,lib}
|
||||||
mkdir -p $out/share/man
|
mkdir -p $out/share/man
|
||||||
|
|
||||||
@@ -435,8 +408,6 @@ let
|
|||||||
# Manuals
|
# Manuals
|
||||||
rsync -a documentation/en/man/common/ $out/share/man/
|
rsync -a documentation/en/man/common/ $out/share/man/
|
||||||
popd
|
popd
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
inherit meta;
|
inherit meta;
|
||||||
|
|||||||
68
pkgs/tacuda/default.nix
Normal file
68
pkgs/tacuda/default.nix
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
{ 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
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
||||||
13
pkgs/tacuda/fix_config.patch
Normal file
13
pkgs/tacuda/fix_config.patch
Normal 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,
|
||||||
Reference in New Issue
Block a user