git: 45cc1f7d41df - main - science/sirius: New port: Domain specific library for electronic structure calculations
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 27 Aug 2022 04:25:55 UTC
The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=45cc1f7d41df6548b27553e528461021710a31a9 commit 45cc1f7d41df6548b27553e528461021710a31a9 Author: Yuri Victorovich <yuri@FreeBSD.org> AuthorDate: 2022-08-27 04:25:01 +0000 Commit: Yuri Victorovich <yuri@FreeBSD.org> CommitDate: 2022-08-27 04:25:42 +0000 science/sirius: New port: Domain specific library for electronic structure calculations --- science/Makefile | 1 + science/sirius/Makefile | 50 +++++++++++++++ science/sirius/distinfo | 5 ++ science/sirius/pkg-descr | 9 +++ science/sirius/pkg-plist | 164 +++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 229 insertions(+) diff --git a/science/Makefile b/science/Makefile index 2931e21eec3c..a67584509e4d 100644 --- a/science/Makefile +++ b/science/Makefile @@ -429,6 +429,7 @@ SUBDIR += simlib SUBDIR += simple-dftd3 SUBDIR += simsmith + SUBDIR += sirius SUBDIR += smoldyn SUBDIR += sparta SUBDIR += spglib diff --git a/science/sirius/Makefile b/science/sirius/Makefile new file mode 100644 index 000000000000..d0f518121fdb --- /dev/null +++ b/science/sirius/Makefile @@ -0,0 +1,50 @@ +PORTNAME= sirius +DISTVERSIONPREFIX= v +DISTVERSION= 7.3.2 +CATEGORIES= science +PKGNAMESUFFIX= -quantum-chemistry # other software also has the name "sirius" + +PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ +PATCHFILES= c45ef15637958885b1b299c09ec1bf9376e50ecc.patch:-p1 # https://github.com/electronic-structure/SIRIUS/pull/757 + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Domain specific library for electronic structure calculations + +LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +LIB_DEPENDS= libcosta.so:math/costa \ + libgsl.so:math/gsl \ + libhdf5.so:science/hdf5 \ + libopenblas.so:math/openblas \ + libscalapack.so:math/scalapack \ + libspfft.so:math/spfft \ + libspla.so:math/spla \ + libsymspg.so:science/spglib \ + libxc.so:science/libxc + +USES= cmake:testing compiler:c++14-lang eigen:3,test fortran pkgconfig +USE_LDCONFIG= yes + +USE_GITHUB= yes +GH_ACCOUNT= electronic-structure +GH_PROJECT= SIRIUS + +OPTIONS_DEFINE= NLCGLIB +OPTIONS_SINGLE= MPI +OPTIONS_SINGLE_MPI= MPICH OPENMPI +OPTIONS_DEFAULT= MPICH # NLCGLIB + +NLCGLIB_DESC= Enable nlcglib +NLCGLIB_CMAKE_BOOL= USE_NLCGLIB +NLCGLIB_LIB_DEPENDS= libnlcglib.so:science/nlcglib \ + libkokkoscore.so:devel/kokkos +NLCGLIB_BROKEN= build breaks, see https://github.com/electronic-structure/SIRIUS/issues/759 + +MPICH_USES= mpi:mpich + +OPENMPI_USES= mpi:openmpi + +# many tests fail, see https://github.com/electronic-structure/SIRIUS/issues/760 + +.include <bsd.port.mk> diff --git a/science/sirius/distinfo b/science/sirius/distinfo new file mode 100644 index 000000000000..5ad19bfbde49 --- /dev/null +++ b/science/sirius/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1661540097 +SHA256 (electronic-structure-SIRIUS-v7.3.2_GH0.tar.gz) = a256508de6b344345c295ad8642dbb260c4753cd87cc3dd192605c33542955d7 +SIZE (electronic-structure-SIRIUS-v7.3.2_GH0.tar.gz) = 60638490 +SHA256 (c45ef15637958885b1b299c09ec1bf9376e50ecc.patch) = fe5ba232dea3d3b809e991f4d036ee13fbd108b7bee39595ffea82c8a648796d +SIZE (c45ef15637958885b1b299c09ec1bf9376e50ecc.patch) = 501 diff --git a/science/sirius/pkg-descr b/science/sirius/pkg-descr new file mode 100644 index 000000000000..5a3468ee0c9f --- /dev/null +++ b/science/sirius/pkg-descr @@ -0,0 +1,9 @@ +SIRIUS is a domain specific library for electronic structure calculations. It +implements pseudopotential plane wave (PP-PW) and full potential linearized +augmented plane wave (FP-LAPW) methods and is designed for GPU acceleration of +popular community codes such as Exciting, Elk and Quantum ESPRESSO. SIRIUS is +written in C++14 with MPI, OpenMP and CUDA/ROCm programming models. SIRIUS is +organised as a collection of classes that abstract away the different building +blocks of DFT self-consistency cycle. + +WWW: https://github.com/electronic-structure/SIRIUS diff --git a/science/sirius/pkg-plist b/science/sirius/pkg-plist new file mode 100644 index 000000000000..95ea42754ada --- /dev/null +++ b/science/sirius/pkg-plist @@ -0,0 +1,164 @@ +bin/atom +bin/hydrogen +bin/sirius.scf +bin/unit_cell_tools +bin/upf1_to_json.py +bin/upf2_to_json.py +bin/upf_to_json +bin/upf_to_json.py +include/sirius/input_schema.hpp +include/sirius/sirius.mod +include/sirius/src/SDDK/dmatrix.hpp +include/sirius/src/SDDK/fft.hpp +include/sirius/src/SDDK/fft3d_grid.hpp +include/sirius/src/SDDK/geometry3d.hpp +include/sirius/src/SDDK/gvec.hpp +include/sirius/src/SDDK/hdf5_tree.hpp +include/sirius/src/SDDK/matrix_storage.hpp +include/sirius/src/SDDK/memory.hpp +include/sirius/src/SDDK/omp.hpp +include/sirius/src/SDDK/serialize_mdarray.hpp +include/sirius/src/SDDK/serializer.hpp +include/sirius/src/SDDK/splindex.hpp +include/sirius/src/SDDK/type_definition.hpp +include/sirius/src/SDDK/wave_functions.hpp +include/sirius/src/SDDK/wf_inner.hpp +include/sirius/src/SDDK/wf_ortho.hpp +include/sirius/src/SDDK/wf_trans.hpp +include/sirius/src/_header_file_template.hpp +include/sirius/src/api/error_codes.hpp +include/sirius/src/band/band.hpp +include/sirius/src/band/davidson.hpp +include/sirius/src/band/residuals.hpp +include/sirius/src/beta_projectors/beta_projectors.hpp +include/sirius/src/beta_projectors/beta_projectors_base.hpp +include/sirius/src/beta_projectors/beta_projectors_gradient.hpp +include/sirius/src/beta_projectors/beta_projectors_strain_deriv.hpp +include/sirius/src/constants.hpp +include/sirius/src/context/config.hpp +include/sirius/src/context/simulation_context.hpp +include/sirius/src/context/simulation_parameters.hpp +include/sirius/src/density/augmentation_operator.hpp +include/sirius/src/density/density.hpp +include/sirius/src/density/occupation_matrix.hpp +include/sirius/src/density/paw_density.hpp +include/sirius/src/dft/dft_ground_state.hpp +include/sirius/src/dft/energy.hpp +include/sirius/src/dft/smearing.hpp +include/sirius/src/function3d/field4d.hpp +include/sirius/src/function3d/periodic_function.hpp +include/sirius/src/function3d/smooth_periodic_function.hpp +include/sirius/src/function3d/spheric_function.hpp +include/sirius/src/geometry/force.hpp +include/sirius/src/geometry/non_local_functor.hpp +include/sirius/src/geometry/stress.hpp +include/sirius/src/geometry/wavefunction_strain_deriv.hpp +include/sirius/src/gpu/acc.hpp +include/sirius/src/gpu/acc_blas.hpp +include/sirius/src/gpu/acc_blas_api.hpp +include/sirius/src/gpu/acc_runtime.hpp +include/sirius/src/gpu/cuda_common.hpp +include/sirius/src/gpu/cuda_timer.hpp +include/sirius/src/gpu/cusolver.hpp +include/sirius/src/gpu/fft_kernels.hpp +include/sirius/src/gpu/magma.hpp +include/sirius/src/gpu/magma_threadsetting.h +include/sirius/src/hamiltonian/hamiltonian.hpp +include/sirius/src/hamiltonian/local_operator.hpp +include/sirius/src/hamiltonian/non_local_operator.hpp +include/sirius/src/hubbard/hubbard.hpp +include/sirius/src/hubbard/hubbard_matrix.hpp +include/sirius/src/k_point/k_point.hpp +include/sirius/src/k_point/k_point_set.hpp +include/sirius/src/lapw/matching_coefficients.hpp +include/sirius/src/linalg/blacs_grid.hpp +include/sirius/src/linalg/blas_lapack.h +include/sirius/src/linalg/eigenproblem.hpp +include/sirius/src/linalg/eigensolver.hpp +include/sirius/src/linalg/elpa.hpp +include/sirius/src/linalg/inverse_sqrt.hpp +include/sirius/src/linalg/linalg.hpp +include/sirius/src/linalg/linalg_base.hpp +include/sirius/src/linalg/linalg_spla.hpp +include/sirius/src/linalg/scalapack.h +include/sirius/src/mixer/anderson_mixer.hpp +include/sirius/src/mixer/anderson_stable_mixer.hpp +include/sirius/src/mixer/broyden2_mixer.hpp +include/sirius/src/mixer/linear_mixer.hpp +include/sirius/src/mixer/mixer.hpp +include/sirius/src/mixer/mixer_factory.hpp +include/sirius/src/mixer/mixer_functions.hpp +include/sirius/src/mpi/communicator.hpp +include/sirius/src/mpi/mpi_grid.hpp +include/sirius/src/multi_cg/multi_cg.hpp +include/sirius/src/nlcglib/adaptor.hpp +include/sirius/src/nlcglib/apply_hamiltonian.hpp +include/sirius/src/potential/potential.hpp +include/sirius/src/potential/xc_functional.hpp +include/sirius/src/potential/xc_functional_base.hpp +include/sirius/src/pseudopotential_hmatrix.hpp +include/sirius/src/radial/radial_grid.hpp +include/sirius/src/radial/radial_integrals.hpp +include/sirius/src/radial/radial_solver.hpp +include/sirius/src/radial/spline.hpp +include/sirius/src/sht/gaunt.hpp +include/sirius/src/sht/lebedev_grids.hpp +include/sirius/src/sht/sht.hpp +include/sirius/src/sirius.hpp +include/sirius/src/sirius_version.hpp +include/sirius/src/specfunc/sbessel.hpp +include/sirius/src/specfunc/specfunc.hpp +include/sirius/src/symmetry/check_gvec.hpp +include/sirius/src/symmetry/crystal_symmetry.hpp +include/sirius/src/symmetry/get_irreducible_reciprocal_mesh.hpp +include/sirius/src/symmetry/lattice.hpp +include/sirius/src/symmetry/rotation.hpp +include/sirius/src/symmetry/symmetrize.hpp +include/sirius/src/testing.hpp +include/sirius/src/typedefs.hpp +include/sirius/src/unit_cell/atom.hpp +include/sirius/src/unit_cell/atom_symmetry_class.hpp +include/sirius/src/unit_cell/atom_type.hpp +include/sirius/src/unit_cell/atom_type_base.hpp +include/sirius/src/unit_cell/atomic_data.hpp +include/sirius/src/unit_cell/basis_functions_index.hpp +include/sirius/src/unit_cell/free_atom.hpp +include/sirius/src/unit_cell/hubbard_orbitals_descriptor.hpp +include/sirius/src/unit_cell/radial_functions_index.hpp +include/sirius/src/unit_cell/unit_cell.hpp +include/sirius/src/utils/any_ptr.hpp +include/sirius/src/utils/cmd_args.hpp +include/sirius/src/utils/env.hpp +include/sirius/src/utils/filesystem.hpp +include/sirius/src/utils/json.hpp +include/sirius/src/utils/nlohmann_json.hpp +include/sirius/src/utils/nvtx_profiler.hpp +include/sirius/src/utils/power.hpp +include/sirius/src/utils/profiler.hpp +include/sirius/src/utils/rt_graph.hpp +include/sirius/src/utils/rte.hpp +include/sirius/src/utils/utils.hpp +include/sirius/version.hpp +lib/cmake/sirius/cudalibs_target.cmake +lib/cmake/sirius/hdf5_target.cmake +lib/cmake/sirius/modules/FindCRAY_LIBSCI.cmake +lib/cmake/sirius/modules/FindElpa.cmake +lib/cmake/sirius/modules/FindFFTW.cmake +lib/cmake/sirius/modules/FindFilesystem.cmake +lib/cmake/sirius/modules/FindHIP.cmake +lib/cmake/sirius/modules/FindHIP/run_hipcc.cmake +lib/cmake/sirius/modules/FindHIP/run_make2cmake.cmake +lib/cmake/sirius/modules/FindLibSPG.cmake +lib/cmake/sirius/modules/FindLibVDWXC.cmake +lib/cmake/sirius/modules/FindLibXC.cmake +lib/cmake/sirius/modules/FindMAGMA.cmake +lib/cmake/sirius/modules/FindMKL.cmake +lib/cmake/sirius/modules/FindPython2.cmake +lib/cmake/sirius/modules/FindPythonSupport.cmake +lib/cmake/sirius/modules/FindSCALAPACK.cmake +lib/cmake/sirius/modules/Findmpi4py.cmake +lib/cmake/sirius/modules/GitSubmodule.cmake +lib/cmake/sirius/siriusConfig.cmake +lib/cmake/sirius/siriusTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/sirius/siriusTargets.cmake +lib/libsirius.so