Skip to content

Commit 5013a82

Browse files
author
Mathieu Taillefumier
committed
Update the CI/CD
1 parent 0ecb09d commit 5013a82

File tree

12 files changed

+148
-15
lines changed

12 files changed

+148
-15
lines changed

.ci/include/cscs/00-variables.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ variables:
1010
UENV_NAME: tmlqcd
1111
UENV_VERSION: experimental
1212
UENV_TAG: v0.0.7
13-
13+
UENV_VERSION: v1

.ci/include/cscs/01-test-templates.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ include:
2727
-DTM_USE_OMP=ON \
2828
-DTM_USE_QUDA=ON \
2929
-DTM_USE_LEMON=ON \
30-
-DTM_ENABLE_ALIGNMENT=32 \
3130
-DTM_USE_GAUGE_COPY=ON \
3231
-DTM_USE_HALFSPINOR=ON \
3332
-DCMAKE_INSTALL_PREFIX=../install_dir ..
3433
make
3534
make install
35+
cd ..
3636
touch preparation-done-${CI_JOB_ID}
3737
fi
3838
- while test ! -f preparation-done-${CI_JOB_ID}; do sleep 5; done
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
gcc:
2-
version: "14.2"
2+
version: "14.3"

.ci/uenv-recipes/tmlqcd/daint-gh200/config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ name: tmlqcd
22
store: /user-environment
33
spack:
44
repo: https://github.com/spack/spack.git
5-
commit: releases/v1.0
5+
commit: releases/v1.1
66
packages:
77
repo: https://github.com/spack/spack-packages.git
8-
commit: releases/v2025.11
8+
#commit:
99
modules: true
1010
description: "tmLQCD is a freely available software suite providing a set of tools to be used in lattice QCD simulations."
1111
version: 2

.ci/uenv-recipes/tmlqcd/daint-gh200/environments.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ gcc-env:
22
compiler: [gcc]
33
network:
44
mpi: cray-mpich@8.1.32 +cuda
5+
specs: ['libfabric@2.4.0+cuda']
56
unify: true
67
specs:
78
- python@3.12
@@ -10,7 +11,7 @@ gcc-env:
1011
- lemonio
1112
- c-lime
1213
- openblas
13-
- cmake@3
14+
- cmake@3.31
1415
- cuda
1516
variants:
1617
- +mpi

.ci/uenv-recipes/tmlqcd/daint-gh200/repo/packages/lemonio/package.py

100755100644
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ class Lemonio(CMakePackage):
1717
license("GPL-3.0-or-later")
1818

1919
version("master", branch="master")
20-
20+
variant("shared", default=False, description="Build shared library")
2121
depends_on("libtool", type="build", when="@master build_system=cmake")
22-
depends_on("cmake@4", type="build", when="master build_system=cmake")
22+
depends_on("cmake@3.28:", type="build", when="@master build_system=cmake")
2323

2424
depends_on("mpi")
2525

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
# Copyright Spack Project Developers. See COPYRIGHT file for details.
2+
#
3+
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
4+
5+
from spack_repo.builtin.build_systems import cmake
6+
from spack_repo.builtin.build_systems.cmake import CMakePackage, generator
7+
from spack_repo.builtin.build_systems.rocm import ROCmPackage
8+
from spack_repo.builtin.build_systems.cuda import CudaPackage
9+
10+
from spack.package import *
11+
12+
13+
class Tmlqcd(CMakePackage, CudaPackage, ROCmPackage):
14+
"""Base class for building tmlQCD."""
15+
16+
homepage = "https://www.itkp.uni-bonn.de/~urbach/software.html"
17+
url = "https://github.com/etmc/tmLQCD/archive/refs/tags/rel-5-1-6.tar.gz"
18+
git = "https://github.com/etmc/tmLQCD.git"
19+
license("GPL-3.0-or-later")
20+
21+
maintainers("mtaillefumier")
22+
version("master", branch="master")
23+
24+
variant("lemon", default=False, description="Enable the lemon backend")
25+
variant("mpi", default=True, description="Enable mpi support")
26+
variant("DDalphaAMG", default=False, description="Enable DAlphaAMG support")
27+
variant("openmp", default=True, description="Enable OpenMP")
28+
variant("fftw", default=True, description="Enable FFTW interface")
29+
variant(
30+
"persistent_mpi",
31+
default=True,
32+
description="Enable persistent mpi calls for spinor and gauge fields",
33+
when="+mpi",
34+
)
35+
variant(
36+
"nonblocking_mpi",
37+
default=True,
38+
description="Enable non-blocking mpi calls for spinor and gauge fields",
39+
when="+mpi",
40+
)
41+
variant("fixedvolume", default=True, description="Enable fixed volume at compile time")
42+
variant(
43+
"alignment",
44+
default="auto",
45+
values=("none", "auto", "16", "32", "64"),
46+
description="Automatically or expliclty align arrays",
47+
)
48+
variant("gauge_copy", default=True, description="Enable gauge field copy")
49+
variant("half_spinor", default=True, description="Use a Dirac operator with half-spinor")
50+
variant("shared", default=False, description="Enable shared library")
51+
variant("shmem", default=False, description="Use shmem API")
52+
variant("quda", default=True, description="Enable the QUDA library", when="+cuda")
53+
variant("quda", default=True, description="Enable the QUDA library", when="+rocm")
54+
variant(
55+
"QPhiX", default=False, description="Enable the QPhiX library for Intel Xeon and Xeon Phis"
56+
)
57+
variant(
58+
"mpi_dimensions",
59+
default="4",
60+
values=("1", "2", "3", "4", "x", "xy", "xyz"),
61+
description="number of dimensions the mpi processes are distributed. the default is parallelization over all four dimensions txyz",
62+
when="+mpi",
63+
)
64+
65+
generator("ninja")
66+
67+
# language dependencies
68+
depends_on("c", type="build")
69+
depends_on("cxx", type="build")
70+
depends_on("fortran", type="build")
71+
72+
# conflicts
73+
conflicts("+cuda", when="cuda_arch=none")
74+
conflicts("+rocm", when="amdgpu_target=none")
75+
76+
# hard dependencies
77+
depends_on("c-lime")
78+
depends_on("blas")
79+
depends_on("lapack")
80+
depends_on("pkgconfig", type="build")
81+
82+
# dependencies
83+
depends_on("mpi", when="+mpi")
84+
depends_on("lemon-io", when="+lemon")
85+
86+
with when("+quda"):
87+
depends_on(
88+
"quda+twisted_mass+twisted_clover+clover+ndeg_twisted_clover+ndeg_twisted_mass+wilson+qdp+staggered+usqcd+multigrid"
89+
)
90+
91+
depends_on("quda+mpi", when="+mpi")
92+
depends_on("quda+cuda", when="+cuda")
93+
depends_on("quda+rocm", when="+rocm")
94+
depends_on("quda+nvshmem", when="+shmem")
95+
96+
depends_on("fftw-api@3", when="+fftw")
97+
98+
99+
class CMakeBuilder(cmake.CMakeBuilder):
100+
def cmake_args(self):
101+
spec = self.spec
102+
args = [
103+
self.define_from_variant("DBUILD_SHARED_LIBS", "shared"),
104+
self.define_from_variant("TM_USE_LEMON", "lemon"),
105+
self.define_from_variant("TM_USE_MPI", "mpi"),
106+
self.define_from_variant("TM_USE_QUDA", "quda"),
107+
self.define_from_variant("TM_USE_CUDA", "cuda"),
108+
self.define_from_variant("TM_USE_HIP", "cuda"),
109+
self.define_from_variant("TM_USE_FFTW", "fftw"),
110+
self.define_from_variant("TM_FIXEDVOLUME", "fixed_volume"),
111+
self.define_from_variant("TM_USE_OMP", "openmp"),
112+
self.define_from_variant("TM_USE_SHMEM", "shmem"),
113+
self.define_from_variant("TM_USE_GAUGE_COPY", "gauge_copy"),
114+
self.define_from_variant("TM_USE_HALFSPINOR", "half_spinor"),
115+
]
116+
return args
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
repo:
22
namespace: apps
3+
api: v2.2

CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ project(
44
tmlqcd
55
DESCRIPTION "tmlQCD"
66
HOMEPAGE_URL "https://github.com/etmc/tmLQCD"
7-
VERSION "6.0.0"
7+
VERSION "6.0.2"
88
LANGUAGES C CXX)
99

1010
# include our cmake snippets
@@ -388,11 +388,14 @@ write_basic_package_version_file(
388388
configure_file("${PROJECT_SOURCE_DIR}/cmake/tmlQCD-config.cmake.in"
389389
"${PROJECT_BINARY_DIR}/tmlQCD-config.cmake" @ONLY)
390390

391+
configure_file("${PROJECT_SOURCE_DIR}/cmake/tmlQCD.pc.in"
392+
"${PROJECT_BINARY_DIR}/tmlQCD.pc" @ONLY)
393+
391394
install(FILES "${PROJECT_BINARY_DIR}/tmlQCD-config.cmake"
392395
"${PROJECT_BINARY_DIR}/tmlQCDConfigVersion.cmake"
393396
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/tmlQCD")
394397

395-
install(FILES "${PROJECT_BINARY_DIR}/libtmlQCD.pc"
398+
install(FILES "${PROJECT_BINARY_DIR}/tmlQCD.pc"
396399
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
397400

398401
install(

DDalphaAMG/CMakeLists.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ target_link_libraries(
167167

168168
target_include_directories(
169169
DDalphaAMG
170-
PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}>
170+
PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/DDalphaAMG>
171171
$<BUILD_INTERFACE:${DDalphaAMG_SRC_DIR}/src>
172172
$<BUILD_INTERFACE:${DDalphaAMG_SRC_DIR}/include>
173173
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/DDalphaAMG>)
@@ -188,8 +188,8 @@ target_compile_definitions(
188188
$<$<CONFIG:Debug>:DEBUG>
189189
SSE)
190190

191-
install(FILES "${CMAKE_SOURCE_DIR}/deps/DDalphaAMG/DDalphaAMG.h"
192-
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}")
191+
install(FILES "${CMAKE_SOURCE_DIR}/deps/lib/DDalphaAMG.h"
192+
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/DDalphaAMG")
193193

194194
write_basic_package_version_file(
195195
"${PROJECT_BINARY_DIR}/DDalphaAMGonfigVersion.cmake"
@@ -203,14 +203,14 @@ install(TARGETS DDalphaAMG
203203
install(EXPORT DDalphaAMG_targets
204204
FILE DDalphaAMG-Targets.cmake
205205
NAMESPACE DDalphaAMG::
206-
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
206+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/DDalphaAMG")
207207

208208
configure_file("${PROJECT_SOURCE_DIR}/cmake/DDalphaAMG-Config.cmake.in"
209209
"${PROJECT_BINARY_DIR}/DDalphaAMG-Config.cmake" @ONLY)
210210

211211
install(FILES "${PROJECT_BINARY_DIR}/DDalphaAMG-Config.cmake"
212212
"${PROJECT_BINARY_DIR}/DDalphaAMG-ConfigVersion.cmake"
213-
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/tmlQCD")
213+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/DDalphaAMG")
214214

215215

216216
# add_library(tmlqcd::DDalphaAMG alias DDalphaAMG)

0 commit comments

Comments
 (0)