From nobody Sat Aug 27 07:37:38 2022 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4MF7pC0Nf2z4ZmKl; Sat, 27 Aug 2022 07:37:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4MF7pB70Dvz3hKZ; Sat, 27 Aug 2022 07:37:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1661585859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uZZ7iDW4Od94pyZfptfVxCYtMEctpWP2q1OfmtaDwPY=; b=eivf8Mujnjg2m4IJ4AcWdDQd251Wbk7vCnFBzulUO3fWDA72RgfHwHS8neRQ1tdLbiCYC1 +BJULV2Gsicadwg3/VueffMfhD2dv/7Hr3ihXR4TFU9YBs6EeF+DhiJWUzMKrHpV0f6AXv 3MPw8pwV0Cv7A30fgmzp8fAR/gg1vS/wF6YiNmEr51TVWGPhEAttPx/JsAZWpJIya6wmQl rA4t+ms5S6WYs/nuKmEoqbIRojwRqx+sszqIl1I9V2KHYMTNihf3UrVwVY93yXQr4lydZJ 8CvJxu0zM63rSICKqCvdCf0/81gknhHZbfNzCB8Ls9QNy76WtWz3YoXuwh4zGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4MF7pB5qWKzgfW; Sat, 27 Aug 2022 07:37:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 27R7bcBE025678; Sat, 27 Aug 2022 07:37:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 27R7bc03025677; Sat, 27 Aug 2022 07:37:38 GMT (envelope-from git) Date: Sat, 27 Aug 2022 07:37:38 GMT Message-Id: <202208270737.27R7bc03025677@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Yuri Victorovich Subject: git: c2fa0cfe1710 - main - math/superlu-dist: New port: Distributed memory, MPI based SuperLU List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuri X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c2fa0cfe17101f613e90b97b9384f0a7537cd281 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1661585859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uZZ7iDW4Od94pyZfptfVxCYtMEctpWP2q1OfmtaDwPY=; b=jLKq624lQ5eSsc6ulPE4IYYhKDH2O901TL0LbV9us5XRhU0+l7lL1tAMw860h82LkwBTB3 4KIIMwS+kSobIYDCEnldzACdz4yOjC0BzIWzz16/O89Tz4XSAj2fc7wcoPYWxmNKAK4DFP v3iay7kIy8BdroHI1PmPupxCpblV8ZmNv3CguEDEwqlnkSafGSLlSYeimcK8wpvbE2WA4Q jaZRvaM1KvUxOT1s6mb+tN0/5rFVO4H/MzgMEgKrGyGOIQjPaixC78SNxn0kw3O5fbuAV6 MwW4aJyNo6AlJd/IrCBt7dalRiBKQSbB451ybmgiTFal/Lcqlb1Awm3ZqyYALQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1661585859; a=rsa-sha256; cv=none; b=hfeDBQaYE1zSUA68Ju4MhEbjF26tM+SOzqEAMASnUGRUR3yQTXY8D4GsPlX5m73+rxJrcA LLGMH+5r8MxpUWfURhB/O0BHYiNTvuuvdZXroewcpyTyH0F8vrhFm8dzbkC1qKLOMJeP1Q njMfxNTU8yzIVjQ/KicalRMOaFnZARDaojO8+XkSXSpPz8nDY+q7X1jTFLIZFIaCixmmei Evh/hkI4fryUzLGoQjEGRECETrpMN9C2VhebZleGOnFvY9EcVF3j6BQskNUeBYTIr0Ncs/ +qLsrIv9pO+SinB4VAtmU1kLDO3hvFRkWRd9B8Kr5Ysy61ezTWPrB+k2jhD7kw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=c2fa0cfe17101f613e90b97b9384f0a7537cd281 commit c2fa0cfe17101f613e90b97b9384f0a7537cd281 Author: Yuri Victorovich AuthorDate: 2022-08-27 07:36:52 +0000 Commit: Yuri Victorovich CommitDate: 2022-08-27 07:37:34 +0000 math/superlu-dist: New port: Distributed memory, MPI based SuperLU --- math/Makefile | 1 + math/superlu-dist/Makefile | 59 +++++++++++++++++++++++++++++++++++++++++++++ math/superlu-dist/distinfo | 5 ++++ math/superlu-dist/pkg-descr | 12 +++++++++ math/superlu-dist/pkg-plist | 32 ++++++++++++++++++++++++ 5 files changed, 109 insertions(+) diff --git a/math/Makefile b/math/Makefile index 4cff58d2ba9a..ca08e5d54f67 100644 --- a/math/Makefile +++ b/math/Makefile @@ -1095,6 +1095,7 @@ SUBDIR += suitesparse-umfpack SUBDIR += sundials SUBDIR += superlu + SUBDIR += superlu-dist SUBDIR += symengine SUBDIR += symmetrica SUBDIR += symphony diff --git a/math/superlu-dist/Makefile b/math/superlu-dist/Makefile new file mode 100644 index 000000000000..d06944bcd2d1 --- /dev/null +++ b/math/superlu-dist/Makefile @@ -0,0 +1,59 @@ +PORTNAME= superlu-dist +DISTVERSIONPREFIX= v +DISTVERSION= 8.1.0 +CATEGORIES= math + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Distributed memory, MPI based SuperLU + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/License.txt + +USES= cmake:testing fortran pkgconfig +USE_LDCONFIG= yes + +USE_GITHUB= yes +GH_ACCOUNT= xiaoyeli +GH_PROJECT= superlu_dist + +CMAKE_ON= USE_XSDK_DEFAULTS BUILD_SHARED_LIBS +CMAKE_OFF= enable_tests enable_examples TPL_ENABLE_PARMETISLIB +CMAKE_TESTING_ON= enable_tests # many tests fail, see https://github.com/xiaoyeli/superlu_dist/issues/113 + +OPTIONS_DEFINE= DOCS FORTRAN +OPTIONS_SINGLE= BLAS MPI +OPTIONS_SINGLE_BLAS= ATLAS GOTOBLAS OPENBLAS REFERENCE +OPTIONS_SINGLE_MPI= MPICH OPENMPI +OPTIONS_DEFAULT= FORTRAN MPICH REFERENCE +OPTIONS_SUB= yes + +# all BLAS-related options +ATLAS_USES= blaslapack:atlas +ATLAS_CMAKE_ON= -DBLA_VENDOR:STRING="ATLAS" +GOTOBLAS_DESC= GotoBLAS blas implementation +GOTOBLAS_USES= blaslapack:gotoblas +GOTOBLAS_CMAKE_ON= -DBLA_VENDOR:STRING="Goto" +OPENBLAS_USES= blaslapack:openblas +OPENBLAS_CMAKE_ON= -DBLA_VENDOR:STRING="OpenBLAS" +REFERENCE_DESC= Reference blas implementation +REFERENCE_USES= blaslapack +REFERENCE_CMAKE_ON= -DBLA_VENDOR:STRING="Generic" + +# other options +FORTRAN_CMAKE_BOOL= XSDK_ENABLE_Fortran +MPICH_USES= mpi:mpich +OPENMPI_USES= mpi:openmpi + +post-install-DOCS-on: + @${MKDIR} ${STAGEDIR}${DOCSDIR} + cd ${WRKSRC}/DOC && ${COPYTREE_SHARE} "ug.pdf" ${STAGEDIR}${DOCSDIR} + +post-install-FORTRAN-on: + # workaround for https://github.com/xiaoyeli/superlu_dist/issues/112 + @${RM} -r ${STAGEDIR}${PREFIX}/include/FORTRAN/CMakeFiles + # move .mod files to a proper location + @cd ${STAGEDIR}${PREFIX}/include && \ + ${MV} FORTRAN/* . && \ + ${RMDIR} FORTRAN + +.include diff --git a/math/superlu-dist/distinfo b/math/superlu-dist/distinfo new file mode 100644 index 000000000000..979fbe207708 --- /dev/null +++ b/math/superlu-dist/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1661580599 +SHA256 (xiaoyeli-superlu_dist-v8.1.0_GH0.tar.gz) = 9308844b99a7e762d5704934f7e9f79daf158b0bfc582994303c2e0b31518b34 +SIZE (xiaoyeli-superlu_dist-v8.1.0_GH0.tar.gz) = 2297109 +SHA256 (xiaoyeli-superlu_dist-v8.1.0_GH0.tar.gz) = 9308844b99a7e762d5704934f7e9f79daf158b0bfc582994303c2e0b31518b34 +SIZE (xiaoyeli-superlu_dist-v8.1.0_GH0.tar.gz) = 2297109 diff --git a/math/superlu-dist/pkg-descr b/math/superlu-dist/pkg-descr new file mode 100644 index 000000000000..dc9081ff1a4c --- /dev/null +++ b/math/superlu-dist/pkg-descr @@ -0,0 +1,12 @@ +SuperLU_DIST contains a set of subroutines to solve a sparse linear system +A*X=B. It uses Gaussian elimination with static pivoting (GESP). Static pivoting +is a technique that combines the numerical stability of partial pivoting with +the scalability of Cholesky (no pivoting), to run accurately and efficiently on +large numbers of processors. + +SuperLU_DIST is a parallel extension to the serial SuperLU library. It is +targeted for the distributed memory parallel machines. SuperLU_DIST is +implemented in ANSI C, with OpenMP for on-node parallelism and MPI for off-node +communications. We are actively developing GPU acceleration capabilities. + +WWW: https://portal.nersc.gov/project/sparse/superlu/ diff --git a/math/superlu-dist/pkg-plist b/math/superlu-dist/pkg-plist new file mode 100644 index 000000000000..ef969ecbce12 --- /dev/null +++ b/math/superlu-dist/pkg-plist @@ -0,0 +1,32 @@ +include/colamd.h +include/dcomplex.h +include/dlustruct_gpu.h +include/gpu_api_utils.h +include/gpu_wrapper.h +include/machines.h +include/psymbfact.h +include/slustruct_gpu.h +include/superlu_FCnames.h +include/superlu_FortranCInterface.h +include/superlu_ddefs.h +include/superlu_defs.h +%%FORTRAN%%include/superlu_dist_config.fh +include/superlu_dist_config.h +include/superlu_enum_consts.h +%%FORTRAN%%include/superlu_mod.mod +include/superlu_sdefs.h +include/superlu_zdefs.h +%%FORTRAN%%include/superlupara_mod.mod +include/supermatrix.h +include/util_dist.h +include/zlustruct_gpu.h +lib/libsuperlu_dist.a +lib/libsuperlu_dist.so +lib/libsuperlu_dist.so.8 +lib/libsuperlu_dist.so.8.1.0 +%%FORTRAN%%lib/libsuperlu_dist_fortran.a +%%FORTRAN%%lib/libsuperlu_dist_fortran.so +%%FORTRAN%%lib/libsuperlu_dist_fortran.so.8 +%%FORTRAN%%lib/libsuperlu_dist_fortran.so.8.1.0 +libdata/pkgconfig/superlu_dist.pc +%%PORTDOCS%%%%DOCSDIR%%/ug.pdf