git: 40154a4aa70b - main - science/gromacs: Multiple improvements
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 20 Jul 2023 17:32:44 UTC
The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=40154a4aa70b0ba230acf68513d4904ef51df7cd commit 40154a4aa70b0ba230acf68513d4904ef51df7cd Author: Yuri Victorovich <yuri@FreeBSD.org> AuthorDate: 2023-07-18 14:21:39 +0000 Commit: Yuri Victorovich <yuri@FreeBSD.org> CommitDate: 2023-07-20 17:32:41 +0000 science/gromacs: Multiple improvements * remove dependency on xorg: last xorg utility was retired some time ago * add HWLOC option and pass cmake argument: hwloc2 is only used when this argument is supplied * refactor OPENCL option: add OPENCL_NONE, OPENCL_ICD, OPENCL_SYCL options * refactor SIMD option: use the AUTO value when set * correct OPENMP option --- science/gromacs/Makefile | 44 +++++++++++++++++++++++++++++--------------- science/gromacs/pkg-plist | 26 ++++++++++++++++---------- 2 files changed, 45 insertions(+), 25 deletions(-) diff --git a/science/gromacs/Makefile b/science/gromacs/Makefile index ce462cf73082..f8fe592c6709 100644 --- a/science/gromacs/Makefile +++ b/science/gromacs/Makefile @@ -1,5 +1,6 @@ PORTNAME= gromacs DISTVERSION= 2023.2 +PORTREVISION= 1 CATEGORIES= science MASTER_SITES= ftp://ftp.gromacs.org/pub/gromacs/ DISTFILES= ${DISTNAME}${EXTRACT_SUFX} # only for googletest @@ -14,9 +15,8 @@ LICENSE_FILE= ${WRKSRC}/COPYING BROKEN_i386= undefined reference to `__atomic_load' and `__atomic_compare_exchange' #` BUILD_DEPENDS= boost-libs>=1.44:devel/boost-libs -LIB_DEPENDS= libhwloc.so:devel/hwloc2 -USES= cmake compiler:c++17-lang gnome perl5 pkgconfig python:build shebangfix xorg +USES= cmake compiler:c++17-lang gnome perl5 pkgconfig python:build shebangfix USE_GNOME= libxml2 USE_LDCONFIG= yes @@ -28,14 +28,16 @@ bash_CMD= ${SH} CMAKE_OFF= GMX_USE_RDTSCP \ USE_PYTHON_SCRIPTS -CMAKE_ARGS= -DPython3_EXECUTABLE=${PYTHON_CMD} +CMAKE_ARGS= -DPython_EXECUTABLE=${PYTHON_CMD} \ + -DPython3_EXECUTABLE=${PYTHON_CMD} TEST_TARGET= check -OPTIONS_DEFINE= ATLAS FLOAT LEGACY OPENCL OPENMP SIMD X11 -OPTIONS_SINGLE= MP +OPTIONS_DEFINE= ATLAS FLOAT HWLOC LEGACY OPENMP SIMD +OPTIONS_SINGLE= MP OPENCL OPTIONS_SINGLE_MP= NOMP MPICH OPENMPI THREAD_MPI -OPTIONS_DEFAULT= LEGACY OPENMP THREAD_MPI X11 # FLOAT should not be a default because science/votca needs double precision. This is likely the same for many other uses. +OPTIONS_SINGLE_OPENCL= OPENCL_NONE OPENCL_ICD OPENCL_SYCL +OPTIONS_DEFAULT= HWLOC LEGACY OPENCL_NONE OPENMP THREAD_MPI # FLOAT should not be a default because science/votca needs double precision. This is likely the same for many other uses. OPTIONS_SUB= yes ATLAS_DESC= Use ATLAS for BLAS and LAPACK @@ -55,21 +57,33 @@ FLOAT_CMAKE_OFF= -DGMX_DOUBLE:BOOL=ON FLOAT_PLIST_SUB= SUFFIX_D="" FLOAT_PLIST_SUB_OFF= SUFFIX_D="_d" +HWLOC_DESC= Build with HWLOC2, portable hardware locality package +HWLOC_CMAKE_BOOL= GMX_HWLOC +HWLOC_LIB_DEPENDS= libhwloc.so:devel/hwloc2 + LEGACY_DESC= Install legacy API # expected by science/votca LEGACY_CMAKE_BOOL= GMX_INSTALL_LEGACY_API -OPENCL_CMAKE_BOOL= GMX_USE_OPENCL -OPENCL_CMAKE_ON= -DGMX_GPU:STRING=OpenCL # one of: OFF, CUDA, OpenCL, SYCL -OPENCL_CMAKE_OFF= -DGMX_GPU:STRING=OFF -OPENCL_LIB_DEPENDS= libOpenCL.so:devel/ocl-icd +OPENCL_NONE_DESC= No OpenCL +OPENCL_NONE_CMAKE_ON= -DGMX_GPU:STRING=OFF # one of: OFF, CUDA, OpenCL, SYCL -OPENMP_CMAKE_ON= -DGMX_CXX11:BOOL=OFF -OPENMP_CMAKE_OFF= -DGMX_OPENMP:BOOL=OFF +OPENCL_ICD_DESC= OpenCL via Installable Client Driver +OPENCL_ICD_CMAKE_ON= -DGMX_GPU:STRING=OpenCL -DGMX_GPU:STRING=OpenCL +OPENCL_ICD_LIB_DEPENDS= libOpenCL.so:devel/ocl-icd \ + libclFFT.so:math/clfft +OPENCL_ICD_IMPLIES= FLOAT -SIMD_CMAKE_OFF= -DGMX_SIMD:STRING="None" +OPENCL_SYCL_DESC= OpenCL via the OpenSYCL implementation of SYCL +OPENCL_SYCL_USES= localbase +OPENCL_SYCL_CMAKE_ON= -DGMX_GPU:STRING=OpenCL -DGMX_GPU:STRING=SYCL -DGMX_SYCL_HIPSYCL=ON +OPENCL_SYCL_LIB_DEPENDS= libhipSYCL-rt.so:lang/opensycl +OPENCL_SYCL_IMPLIES= FLOAT +OPENCL_SYCL_BROKEN= configure uses a wrong namespace to find CYCL, see https://gitlab.com/gromacs/gromacs/-/issues/4838 -X11_USE= XORG=ice,sm,xext,x11 -X11_CMAKE_BOOL= GMX_X11 +OPENMP_CMAKE_BOOL= GMX_OPENMP + +SIMD_CMAKE_OFF= -DGMX_SIMD:STRING="None" +SIMD_CMAKE_ON= -DGMX_SIMD:STRING="AUTO" MP_DESC= Multiprocessing diff --git a/science/gromacs/pkg-plist b/science/gromacs/pkg-plist index 0cb8e4801e7b..131720261d2b 100644 --- a/science/gromacs/pkg-plist +++ b/science/gromacs/pkg-plist @@ -175,16 +175,22 @@ share/cmake/gromacs%%SUFFIX_D%%/libgromacs.cmake %%DATADIR%%/COPYING %%DATADIR%%/README.tutor %%DATADIR%%/README_FreeEnergyModifications.txt -%%OPENCL%%%%DATADIR%%/opencl/nbnxn_ocl_kernel_amd.clh -%%OPENCL%%%%DATADIR%%/opencl/nbnxn_ocl_kernel_nowarp.clh -%%OPENCL%%%%DATADIR%%/opencl/nbnxn_ocl_kernel_nvidia.clh -%%OPENCL%%%%DATADIR%%/opencl/nbnxn_ocl_kernel_pruneonly.clh -%%OPENCL%%%%DATADIR%%/opencl/nbnxn_ocl_kernel_utils.clh -%%OPENCL%%%%DATADIR%%/opencl/nbnxn_ocl_kernels.cl -%%OPENCL%%%%DATADIR%%/opencl/nbnxn_ocl_kernels.clh -%%OPENCL%%%%DATADIR%%/opencl/nbnxn_ocl_kernels_fastgen.clh -%%OPENCL%%%%DATADIR%%/opencl/nbnxn_ocl_kernels_fastgen_add_twincut.clh -%%OPENCL%%%%DATADIR%%/opencl/vectype_ops.clh +%%OPENCL_ICD%%%%DATADIR%%/opencl/gromacs/ewald/pme_gather.clh +%%OPENCL_ICD%%%%DATADIR%%/opencl/gromacs/ewald/pme_gpu_calculate_splines.clh +%%OPENCL_ICD%%%%DATADIR%%/opencl/gromacs/ewald/pme_gpu_types.h +%%OPENCL_ICD%%%%DATADIR%%/opencl/gromacs/ewald/pme_program.cl +%%OPENCL_ICD%%%%DATADIR%%/opencl/gromacs/ewald/pme_solve.clh +%%OPENCL_ICD%%%%DATADIR%%/opencl/gromacs/ewald/pme_spread.clh +%%OPENCL_ICD%%%%DATADIR%%/opencl/gromacs/gpu_utils/device_utils.clh +%%OPENCL_ICD%%%%DATADIR%%/opencl/gromacs/gpu_utils/vectype_ops.clh +%%OPENCL_ICD%%%%DATADIR%%/opencl/gromacs/nbnxm/opencl/nbnxm_ocl_consts.h +%%OPENCL_ICD%%%%DATADIR%%/opencl/gromacs/nbnxm/opencl/nbnxm_ocl_kernel.clh +%%OPENCL_ICD%%%%DATADIR%%/opencl/gromacs/nbnxm/opencl/nbnxm_ocl_kernel_pruneonly.clh +%%OPENCL_ICD%%%%DATADIR%%/opencl/gromacs/nbnxm/opencl/nbnxm_ocl_kernel_utils.clh +%%OPENCL_ICD%%%%DATADIR%%/opencl/gromacs/nbnxm/opencl/nbnxm_ocl_kernels.cl +%%OPENCL_ICD%%%%DATADIR%%/opencl/gromacs/nbnxm/opencl/nbnxm_ocl_kernels.clh +%%OPENCL_ICD%%%%DATADIR%%/opencl/gromacs/nbnxm/opencl/nbnxm_ocl_kernels_fastgen.clh +%%OPENCL_ICD%%%%DATADIR%%/opencl/gromacs/nbnxm/opencl/nbnxm_ocl_kernels_fastgen_add_twincut.clh %%LEGACY%%%%DATADIR%%/template/CMakeLists.txt %%LEGACY%%%%DATADIR%%/template/Makefile.pkg %%LEGACY%%%%DATADIR%%/template/README