Compare commits

..

5 Commits

Author SHA1 Message Date
1e30d9f48c Add TACUDA package 2025-12-10 17:09:02 +01:00
301eb6742d Add TAOpenCL 2025-12-10 17:09:02 +01:00
bb51aa52cb Add GROMACS 2025-12-10 17:09:02 +01:00
87be9325db Use POCL_CACHE_DIR instead of writableHome...Hook 2025-12-10 17:09:01 +01:00
c952e69f73 Add tests for PoCL with and without using icd 2025-12-10 17:09:01 +01:00
4 changed files with 44 additions and 49 deletions

View File

@@ -61,6 +61,7 @@ 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 { };
@@ -68,12 +69,6 @@ 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,8 +14,6 @@
python3,
writableTmpDirAsHomeHook,
writeText,
runCommand,
opencl-cts,
fetchFromGitHub,
@@ -203,38 +201,12 @@ stdenv.mkDerivation (finalAttrs: {
''
);
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"
);
};
};
passthru = {
updateScript = nix-update-script { };
git = finalAttrs.finalPackage.override { useGit = true; };
test = finalAttrs.finalPackage.overrideAttrs { doCheck = true; };
withICD = enableICD;
};
env.HWLOC_SYNTHETIC = lib.optionalDrvAttr enableHWLOC "node:1 core:1 pu:1";

View File

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

View File

@@ -0,0 +1,31 @@
{
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
'';
}