diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/amdscalapack/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/amdscalapack/package.py | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/var/spack/repos/builtin/packages/amdscalapack/package.py b/var/spack/repos/builtin/packages/amdscalapack/package.py index 3da1a8a03b..0213da5c97 100644 --- a/var/spack/repos/builtin/packages/amdscalapack/package.py +++ b/var/spack/repos/builtin/packages/amdscalapack/package.py @@ -3,6 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from llnl.util import tty + from spack.package import * from spack.pkg.builtin.netlib_scalapack import ScalapackBase @@ -20,16 +22,17 @@ class Amdscalapack(ScalapackBase): LICENSING INFORMATION: By downloading, installing and using this software, you agree to the terms and conditions of the AMD AOCL-ScaLAPACK license agreement. You may obtain a copy of this license agreement from - https://www.amd.com/en/developer/aocl/scalapack/scalapack-libraries-4-0-eula.html - https://www.amd.com/en/developer/aocl/scalapack/scalapack-libraries-eula.html + https://www.amd.com/en/developer/aocl/scalapack/eula/scalapack-libraries-4-1-eula.html + https://www.amd.com/en/developer/aocl/scalapack/eula/scalapack-libraries-eula.html """ _name = "amdscalapack" homepage = "https://www.amd.com/en/developer/aocl/scalapack.html" - git = "https://github.com/amd/scalapack.git" + git = "https://github.com/amd/aocl-scalapack" maintainers("amd-toolchain-support") + version("4.1", sha256="b2e51c3604e5869d1faaef2e52c92071fcb3de1345aebb2ea172206622067ad9") version("4.0", sha256="f02913b5984597b22cdb9a36198ed61039a1bf130308e778dc31b2a7eb88b33b") version("3.2", sha256="9e00979bb1be39d627bdacb01774bc043029840d542fafc934d16fec3e3b0892") version("3.1", sha256="4c2ee2c44644a0feec0c6fc1b1a413fa9028f14d7035d43a398f5afcfdbacb98") @@ -52,9 +55,24 @@ class Amdscalapack(ScalapackBase): args = super().cmake_args() spec = self.spec + if not ( + spec.satisfies(r"%aocc@3.2:4.1") + or spec.satisfies(r"%gcc@12.2:13.1") + or spec.satisfies(r"%clang@15:16") + ): + tty.warn( + "AOCL has been tested to work with the following compilers\ + versions - gcc@12.2:13.1, aocc@3.2:4.1, and clang@15:16\ + see the following aocl userguide for details: \ + https://www.amd.com/content/dam/amd/en/documents/developer/version-4-1-documents/aocl/aocl-4-1-user-guide.pdf" + ) + if spec.satisfies("%gcc@10:"): args.extend(["-DCMAKE_Fortran_FLAGS={0}".format("-fallow-argument-mismatch")]) + if spec.satisfies("%clang@16:"): + args.extend(["-DCMAKE_Fortran_FLAGS={0}".format("-cpp -fno-implicit-none")]) + if spec.satisfies("@2.2"): args.extend( [ @@ -69,6 +87,16 @@ class Amdscalapack(ScalapackBase): # -DUSE_F2C:BOOL=ON args.extend([self.define("USE_F2C", spec.satisfies("@:3.0"))]) + if self.spec.satisfies("%clang@16:") or self.spec.satisfies("%aocc@4.1.0:"): + c_flags = [] + c_flags.append("-Wno-implicit-function-declaration") + c_flags.append("-Wno-deprecated-non-prototype") + c_flags.append("-Wno-incompatible-pointer-types") + args.append(self.define("CMAKE_C_FLAGS", " ".join(c_flags))) + + # link libflame library + args.extend(["-DLAPACK_LIBRARIES={0}".format(self.spec["lapack"].libs)]) + args.extend( [ "-DLAPACK_FOUND=true", |