forked from rarias/jungle
Compare commits
1 Commits
c7ce05e8b7
...
8c952ec8de
Author | SHA1 | Date | |
---|---|---|---|
8c952ec8de |
@ -47,7 +47,6 @@ let
|
|||||||
ovni = callPackage ./pkgs/ovni/default.nix { };
|
ovni = callPackage ./pkgs/ovni/default.nix { };
|
||||||
ovniGit = final.ovni.override { useGit = true; };
|
ovniGit = final.ovni.override { useGit = true; };
|
||||||
paraverKernel = callPackage ./pkgs/paraver/kernel.nix { };
|
paraverKernel = callPackage ./pkgs/paraver/kernel.nix { };
|
||||||
pocl = callPackage ./pkgs/pocl/default.nix { };
|
|
||||||
prometheus-slurm-exporter = prev.callPackage ./pkgs/slurm-exporter/default.nix { };
|
prometheus-slurm-exporter = prev.callPackage ./pkgs/slurm-exporter/default.nix { };
|
||||||
#pscom = callPackage ./pkgs/parastation/pscom.nix { }; # Unmaintaned
|
#pscom = callPackage ./pkgs/parastation/pscom.nix { }; # Unmaintaned
|
||||||
#psmpi = callPackage ./pkgs/parastation/psmpi.nix { }; # Unmaintaned
|
#psmpi = callPackage ./pkgs/parastation/psmpi.nix { }; # Unmaintaned
|
||||||
@ -93,8 +92,6 @@ let
|
|||||||
clangNosvOmpv-ld = callPackage ./test/compilers/clang-openmp-ld.nix {
|
clangNosvOmpv-ld = callPackage ./test/compilers/clang-openmp-ld.nix {
|
||||||
stdenv = final.stdenvClangOmpss2NodesOmpv;
|
stdenv = final.stdenvClangOmpss2NodesOmpv;
|
||||||
};
|
};
|
||||||
|
|
||||||
pocl = callPackage ./test/compilers/pocl.nix { };
|
|
||||||
};
|
};
|
||||||
|
|
||||||
pkgs = filterAttrs (_: isDerivation) bscPkgs;
|
pkgs = filterAttrs (_: isDerivation) bscPkgs;
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
From ccf301659caac9b5e973ba1f2d32352acf617a98 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Aleix=20Bon=C3=A9?= <aleix.boneribo@bsc.es>
|
|
||||||
Date: Tue, 2 Jul 2024 16:45:05 +0200
|
|
||||||
Subject: [PATCH] cmake: do not use suffix
|
|
||||||
|
|
||||||
---
|
|
||||||
cmake/LLVM.cmake | 3 ++
|
|
||||||
1 files changed, 3 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/cmake/LLVM.cmake b/cmake/LLVM.cmake
|
|
||||||
index f4dbda065..e29144dce 100644
|
|
||||||
--- a/cmake/LLVM.cmake
|
|
||||||
+++ b/cmake/LLVM.cmake
|
|
||||||
@@ -65,6 +65,9 @@ else()
|
|
||||||
message(WARNING "Cannot determine llvm binary suffix from ${LLVM_CONFIG}")
|
|
||||||
endif()
|
|
||||||
message(STATUS "LLVM binaries suffix : ${LLVM_BINARY_SUFFIX}")
|
|
||||||
+
|
|
||||||
+ # We don't want suffixes in nix
|
|
||||||
+ set(LLVM_BINARY_SUFFIX "")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
get_filename_component(LLVM_CONFIG_LOCATION "${LLVM_CONFIG}" DIRECTORY)
|
|
||||||
--
|
|
||||||
2.45.1
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
|||||||
From f24b456c50f587b05cc8f2699c94d8cdefc5b13e Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Aleix=20Bon=C3=A9?= <aleix.boneribo@bsc.es>
|
|
||||||
Date: Tue, 2 Jul 2024 17:11:11 +0200
|
|
||||||
Subject: [PATCH] cmake: native build tools
|
|
||||||
|
|
||||||
---
|
|
||||||
cmake/LLVM.cmake | 7 +-
|
|
||||||
1 files changed, 6 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/cmake/LLVM.cmake b/cmake/LLVM.cmake
|
|
||||||
index e29144dce..b9f14ce6a 100644
|
|
||||||
--- a/cmake/LLVM.cmake
|
|
||||||
+++ b/cmake/LLVM.cmake
|
|
||||||
@@ -269,10 +269,15 @@ endforeach()
|
|
||||||
|
|
||||||
####################################################################
|
|
||||||
|
|
||||||
+if(DEFINED LLVM_NATIVE_TOOL_DIR)
|
|
||||||
+ set(TOOL_DIR "${LLVM_NATIVE_TOOL_DIR}")
|
|
||||||
+ message(STATUS "TOOL_DIR=${TOOL_DIR}")
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
macro(find_program_or_die OUTPUT_VAR PROG_NAME DOCSTRING)
|
|
||||||
find_program(${OUTPUT_VAR}
|
|
||||||
NAMES "${PROG_NAME}${LLVM_BINARY_SUFFIX}${CMAKE_EXECUTABLE_SUFFIX}"
|
|
||||||
- HINTS "${LLVM_BINDIR}" "${LLVM_CONFIG_LOCATION}"
|
|
||||||
+ HINTS "${TOOL_DIR}" "${LLVM_BINDIR}" "${LLVM_CONFIG_LOCATION}"
|
|
||||||
DOC "${DOCSTRING}"
|
|
||||||
NO_CMAKE_PATH
|
|
||||||
NO_CMAKE_ENVIRONMENT_PATH
|
|
||||||
--
|
|
||||||
2.45.1
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
|||||||
From 4688b5ce895761c884ae15fc0234ed8d623b988b Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Aleix=20Bon=C3=A9?= <aleix.boneribo@bsc.es>
|
|
||||||
Date: Tue, 2 Jul 2024 15:41:47 +0200
|
|
||||||
Subject: [PATCH] cmake: use clang from cmake variable
|
|
||||||
|
|
||||||
---
|
|
||||||
cmake/LLVM.cmake | 22 ++++++++++++++++++++--
|
|
||||||
1 file changed, 20 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/cmake/LLVM.cmake b/cmake/LLVM.cmake
|
|
||||||
index 71b786dc7..f4dbda065 100644
|
|
||||||
--- a/cmake/LLVM.cmake
|
|
||||||
+++ b/cmake/LLVM.cmake
|
|
||||||
@@ -281,11 +281,29 @@ macro(find_program_or_die OUTPUT_VAR PROG_NAME DOCSTRING)
|
|
||||||
endif()
|
|
||||||
endmacro()
|
|
||||||
|
|
||||||
-find_program_or_die( CLANG "clang" "clang binary")
|
|
||||||
+# -DCMAKE_C_COMPILER=riscv64-unknown-linux-gnu-clang -DCMAKE_CXX_COMPILER=riscv64-unknown-linux-gnu-clang++
|
|
||||||
+
|
|
||||||
+# if(DEFINED CLANG_EXECUTABLE)
|
|
||||||
+if(DEFINED CMAKE_C_COMPILER)
|
|
||||||
+ # set(CLANG "${CLANG_EXECUTABLE}")
|
|
||||||
+ set(CLANG "${CMAKE_C_COMPILER}")
|
|
||||||
+ message(STATUS "Using CLANG_EXECUTABLE: ${CLANG}")
|
|
||||||
+else()
|
|
||||||
+ find_program_or_die( CLANG "clang" "clang binary")
|
|
||||||
+endif()
|
|
||||||
execute_process(COMMAND "${CLANG}" "--version" OUTPUT_VARIABLE LLVM_CLANG_VERSION RESULT_VARIABLE CLANG_RES)
|
|
||||||
+
|
|
||||||
# TODO this should be optional
|
|
||||||
-find_program_or_die( CLANGXX "clang++" "clang++ binary")
|
|
||||||
+# if(DEFINED CLANGXX_EXECUTABLE)
|
|
||||||
+if(DEFINED CMAKE_CXX_COMPILER)
|
|
||||||
+ # set(CLANGXX "${CLANGXX_EXECUTABLE}")
|
|
||||||
+ set(CLANGXX "${CMAKE_CXX_COMPILER}")
|
|
||||||
+ message(STATUS "Using CLANGXX_EXECUTABLE: ${CLANGXX}")
|
|
||||||
+else()
|
|
||||||
+ find_program_or_die( CLANGXX "clang++" "clang++ binary")
|
|
||||||
+endif()
|
|
||||||
execute_process(COMMAND "${CLANGXX}" "--version" OUTPUT_VARIABLE LLVM_CLANGXX_VERSION RESULT_VARIABLE CLANGXX_RES)
|
|
||||||
+
|
|
||||||
if(CLANGXX_RES OR CLANG_RES)
|
|
||||||
message(FATAL_ERROR "Failed running clang/clang++ --version")
|
|
||||||
endif()
|
|
||||||
--
|
|
||||||
2.45.1
|
|
||||||
|
|
@ -11,14 +11,10 @@
|
|||||||
, spirv-tools
|
, spirv-tools
|
||||||
, libxml2 # required for statically linked llvm
|
, libxml2 # required for statically linked llvm
|
||||||
, python3
|
, python3
|
||||||
, writableTmpDirAsHomeHook
|
|
||||||
|
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
|
||||||
, useGit ? false
|
, useGit ? false
|
||||||
, gitUrl ? "git@gitlab-internal.bsc.es:task-awareness/pocl/pocl.git"
|
, flakeTag ? "dirty"
|
||||||
, gitBranch ? "new-device"
|
|
||||||
, gitCommit ? "dd10c2221b31223cbb796182df6a07f11c7541f5"
|
|
||||||
|
|
||||||
, staticLLVM ? true
|
, staticLLVM ? true
|
||||||
, enableICD ? true
|
, enableICD ? true
|
||||||
@ -36,37 +32,16 @@
|
|||||||
|
|
||||||
, nosv ? null
|
, nosv ? null
|
||||||
, ovni ? null
|
, ovni ? null
|
||||||
, enableNOSV ? useGit
|
, enableNOSV ? !useGit
|
||||||
, enableOVNI ? useGit
|
, enableOVNI ? !useGit
|
||||||
|
|
||||||
, buildPackages
|
, buildPackages
|
||||||
, nix-update-script
|
, nix-update-script
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
assert enableNOSV || enableOVNI -> ;
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
release = rec {
|
|
||||||
version = "7.0";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "pocl";
|
|
||||||
repo = "pocl";
|
|
||||||
tag = "v${version}";
|
|
||||||
hash = "sha256-pyolM0SR6xiwhad7K0mX9I/PKbIa8Ltin0CYoA1U/qo=";
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
git = rec {
|
|
||||||
version = src.shortRev;
|
|
||||||
src = builtins.fetchGit {
|
|
||||||
url = gitUrl;
|
|
||||||
ref = gitBranch;
|
|
||||||
rev = gitCommit;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
source = if (useGit) then git else release;
|
|
||||||
|
|
||||||
stdenv = llvmPackages.stdenv;
|
stdenv = llvmPackages.stdenv;
|
||||||
|
|
||||||
buildLlvmPackages = buildPackages.llvmPackages;
|
buildLlvmPackages = buildPackages.llvmPackages;
|
||||||
@ -86,13 +61,20 @@ in
|
|||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "pocl";
|
pname = "pocl";
|
||||||
version = featureList + "-" + source.version;
|
version = featureList + "-" + (if useGit then "6.0" else flakeTag);
|
||||||
inherit (source) src;
|
src =
|
||||||
|
if useGit then
|
||||||
|
(fetchFromGitHub {
|
||||||
|
owner = "pocl";
|
||||||
|
repo = "pocl";
|
||||||
|
rev = "v6.0";
|
||||||
|
hash = "sha256-NHR9yrI6Odb/s/OBnEVifdcLEXvwqzAMZWpGViv2cJg=";
|
||||||
|
}) else ./..;
|
||||||
|
|
||||||
patches = lib.optionals useGit [
|
patches = lib.optionals useGit [
|
||||||
./0001-cmake-use-clang-from-cmake-variable.patch
|
./patches/0001-cmake-use-clang-from-cmake-variable.patch
|
||||||
./0001-cmake-do-not-use-suffix.patch
|
./patches/0001-cmake-do-not-use-suffix.patch
|
||||||
./0001-cmake-native-build-tools.patch
|
./patches/0001-cmake-native-build-tools.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
@ -166,7 +148,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
llvmPackages.libclang
|
llvmPackages.libclang
|
||||||
llvmPackages.llvm
|
llvmPackages.llvm
|
||||||
] ++ lib.optionals staticLLVM [ libxml2 ]
|
] ++ lib.optionals staticLLVM [ libxml2 ]
|
||||||
++ lib.optionals enableNOSV [ nosv ]
|
++ lib.optionals enableNOSV [ (nosv.override { useGit = true; }) ]
|
||||||
++ lib.optionals enableOVNI [ ovni ]
|
++ lib.optionals enableOVNI [ ovni ]
|
||||||
++ lib.optionals enableHWLOC [ hwloc ]
|
++ lib.optionals enableHWLOC [ hwloc ]
|
||||||
++ lib.optionals enableTBB [ tbb ]
|
++ lib.optionals enableTBB [ tbb ]
|
||||||
@ -177,27 +159,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
spirv-tools
|
spirv-tools
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeInstallCheckInputs = [
|
passthru.updateScript = nix-update-script { };
|
||||||
writableTmpDirAsHomeHook
|
|
||||||
];
|
|
||||||
|
|
||||||
doInstallCheck = true;
|
|
||||||
|
|
||||||
installCheckPhase = lib.optionalString enableICD ''
|
|
||||||
runHook preInstallCheck
|
|
||||||
|
|
||||||
export OCL_ICD_VENDORS=$out/etc/OpenCL/vendors
|
|
||||||
$out/bin/poclcc -o poclcc.cl.pocl $src/examples/poclcc/poclcc.cl
|
|
||||||
|
|
||||||
runHook postInstallCheck
|
|
||||||
'';
|
|
||||||
|
|
||||||
setupHook = ./setup-hook.sh;
|
|
||||||
|
|
||||||
passthru = {
|
|
||||||
updateScript = nix-update-script { };
|
|
||||||
git = finalAttrs.finalPackage.override { useGit = true; };
|
|
||||||
};
|
|
||||||
|
|
||||||
propagatedBuildInputs = [ stdenv.cc.cc ];
|
propagatedBuildInputs = [ stdenv.cc.cc ];
|
||||||
|
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
preCheckHooks+=('setupPoclCheck')
|
|
||||||
preInstallCheckHooks+=('setupPoclCheck')
|
|
||||||
|
|
||||||
setupPoclCheck () {
|
|
||||||
export OCL_ICD_VENDORS="@out@/etc/OpenCL/vendors"
|
|
||||||
}
|
|
@ -1,26 +0,0 @@
|
|||||||
{
|
|
||||||
runCommand,
|
|
||||||
pocl,
|
|
||||||
clinfo,
|
|
||||||
writableTmpDirAsHomeHook,
|
|
||||||
}:
|
|
||||||
|
|
||||||
runCommand "clinfo-pocl"
|
|
||||||
{
|
|
||||||
nativeBuildInputs = [
|
|
||||||
clinfo
|
|
||||||
writableTmpDirAsHomeHook
|
|
||||||
];
|
|
||||||
|
|
||||||
requiredSystemFeatures = [ "sys-devices" ];
|
|
||||||
|
|
||||||
env = {
|
|
||||||
POCL_DEBUG = "error,warn";
|
|
||||||
OCL_ICD_VENDORS = "${pocl}/etc/OpenCL/vendors";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
''
|
|
||||||
set -x
|
|
||||||
clinfo | tee $out
|
|
||||||
set +x
|
|
||||||
''
|
|
Loading…
x
Reference in New Issue
Block a user