Add gipaw when building quantum-espresso with cmake (#41142)
* gipaw.x installed by cmake if version >= 5c4a4ce. gipaw.x will only be installed with cmake if the qe-gipaw version is >= 5c4a4ce. Currently, QE source uses the older f5823521 one. Here a patch to the submodule_commit_hash_records to use a newer qe-gipaw version.
This commit is contained in:
parent
b6f8cb821c
commit
3987604b89
2 changed files with 24 additions and 5 deletions
|
@ -0,0 +1,8 @@
|
||||||
|
--- spack-src/external/submodule_commit_hash_records.org 2023-11-15 18:38:47.485317449 -0300
|
||||||
|
+++ spack-src/external/submodule_commit_hash_records 2023-11-15 18:39:02.661861757 -0300
|
||||||
|
@@ -5,4 +5,4 @@
|
||||||
|
82005cbb65bdf5d32ca021848eec8f19da956a77 mbd
|
||||||
|
f72ab25fa4ea755c1b4b230ae8074b47d5509c70 pw2qmcpack
|
||||||
|
1d6b187374a2d50b509e5e79e2cab01a79ff7ce1 wannier90
|
||||||
|
-f5823521ad8fdd8b8e9e29197eedb354f9b9146d qe-gipaw
|
||||||
|
+eccee44d3caf1c930fb72ad9c741fbb743eabf45 qe-gipaw
|
|
@ -227,13 +227,8 @@ class QuantumEspresso(CMakePackage, Package):
|
||||||
variant(
|
variant(
|
||||||
"gipaw",
|
"gipaw",
|
||||||
default=False,
|
default=False,
|
||||||
when="build_system=generic",
|
|
||||||
description="Builds Gauge-Including Projector Augmented-Waves executable",
|
description="Builds Gauge-Including Projector Augmented-Waves executable",
|
||||||
)
|
)
|
||||||
with when("+gipaw"):
|
|
||||||
conflicts(
|
|
||||||
"@:6.3", msg="gipaw standard support available for QE 6.3 or grater version only"
|
|
||||||
)
|
|
||||||
|
|
||||||
# Dependencies not affected by variants
|
# Dependencies not affected by variants
|
||||||
depends_on("blas")
|
depends_on("blas")
|
||||||
|
@ -260,6 +255,15 @@ class QuantumEspresso(CMakePackage, Package):
|
||||||
# NOTE: *SOME* third-party patches will require deactivation of
|
# NOTE: *SOME* third-party patches will require deactivation of
|
||||||
# upstream patches using `~patch` variant
|
# upstream patches using `~patch` variant
|
||||||
|
|
||||||
|
# gipaw
|
||||||
|
conflicts(
|
||||||
|
"@:6.2",
|
||||||
|
when="+gipaw",
|
||||||
|
msg="gipaw standard support available for QE 6.3 or grater version only",
|
||||||
|
)
|
||||||
|
|
||||||
|
conflicts("+gipaw build_system=cmake", when="@:7.1")
|
||||||
|
|
||||||
# Only CMake will work for @6.8: %aocc
|
# Only CMake will work for @6.8: %aocc
|
||||||
conflicts(
|
conflicts(
|
||||||
"build_system=generic", when="@6.8: %aocc", msg="Please use CMake to build with AOCC"
|
"build_system=generic", when="@6.8: %aocc", msg="Please use CMake to build with AOCC"
|
||||||
|
@ -400,6 +404,9 @@ class QuantumEspresso(CMakePackage, Package):
|
||||||
# extlibs_makefile updated to work with fujitsu compilers
|
# extlibs_makefile updated to work with fujitsu compilers
|
||||||
patch("fj-fox.patch", when="+patch %fj")
|
patch("fj-fox.patch", when="+patch %fj")
|
||||||
|
|
||||||
|
# gipaw.x will only be installed with cmake if the qe-gipaw version is >= 5c4a4ce.
|
||||||
|
patch("gipaw-eccee44.patch", when="@7.2+gipaw build_system=cmake")
|
||||||
|
|
||||||
|
|
||||||
class CMakeBuilder(spack.build_systems.cmake.CMakeBuilder):
|
class CMakeBuilder(spack.build_systems.cmake.CMakeBuilder):
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
|
@ -416,6 +423,10 @@ def cmake_args(self):
|
||||||
self.define_from_variant("QE_ENABLE_MPI_GPU_AWARE", "mpigpu"),
|
self.define_from_variant("QE_ENABLE_MPI_GPU_AWARE", "mpigpu"),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
if "+gipaw" in spec:
|
||||||
|
cmake_args.append(self.define("QE_ENABLE_PLUGINS", "gipaw"))
|
||||||
|
cmake_args.append(self.define("QE_ENABLE_FOX", True))
|
||||||
|
|
||||||
if "+cuda" in self.spec:
|
if "+cuda" in self.spec:
|
||||||
cmake_args.append(self.define("QE_ENABLE_OPENACC", True))
|
cmake_args.append(self.define("QE_ENABLE_OPENACC", True))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue