Compare commits

..

7 Commits

4 changed files with 49 additions and 44 deletions

View File

@@ -61,7 +61,6 @@ let
stdenvClangOmpss2Nanos6 = final.stdenv.override { cc = final.clangOmpss2Nanos6; allowedRequisites = null; };
stdenvClangOmpss2Nodes = final.stdenv.override { cc = final.clangOmpss2Nodes; allowedRequisites = null; };
stdenvClangOmpss2NodesOmpv = final.stdenv.override { cc = final.clangOmpss2NodesOmpv; allowedRequisites = null; };
tacuda = callPackage ./pkgs/tacuda/default.nix { };
tagaspi = callPackage ./pkgs/tagaspi/default.nix { };
tampi = callPackage ./pkgs/tampi/default.nix { };
upc-qaire-exporter = prev.callPackage ./pkgs/upc-qaire-exporter/default.nix { };
@@ -69,6 +68,12 @@ let
wxparaver = callPackage ./pkgs/paraver/default.nix { };
gromacs = callPackage ./pkgs/gromacs/default.nix { enableSYCL = true; };
_cuda = prev._cuda.extend (_: _prev: final.lib.recursiveUpdate _prev {
extensions = _prev.extensions ++ [(finalAttrs: _: {
tacuda = finalAttrs.callPackage ./pkgs/tacuda/default.nix { };
})];
});
};
tests = rec {

View File

@@ -14,6 +14,8 @@
python3,
writableTmpDirAsHomeHook,
writeText,
runCommand,
opencl-cts,
fetchFromGitHub,
@@ -201,12 +203,38 @@ stdenv.mkDerivation (finalAttrs: {
''
);
passthru = {
updateScript = nix-update-script { };
git = finalAttrs.finalPackage.override { useGit = true; };
test = finalAttrs.finalPackage.overrideAttrs { doCheck = true; };
withICD = enableICD;
};
passthru =
let
self = finalAttrs.finalPackage;
in
{
updateScript = nix-update-script { };
git = self.override { useGit = true; };
withICD = enableICD;
test = {
# Run builtin tests (causes a rebuild)
self = self.overrideAttrs { doCheck = true; };
# Run basic test from Khronos OpenCL Conformance Test Suite
# WARN: despite its name, test_basic is very exhaustive, and can take more
# than 1 hour in a marenostrum5 node.
cts =
assert enableICD;
lib.genAttrs [ "api" "basic" "c11_atomics" "printf" "svm" ] (
name:
runCommand "pocl-cts-test_${name}" {
nativeBuildInputs = [ self ];
requiredSystemFeatures = [ "sys-devices" ];
env = {
POCL_DEBUG = "error,warn";
POCL_CACHE_DIR = "/build/pocl_cache";
};
} "${opencl-cts}/bin/Release/test_${name} | tee $out"
);
};
};
env.HWLOC_SYNTHETIC = lib.optionalDrvAttr enableHWLOC "node:1 core:1 pu:1";

View File

@@ -1,5 +1,5 @@
{
stdenv,
backendStdenv,
fetchFromGitHub,
automake,
autoconf,
@@ -7,7 +7,9 @@
gnumake,
autoreconfHook,
boost,
cudaPackages,
cudatoolkit,
libcublas,
cuda_cudart,
useGit ? false,
gitUrl ? "git@gitlab-internal.bsc.es:task-awareness/tacuda/tacuda.git",
@@ -41,12 +43,13 @@ let
in
stdenv.mkDerivation {
backendStdenv.mkDerivation {
pname = "tacuda";
inherit (source) src version;
enableParallelBuilding = true;
separateDebugInfo = true;
strictDeps = true;
nativeBuildInputs = [
autoreconfHook
@@ -58,12 +61,12 @@ stdenv.mkDerivation {
patches = [ ./fix_config.patch ];
configureFlags = [ "--with-cuda-include=${cudaPackages.cudatoolkit}/include" ];
configureFlags = [ "--with-cuda-include=${cudatoolkit}/include" ];
buildInputs = [
boost
cudaPackages.libcublas
cudaPackages.cuda_cudart
libcublas
cuda_cudart
];
}

View File

@@ -1,31 +0,0 @@
{
stdenv,
clang-ompss2,
nanos6,
}:
stdenv.mkDerivation {
version = "0.0.1";
name = "test-clang-ompss2";
src = ./.;
buildInputs = [
clang-ompss2
nanos6
];
env = {
# NIX_DEBUG = 1;
OCL_ICD_VENDORS = "";
};
buildPhase = ''
clang -fompss-2 hello.c -o hello
./hello
clang++ -fompss-2 hello.cc -o hello
./hello
'';
installPhase = ''
mkdir -p $out
'';
}