pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/math math/scalapack: import from WIP, parallel LAPACK ...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/e9d03002966d
branches:  trunk
changeset: 384020:e9d03002966d
user:      thor <thor%pkgsrc.org@localhost>
date:      Thu Aug 25 22:58:00 2022 +0000

description:
math/scalapack: import from WIP, parallel LAPACK library

diffstat:

 math/Makefile                                 |    3 +-
 math/scalapack/DESCR                          |    7 +
 math/scalapack/Makefile                       |   30 +
 math/scalapack/PLIST                          |    7 +
 math/scalapack/buildlink3.mk                  |   17 +
 math/scalapack/distinfo                       |   10 +
 math/scalapack/patches/patch-PR67-MPI-linking |  418 ++++++++++++++++++++++++++
 math/scalapack/patches/patch-SRC_pdtrord.f    |   19 +
 math/scalapack/patches/patch-SRC_pstrord.f    |   19 +
 math/scalapack/patches/patch-SRC_pstrsen.f    |   22 +
 math/scalapack/patches/patch-scalapack.pc.in  |   15 +
 11 files changed, 566 insertions(+), 1 deletions(-)

diffs (truncated from 621 to 300 lines):

diff -r 4aa4b51b2f7e -r e9d03002966d math/Makefile
--- a/math/Makefile     Thu Aug 25 22:53:52 2022 +0000
+++ b/math/Makefile     Thu Aug 25 22:58:00 2022 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.549 2022/08/24 12:56:07 ryoon Exp $
+# $NetBSD: Makefile,v 1.550 2022/08/25 22:58:00 thor Exp $
 
 COMMENT=       Mathematics
 
@@ -441,6 +441,7 @@
 SUBDIR+=       ruby-spreadsheet
 SUBDIR+=       sc
 SUBDIR+=       sc-im
+SUBDIR+=       scalapack
 SUBDIR+=       scilab
 SUBDIR+=       slatec
 SUBDIR+=       smath-studio
