Browse Source

Find{BLAS,LAPACK}: Add support for the NVHPC LAPACK library

Robert Maynard 4 years ago
parent
commit
2c9e623e31
2 changed files with 27 additions and 1 deletions
  1. 7 1
      Modules/FindBLAS.cmake
  2. 20 0
      Modules/FindLAPACK.cmake

+ 7 - 1
Modules/FindBLAS.cmake

@@ -57,6 +57,7 @@ The following variables may be set to influence this module's behavior:
   * ``EML_mt``
   * ``Fujitsu_SSL2`` (Fujitsu serial blas / lapack)
   * ``Fujitsu_SSL2BLAMP`` (Fujitsu parallel blas / lapack)
+  * ``NVHPC``
   * ``Generic``
 
   .. versionadded:: 3.6
@@ -82,6 +83,9 @@ The following variables may be set to influence this module's behavior:
     Elbrus Math Library support (``EML``, ``EML_mt``).
     Fujitsu SSL2 Library support (``Fujitsu_SSL2``, ``Fujitsu_SSL2BLAMP``)
 
+  .. versionadded:: 3.21
+    NVHPC support
+
 ``BLA_F95``
   if ``ON`` tries to find the BLAS95 interfaces
 
@@ -1062,7 +1066,9 @@ if(NOT BLAS_LIBRARIES AND
 endif()
 
 # Generic BLAS library?
-if(BLA_VENDOR STREQUAL "Generic" OR BLA_VENDOR STREQUAL "All")
+if(BLA_VENDOR STREQUAL "Generic" OR
+   BLA_VENDOR STREQUAL "NVHPC" OR
+   BLA_VENDOR STREQUAL "All")
   if(NOT BLAS_LIBRARIES)
     check_blas_libraries(
       BLAS_LIBRARIES

+ 20 - 0
Modules/FindLAPACK.cmake

@@ -47,6 +47,7 @@ The following variables may be set to influence this module's behavior:
   * ``EML_mt``
   * ``Fujitsu_SSL2`` (Fujitsu serial blas / lapack)
   * ``Fujitsu_SSL2BLAMP`` (Fujitsu parallel blas / lapack)
+  * ``NVHPC``
   * ``Generic``
 
   .. versionadded:: 3.6
@@ -72,6 +73,9 @@ The following variables may be set to influence this module's behavior:
     Elbrus Math Library support (``EML``, ``EML_mt``).
     Fujitsu SSL2 Library support (``Fujitsu_SSL2``, ``Fujitsu_SSL2BLAMP``)
 
+  .. versionadded:: 3.21
+    NVHPC support
+
 ``BLA_F95``
   if ``ON`` tries to find the BLAS95/LAPACK95 interfaces
 
@@ -615,6 +619,22 @@ if(NOT LAPACK_NOT_FOUND_MESSAGE)
     unset(_ssl2_suffix)
   endif()
 
+  # NVHPC Library?
+  if(NOT LAPACK_LIBRARIES
+      AND BLA_VENDOR MATCHES "NVHPC" OR BLA_VENDOR STREQUAL "All")
+    check_lapack_libraries(
+      LAPACK_LIBRARIES
+      LAPACK
+      cheev
+      ""
+      "lapack"
+      "-fortranlibs"
+      ""
+      ""
+      "${BLAS_LIBRARIES}"
+    )
+  endif()
+
   # Generic LAPACK library?
   if(NOT LAPACK_LIBRARIES
       AND (BLA_VENDOR STREQUAL "Generic"