Commit Graph

20 Commits

Author SHA1 Message Date
Aleix Roca Nonell
c4d5135fde Split openmp versions in separate derivations
The openmp derivation provides both libomp and libompv. To avoid
accidentally linking with the wrong library and to avoid the nosv
dependency on libomp, this patch separates each version in a different
derivation.

Also, it adapts the clang wrappers and stdenvs to provide an stdenv per
openmp library where each openmp will be used by default when the
compiler flag "-fopenmp" is used. This eases linking ompv with nixpkgs
libraries, such as blis, that expect openmp to be provided with stdenv.

Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
Tested-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2023-12-07 18:01:20 +01:00
Raúl Peñacoba
3ed644b88f Add clangNosvOpenmp-ld compiler test
Add a test to verify that "clang -fopenmp=libompv" links correctly with
nOS-V even though it is not placed in the buildInputs.

Reviewed-by: Aleix Roca Nonell <aleix.rocanonell@bsc.es>
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
Tested-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2023-12-01 16:35:24 +01:00
Raúl Peñacoba
8ceaddfea7 Split OpenMP from Clang in LLVM
As the OpenMP-V implementation requires to be built with nOS-V, we can
split the OpenMP package in a different derivation to prevent rebuilds
of clang. Additionally, as OpenMP-V now can be build alongside the
vanilla OpenMP runtime, we simply build a single openmp derivation with
both runtimes. Only a single build of the clang compiler is now
required.

Reviewed-by: Aleix Roca Nonell <aleix.rocanonell@bsc.es>
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2023-12-01 16:31:56 +01:00
Aleix Roca Nonell
f55b48ec86 Update ompv test with -fopenmp=libompv flag
Reviewed-By: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
Tested-By: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2023-11-24 16:48:09 +01:00
Rodrigo Arias Mallo
d9ae85ce4b Add a more strict test for OpenMP+nOS-V
In this test we ensure that the worksharing region is running inside a
nOS-V task, so we know that we are not using the vanilla OpenMP by
accident.

We also keep the previous test test/compilers/clang-openmp.nix as-is, so
we can check that the compiler injects the nosv library dependency in
the final binary on its own.

Reviewed-by: Aleix Roca Nonell <aleix.rocanonell@bsc.es>
2023-11-24 14:52:23 +01:00
Rodrigo Arias Mallo
ff34ab5732 Enable NIX_DEBUG = 1 in the clang-ompss2 test
Reviewed-by: Aleix Roca Nonell <aleix.rocanonell@bsc.es>
2023-11-22 15:38:31 +01:00
Aleix Roca Nonell
f605f8e5e4 Add clang openmp test for CI
Reviewed-By: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
Tested-By: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2023-10-31 16:52:55 +01:00
Rodrigo Arias Mallo
51dcc6896e Begin moving bsc packages to root attribute 2023-09-19 10:33:32 +02:00
Rodrigo Arias Mallo
ee24b910a1 Use clang++ for C++ tests 2023-09-01 16:51:32 +02:00
Rodrigo Arias Mallo
fd5fb5c055 Add asan test for clangOmpss2 2023-09-01 16:43:49 +02:00
Rodrigo Arias Mallo
933cd1e3c7 Show commands being executed in clang test 2023-05-22 19:30:40 +02:00
Rodrigo Arias Mallo
bb6129a77e Reduce ompss2 test verbosity 2023-05-22 13:55:23 +02:00
Rodrigo Arias Mallo
91a5bdb344 Add comment about __noChroot in OmpSs-2 test 2023-03-14 10:32:59 +01:00
Rodrigo Arias Mallo
243ed2331a Add new package NODES 2023-03-13 16:16:34 +01:00
Rodrigo Arias Mallo
bf28263cc5 Add OmpSs-2 test with tasks 2023-03-13 14:54:40 +01:00
Rodrigo Arias Mallo
84623ea9d0 Use lld linker for clangOmpss2 for LTO 2023-03-06 11:47:01 +01:00
Rodrigo Arias Mallo
115e9beb59 Add Intel oneAPI 2023 with compilation tests 2023-03-03 18:18:51 +01:00
Rodrigo Arias Mallo
1a99a7eb73 Add more packages to CI 2023-03-02 12:08:02 +01:00
Rodrigo Arias
67c692b648 Add test subset 2020-06-25 21:02:49 +02:00
Rodrigo Arias
19e4e12126 Working stdenv with clang+ompss2 2020-06-17 13:00:49 +02:00