diff -r 4aa4b51b2f7e -r e9d03002966d math/scalapack/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/math/scalapack/DESCR      Thu Aug 25 22:58:00 2022 +0000
@@ -0,0 +1,7 @@
+ScaLAPACK, or Scalable LAPACK, is a library of high performance linear
+algebra routines for distributed memory computers supporting MPI.
+
+The complete ScaLAPACK package is freely available on netlib and
+can be obtained via the World Wide Web or anonymous ftp.
+
+    http://www.netlib.org/scalapack/
diff -r 4aa4b51b2f7e -r e9d03002966d math/scalapack/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/math/scalapack/Makefile   Thu Aug 25 22:58:00 2022 +0000
@@ -0,0 +1,30 @@
+# $NetBSD: Makefile,v 1.1 2022/08/25 22:58:00 thor Exp $
+
+DISTNAME=      scalapack-2.2.0
+CATEGORIES=    math
+MASTER_SITES=  http://www.netlib.org/scalapack/
+EXTRACT_SUFX=  .tgz
+
+MAINTAINER=    thor%NetBSD.org@localhost
+HOMEPAGE=      http://www.netlib.org/scalapack/
+COMMENT=       Scalable Linear Algebra PACKage
+LICENSE=       modified-bsd
+
+USE_CMAKE=     yes
+USE_TOOLS+=    pkg-config
+USE_LANGUAGES= c fortran
+
+CMAKE_ARGS=    -DBLA_PREFER_PKGCONFIG=on \
+               -DBLA_PKGCONFIG_LAPACK=${LAPACK_PC:Q} \
+               -DBLA_PKGCONFIG_BLAS=${BLAS_PC:Q} \
+               -DBUILD_SHARED_LIBS=ON
+
+TEST_TARGET=   test
+TEST_ENV+=     LD_LIBRARY_PATH=${WRKSRC}/lib
+
+PKGCONFIG_OVERRIDE+=   scalapack.pc.in
+
+.include "../../mk/blas.buildlink3.mk"
+.include "../../mk/mpi.buildlink3.mk"
+
+.include "../../mk/bsd.pkg.mk"
diff -r 4aa4b51b2f7e -r e9d03002966d math/scalapack/PLIST
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/math/scalapack/PLIST      Thu Aug 25 22:58:00 2022 +0000
@@ -0,0 +1,7 @@
+@comment $NetBSD: PLIST,v 1.1 2022/08/25 22:58:00 thor Exp $
+lib/cmake/${PKGNAME}/scalapack-config-version.cmake
+lib/cmake/${PKGNAME}/scalapack-config.cmake
+lib/cmake/${PKGNAME}/scalapack-targets-noconfig.cmake
+lib/cmake/${PKGNAME}/scalapack-targets.cmake
+lib/libscalapack.so
+lib/pkgconfig/scalapack.pc
diff -r 4aa4b51b2f7e -r e9d03002966d math/scalapack/buildlink3.mk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/math/scalapack/buildlink3.mk      Thu Aug 25 22:58:00 2022 +0000
@@ -0,0 +1,17 @@
+# $NetBSD: buildlink3.mk,v 1.1 2022/08/25 22:58:00 thor Exp $
+
+BUILDLINK_TREE+=       scalapack
+
+.if !defined(SCALAPACK_BUILDLINK3_MK)
+SCALAPACK_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.scalapack+=      scalapack>=2.2.0
+BUILDLINK_ABI_DEPENDS.scalapack+=      scalapack>=2.2.0
+BUILDLINK_PKGSRCDIR.scalapack?=                ../../math/scalapack
+
+.include "../../mk/blas.buildlink3.mk"
+.include "../../mk/mpi.buildlink3.mk"
+
+.endif # SCALAPACK_BUILDLINK3_MK
+
+BUILDLINK_TREE+=       -scalapack
diff -r 4aa4b51b2f7e -r e9d03002966d math/scalapack/distinfo
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/math/scalapack/distinfo   Thu Aug 25 22:58:00 2022 +0000
@@ -0,0 +1,10 @@
+$NetBSD: distinfo,v 1.1 2022/08/25 22:58:00 thor Exp $
+
+BLAKE2s (scalapack-2.2.0.tgz) = deff6c2cbd5993fa07333191f223995bfcdf55d65d30089970b976a97b2d9ccf
+SHA512 (scalapack-2.2.0.tgz) = 1e6c69a4faab8165c273479ff8b63e98df6a7253cffc524b5700d0344c3f89c52c5bccc5d3a9a9bded4d9da50080123abd8340b75e1f92317e471c4375704999
+Size (scalapack-2.2.0.tgz) = 4769286 bytes
+SHA1 (patch-PR67-MPI-linking) = 704d77790bcf5d73203a8d7a86161230d650e23c
+SHA1 (patch-SRC_pdtrord.f) = 7c51c59c4f570020595904e964901e27ec45e2c4
+SHA1 (patch-SRC_pstrord.f) = 1ca9fd5d3520b5ecb030f3e07fc0f13f1bbc8a2d
+SHA1 (patch-SRC_pstrsen.f) = 5956f03bae7ad44861a9b7776a1cb7a8438483fb
+SHA1 (patch-scalapack.pc.in) = c6a2b9068b89ecdf2b26263117b37761fdf14808
diff -r 4aa4b51b2f7e -r e9d03002966d math/scalapack/patches/patch-PR67-MPI-linking
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/math/scalapack/patches/patch-PR67-MPI-linking     Thu Aug 25 22:58:00 2022 +0000
@@ -0,0 +1,418 @@
+$NetBSD: patch-PR67-MPI-linking,v 1.1 2022/08/25 22:58:01 thor Exp $
+
+This includes upstream PR67 and the version fix, to be removed
+on update to next upstream release after 2.2.0. It modifies several
+files, as it would not make sense to have lots of separate patches
+for this one thing.
+
+diff -ru ../scalapack-2.2.0/BLACS/CMakeLists.txt ./BLACS/CMakeLists.txt
+--- ../scalapack-2.2.0/BLACS/CMakeLists.txt    2021-10-12 21:09:12.000000000 +0200
++++ ./BLACS/CMakeLists.txt     2022-07-19 10:33:55.051376486 +0200
+@@ -1,4 +1,4 @@
+ add_subdirectory(SRC)
+-if(${SCALAPACK_BUILD_TESTING})
++if(${SCALAPACK_BUILD_TESTS})
+   add_subdirectory(TESTING)
+ endif()
+diff -ru ../scalapack-2.2.0/BLACS/TESTING/CMakeLists.txt ./BLACS/TESTING/CMakeLists.txt
+--- ../scalapack-2.2.0/BLACS/TESTING/CMakeLists.txt    2021-10-12 21:09:12.000000000 +0200
++++ ./BLACS/TESTING/CMakeLists.txt     2022-07-19 16:20:28.028299214 +0200
+@@ -6,7 +6,7 @@
+ endif()
+ 
+ add_executable(xFbtest ${FTestObj})
+-target_link_libraries(xFbtest scalapack)
++target_link_libraries(xFbtest scalapack MPI::MPI_Fortran)
+ 
+ set(CTestObj
+    Cbt.c)
+@@ -17,7 +17,7 @@
+    )
+ 
+ add_executable(xCbtest ${CTestObj} ${FTestObj})
+-target_link_libraries(xCbtest scalapack)
++target_link_libraries(xCbtest scalapack MPI::MPI_Fortran)
+ 
+ file(COPY bsbr.dat DESTINATION ${SCALAPACK_BINARY_DIR}/BLACS/TESTING)
+ file(COPY bt.dat DESTINATION ${SCALAPACK_BINARY_DIR}/BLACS/TESTING)
+Only in ./BLACS/TESTING: CMakeLists.txt.orig
+diff -ru ../scalapack-2.2.0/CMakeLists.txt ./CMakeLists.txt
+--- ../scalapack-2.2.0/CMakeLists.txt  2021-10-12 21:09:12.000000000 +0200
++++ ./CMakeLists.txt   2022-07-20 16:30:35.443344793 +0200
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 3.2)
++cmake_minimum_required(VERSION 3.9)
+ project(SCALAPACK C Fortran)
+ # Configure the warning and code coverage suppression file
+ configure_file(
+@@ -27,8 +27,7 @@
+ find_package(MPI)
+ if (MPI_FOUND)
+    message(STATUS "Found MPI_LIBRARY : ${MPI_FOUND} ")
+-   INCLUDE_DIRECTORIES(${MPI_INCLUDE_PATH})
+-
++   
+    find_program(MPI_C_COMPILER
+       NAMES mpicc
+       HINTS "${MPI_BASE_DIR}"
+@@ -232,14 +231,14 @@
+ 
+ if (UNIX)
+    add_library(scalapack ${blacs} ${tools} ${tools-C} ${extra_lapack} ${pblas} ${pblas-F} ${ptzblas} ${ptools} ${pbblas} ${redist} ${src} ${src-C})
+-   target_link_libraries( scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
++   target_link_libraries( scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_C)
+    scalapack_install_library(scalapack)
+ else (UNIX) # Need to separate Fortran and C Code
+    OPTION(BUILD_SHARED_LIBS "Build shared libraries" ON )
+    add_library(scalapack ${blacs} ${tools-C} ${pblas} ${ptools} ${redist} ${src-C})
+-   target_link_libraries( scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
++   target_link_libraries( scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_C)
+    add_library(scalapack-F ${pblas-F} ${pbblas} ${ptzblas} ${tools} ${src} ${extra_lapack} )
+-   target_link_libraries( scalapack-F ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
++   target_link_libraries( scalapack-F ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
+    scalapack_install_library(scalapack)
+    scalapack_install_library(scalapack-F)
+ endif (UNIX)
+@@ -255,9 +254,9 @@
+ SET(CPACK_PACKAGE_NAME "ScaLAPACK")
+ SET(CPACK_PACKAGE_VENDOR "University of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd")
+ SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "ScaLAPACK- Linear Algebra Package")
+-set(SCALAPACK_VERSION 2.1.0)
++set(SCALAPACK_VERSION 2.2.0)
+ set(CPACK_PACKAGE_VERSION_MAJOR 2)
+-set(CPACK_PACKAGE_VERSION_MINOR 1)
++set(CPACK_PACKAGE_VERSION_MINOR 2)
+ set(CPACK_PACKAGE_VERSION_PATCH 0)
+ set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
+ SET(CPACK_PACKAGE_INSTALL_DIRECTORY "SCALAPACK")
+Only in .: CMakeLists.txt.orig
+diff -ru ../scalapack-2.2.0/PBLAS/CMakeLists.txt ./PBLAS/CMakeLists.txt
+--- ../scalapack-2.2.0/PBLAS/CMakeLists.txt    2021-10-12 21:09:12.000000000 +0200
++++ ./PBLAS/CMakeLists.txt     2022-07-19 10:33:55.052376486 +0200
+@@ -1,5 +1,5 @@
+ add_subdirectory(SRC)
+-if(${SCALAPACK_BUILD_TESTING})
++if(${SCALAPACK_BUILD_TESTS})
+   add_subdirectory(TESTING)
+   add_subdirectory(TIMING)
+ endif()
+diff -ru ../scalapack-2.2.0/PBLAS/TESTING/CMakeLists.txt ./PBLAS/TESTING/CMakeLists.txt
+--- ../scalapack-2.2.0/PBLAS/TESTING/CMakeLists.txt    2021-10-12 21:09:12.000000000 +0200
++++ ./PBLAS/TESTING/CMakeLists.txt     2022-07-19 16:21:42.412306092 +0200
+@@ -44,20 +44,20 @@
+ add_executable(cpb3tst pcblas3tst.f ${cpbtcom})
+ add_executable(zpb3tst pzblas3tst.f ${zpbtcom})
+ 
+-target_link_libraries(spb1tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+-target_link_libraries(dpb1tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+-target_link_libraries(cpb1tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+-target_link_libraries(zpb1tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
++target_link_libraries(spb1tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
++target_link_libraries(dpb1tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
++target_link_libraries(cpb1tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
++target_link_libraries(zpb1tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
+ 
+-target_link_libraries(spb2tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+-target_link_libraries(dpb2tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+-target_link_libraries(cpb2tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+-target_link_libraries(zpb2tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
++target_link_libraries(spb2tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
++target_link_libraries(dpb2tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
++target_link_libraries(cpb2tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
++target_link_libraries(zpb2tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
+ 
+-target_link_libraries(spb3tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+-target_link_libraries(dpb3tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+-target_link_libraries(cpb3tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+-target_link_libraries(zpb3tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
++target_link_libraries(spb3tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
++target_link_libraries(dpb3tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
++target_link_libraries(cpb3tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
++target_link_libraries(zpb3tst scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
+ 
+ add_test(spb1tst ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 4 ./spb1tst)
+ add_test(dpb1tst ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 4 ./dpb1tst)
+Only in ./PBLAS/TESTING: CMakeLists.txt.orig
+diff -ru ../scalapack-2.2.0/PBLAS/TIMING/CMakeLists.txt ./PBLAS/TIMING/CMakeLists.txt
+--- ../scalapack-2.2.0/PBLAS/TIMING/CMakeLists.txt     2021-10-12 21:09:12.000000000 +0200
++++ ./PBLAS/TIMING/CMakeLists.txt      2022-07-19 16:22:31.291310612 +0200
+@@ -44,20 +44,20 @@
+ add_executable(cpb3tim pcblas3tim.f ${cpbtcom})
+ add_executable(zpb3tim pzblas3tim.f ${zpbtcom})
+ 
+-target_link_libraries(spb1tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+-target_link_libraries(dpb1tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+-target_link_libraries(cpb1tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+-target_link_libraries(zpb1tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
++target_link_libraries(spb1tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
++target_link_libraries(dpb1tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
++target_link_libraries(cpb1tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
++target_link_libraries(zpb1tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
+ 
+-target_link_libraries(spb2tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+-target_link_libraries(dpb2tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+-target_link_libraries(cpb2tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+-target_link_libraries(zpb2tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
++target_link_libraries(spb2tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
++target_link_libraries(dpb2tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
++target_link_libraries(cpb2tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
++target_link_libraries(zpb2tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
+ 
+-target_link_libraries(spb3tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+-target_link_libraries(dpb3tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+-target_link_libraries(cpb3tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+-target_link_libraries(zpb3tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
++target_link_libraries(spb3tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
++target_link_libraries(dpb3tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
++target_link_libraries(cpb3tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
++target_link_libraries(zpb3tim scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_Fortran)
+ 
+ add_test(spb1tim ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 4 ./spb1tim)
+ add_test(dpb1tim ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 4 ./dpb1tim)
+Only in ./PBLAS/TIMING: CMakeLists.txt.orig
+diff -ru ../scalapack-2.2.0/REDIST/CMakeLists.txt ./REDIST/CMakeLists.txt
+--- ../scalapack-2.2.0/REDIST/CMakeLists.txt   2021-10-12 21:09:12.000000000 +0200
++++ ./REDIST/CMakeLists.txt    2022-07-19 10:33:55.052376486 +0200
+@@ -1,4 +1,4 @@
+ add_subdirectory(SRC)
+-if(${SCALAPACK_BUILD_TESTING})
++if(${SCALAPACK_BUILD_TESTS})
+   add_subdirectory(TESTING)
+ endif()
+diff -ru ../scalapack-2.2.0/REDIST/TESTING/CMakeLists.txt ./REDIST/TESTING/CMakeLists.txt
+--- ../scalapack-2.2.0/REDIST/TESTING/CMakeLists.txt   2021-10-12 21:09:12.000000000 +0200
++++ ./REDIST/TESTING/CMakeLists.txt    2022-07-19 16:14:17.879264986 +0200
+@@ -15,17 +15,17 @@
+ add_executable(xctrmr pctrmrdrv.c)
+ add_executable(xztrmr pztrmrdrv.c)
+ 



Home | Main Index | Thread Index | Old Index