From de4322b54cb61cc39025996bcd33579a27b118f4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 14:32:04 -0400 Subject: [PATCH 1/5] whitespace fixes --- src/INTEL/intel_intrinsics_airebo.h | 4 ++-- src/INTEL/intel_preprocess.h | 2 +- src/INTEL/intel_simd.h | 36 ++++++++++++++--------------- src/INTEL/pair_buck_intel.cpp | 2 +- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/INTEL/intel_intrinsics_airebo.h b/src/INTEL/intel_intrinsics_airebo.h index ea29888ea1..5a7959c683 100644 --- a/src/INTEL/intel_intrinsics_airebo.h +++ b/src/INTEL/intel_intrinsics_airebo.h @@ -623,7 +623,7 @@ public: ) { assert(scale == sizeof(FVEC_SCAL_T)); # if FVEC_LEN==8 - FVEC_SUFFIX(_mm512_mask_i32scatter_)(mem, mask.val_, + FVEC_SUFFIX(_mm512_mask_i32scatter_)(mem, mask.val_, _mm512_castsi512_si256(idx.val_), a.val_, sizeof(FVEC_SCAL_T)); # else @@ -668,7 +668,7 @@ public: const double * mem, const int scale ) { assert(scale == sizeof(double)); - __m512d lo = _mm512_mask_i32gather_pd(src.lo_, mask.val_, + __m512d lo = _mm512_mask_i32gather_pd(src.lo_, mask.val_, _mm512_castsi512_si256(idx.val_), mem, sizeof(double)); __m512d hi = _mm512_mask_i32gather_pd(src.hi_, get_bvec_hi(mask.val_), diff --git a/src/INTEL/intel_preprocess.h b/src/INTEL/intel_preprocess.h index 41c91d1578..9f4c78c9bc 100644 --- a/src/INTEL/intel_preprocess.h +++ b/src/INTEL/intel_preprocess.h @@ -338,7 +338,7 @@ enum {TIME_PACK, TIME_HOST_NEIGHBOR, TIME_HOST_PAIR, TIME_OFFLOAD_NEIGHBOR, #endif // TO BE DEPRECATED -#ifndef USE_OMP_SIMD +#ifndef USE_OMP_SIMD #define IP_PRE_fdotr_acc_force_l5(lf, lt, minlocal, nthreads, f_start, \ f_stride, pos, ov0, ov1, ov2, \ diff --git a/src/INTEL/intel_simd.h b/src/INTEL/intel_simd.h index eb5d9857a5..2affa6a394 100644 --- a/src/INTEL/intel_simd.h +++ b/src/INTEL/intel_simd.h @@ -838,10 +838,10 @@ namespace ip_simd { x = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), atom, _MM_SCALE_2); - y = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + y = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), atom+1, _MM_SCALE_2); - z = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + z = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), atom+2, _MM_SCALE_2); } @@ -852,10 +852,10 @@ namespace ip_simd { x = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), atom, _MM_SCALE_2); - y = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + y = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), atom+1, _MM_SCALE_2); - z = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + z = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), atom+2, _MM_SCALE_2); type = _mm512_mask_i32gather_epi32(_mm512_undefined_epi32(), m, i, atom+3, @@ -895,7 +895,7 @@ namespace ip_simd { const SIMD_int &joffset, SIMD_double &eng) { SIMD_double jeng; SIMD_conflict_pi_reduce1(rmask, joffset, eng); - jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, + jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, _mm512_castsi512_si256(joffset), force, _MM_SCALE_2); jeng = jeng + eng; @@ -908,7 +908,7 @@ namespace ip_simd { SIMD_double engd, jeng; engd = _mm512_cvtps_pd(_mm512_castps512_ps256(eng)); SIMD_conflict_pi_reduce1(rmask, joffset, engd); - jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, + jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, _mm512_castsi512_si256(joffset), force, _MM_SCALE_2); jeng = jeng + engd; @@ -920,7 +920,7 @@ namespace ip_simd { _mm512_shuffle_f32x4(eng,eng,238))); SIMD_int joffset2 = _mm512_shuffle_i32x4(joffset, joffset, 238); SIMD_conflict_pi_reduce1(rmask2, joffset2, engd); - jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask2, + jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask2, _mm512_castsi512_si256(joffset2), force, _MM_SCALE_2); jeng = jeng + engd; @@ -939,7 +939,7 @@ namespace ip_simd { SIMD_double jeng; SIMD_conflict_pi_reduce1(rmask, joffset, eng); - jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, + jeng = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, _mm512_castsi512_si256(joffset), force, _MM_SCALE_2); jeng = jeng + eng; @@ -971,7 +971,7 @@ namespace ip_simd { SIMD_double &fy, SIMD_double &fz) { SIMD_conflict_pi_reduce3(m, i, fx, fy, fz); SIMD_double jfrc; - jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), force, _MM_SCALE_2); jfrc = jfrc + fx; @@ -983,7 +983,7 @@ namespace ip_simd { jfrc = jfrc + fy; _mm512_mask_i32scatter_pd(force+1, m, _mm512_castsi512_si256(i), jfrc, _MM_SCALE_2); - jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), force + 2, _MM_SCALE_2); jfrc = jfrc + fz; @@ -1000,13 +1000,13 @@ namespace ip_simd { amzd = _mm512_cvtps_pd(_mm512_castps512_ps256(amz)); SIMD_conflict_pi_reduce3(rmask, joffset, amxd, amyd, amzd); SIMD_double jfrc; - jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, _mm512_castsi512_si256(joffset), force, _MM_SCALE_2); jfrc = jfrc + amxd; _mm512_mask_i32scatter_pd(force, rmask, _mm512_castsi512_si256(joffset), jfrc, _MM_SCALE_2); - jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask, _mm512_castsi512_si256(joffset), force + 1, _MM_SCALE_2); jfrc = jfrc + amyd; @@ -1028,13 +1028,13 @@ namespace ip_simd { _mm512_shuffle_f32x4(amz,amz,238))); SIMD_int joffset2 = _mm512_shuffle_i32x4(joffset, joffset, 238); SIMD_conflict_pi_reduce3(rmask2, joffset2, amxd, amyd, amzd); - jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask2, + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask2, _mm512_castsi512_si256(joffset2), force, _MM_SCALE_2); jfrc = jfrc + amxd; _mm512_mask_i32scatter_pd(force, rmask2, _mm512_castsi512_si256(joffset2), jfrc, _MM_SCALE_2); - jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask2, + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), rmask2, _mm512_castsi512_si256(joffset2), force + 1, _MM_SCALE_2); jfrc = jfrc + amyd; @@ -1045,7 +1045,7 @@ namespace ip_simd { _mm512_castsi512_si256(joffset2), force + 2, _MM_SCALE_2); jfrc = jfrc + amzd; - _mm512_mask_i32scatter_pd(force+2, rmask2, + _mm512_mask_i32scatter_pd(force+2, rmask2, _mm512_castsi512_si256(joffset2), jfrc, _MM_SCALE_2); } @@ -1099,7 +1099,7 @@ namespace ip_simd { const SIMD_int &i, const SIMD_double &fx, const SIMD_double &fy, const SIMD_double &fz) { SIMD_double jfrc; - jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), force, _MM_SCALE_2); jfrc = jfrc - fx; @@ -1866,7 +1866,7 @@ namespace ip_simd { jfrc = jfrc + fx; _mm512_mask_i32scatter_pd(force, m, _mm512_castsi512_si256(i), jfrc, _MM_SCALE_2); - jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), force + 1, _MM_SCALE_2); jfrc = jfrc + fy; @@ -1880,7 +1880,7 @@ namespace ip_simd { _MM_SCALE_2); if (EFLAG) { if (eatom) { - jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, + jfrc = _mm512_mask_i32gather_pd(_mm512_undefined_pd(), m, _mm512_castsi512_si256(i), force + 3, _MM_SCALE_2); jfrc = jfrc + fwtmp; diff --git a/src/INTEL/pair_buck_intel.cpp b/src/INTEL/pair_buck_intel.cpp index 2dae75f920..f15669e1d3 100644 --- a/src/INTEL/pair_buck_intel.cpp +++ b/src/INTEL/pair_buck_intel.cpp @@ -231,7 +231,7 @@ void PairBuckIntel::eval(const int offload, const int vflag, fxtmp = fytmp = fztmp = (acc_t)0; if (EFLAG) fwtmp = sevdwl = (acc_t)0; if (NEWTON_PAIR == 0) - if (vflag == VIRIAL_PAIR) + if (vflag == VIRIAL_PAIR) sv0 = sv1 = sv2 = sv3 = sv4 = sv5 = (acc_t)0; #if defined(LMP_SIMD_COMPILER) From c4eee478b1b749249864e2e53caea7730d520532 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 15:53:35 -0400 Subject: [PATCH 2/5] move back to src for dependencies --- doc/src/fix_nve_noforce.rst | 3 +-- src/{EXTRA-FIX => }/fix_nve_noforce.cpp | 0 src/{EXTRA-FIX => }/fix_nve_noforce.h | 0 3 files changed, 1 insertion(+), 2 deletions(-) rename src/{EXTRA-FIX => }/fix_nve_noforce.cpp (100%) rename src/{EXTRA-FIX => }/fix_nve_noforce.h (100%) diff --git a/doc/src/fix_nve_noforce.rst b/doc/src/fix_nve_noforce.rst index ee02f795a1..ed13123403 100644 --- a/doc/src/fix_nve_noforce.rst +++ b/doc/src/fix_nve_noforce.rst @@ -49,8 +49,7 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" -This fix is part of the EXTRA-FIX package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` page for more info. +none Related commands """""""""""""""" diff --git a/src/EXTRA-FIX/fix_nve_noforce.cpp b/src/fix_nve_noforce.cpp similarity index 100% rename from src/EXTRA-FIX/fix_nve_noforce.cpp rename to src/fix_nve_noforce.cpp diff --git a/src/EXTRA-FIX/fix_nve_noforce.h b/src/fix_nve_noforce.h similarity index 100% rename from src/EXTRA-FIX/fix_nve_noforce.h rename to src/fix_nve_noforce.h From fe34fe26b2e4c1521c605e0be1cd92c199a7e3d4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 18:21:08 -0400 Subject: [PATCH 3/5] add a hard dependency on EXTRA-PAIR to the DIELECTRIC package --- cmake/CMakeLists.txt | 1 + src/DIELECTRIC/Install.sh | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index f1fc2e5068..a778c89d42 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -312,6 +312,7 @@ pkg_depends(LATBOLTZ MPI) pkg_depends(PHONON KSPACE) pkg_depends(SCAFACOS MPI) pkg_depends(DIELECTRIC KSPACE) +pkg_depends(DIELECTRIC EXTRA-PAIR) pkg_depends(CG-DNA MOLECULE) pkg_depends(CG-DNA ASPHERE) diff --git a/src/DIELECTRIC/Install.sh b/src/DIELECTRIC/Install.sh index f07446e15b..2505eb1a59 100644 --- a/src/DIELECTRIC/Install.sh +++ b/src/DIELECTRIC/Install.sh @@ -34,6 +34,10 @@ if (test $1 = 1) then echo "Must install KSPACE package with DIELECTRIC package" exit 1 fi + if (test ! -e ../pair_lj_cut_coul_debye.cpp) then + echo "Must install EXTRA-PAIR package with DIELECTRIC package" + exit 1 + fi fi for file in *.cpp *.h; do From 269690b771882997a3bcc462526dcfcc5f057eea Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 18:21:22 -0400 Subject: [PATCH 4/5] document hard package dependencies --- doc/src/Packages_details.rst | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 28ae032d34..b4e50fad75 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -189,6 +189,7 @@ atomic information to continuum fields. **Install:** This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +The ATC package requires that also the `MANYBODY `_ package is installed. **Supporting info:** @@ -518,6 +519,11 @@ compute for simulating systems using boundary element solvers for computing the induced charges at the interface between two media with different dielectric constants. +**Install:** + +To use this package, also the :ref:`KSPACE ` and +:ref:`EXTRA-PAIR ` packages need to be installed. + **Author:** Trung Nguyen and Monica Olvera de la Cruz (Northwestern U) **Supporting info:** @@ -1210,6 +1216,10 @@ can be used to model MD particles influenced by hydrodynamic forces. **Authors:** Frances Mackay and Colin Denniston (University of Western Ontario). +**Install:** + +The LATBOLTZ package requires that LAMMPS is build in :ref:`MPI parallel mode `. + **Supporting info:** * src/LATBOLTZ: filenames -> commands @@ -1603,9 +1613,9 @@ A general interface for machine-learning interatomic potentials, including PyTor **Install:** -To use this package, also the :ref:`ML-SNAP package ` package needs +To use this package, also the :ref:`ML-SNAP ` package needs to be installed. To make the *mliappy* model available, also the -:ref:`PYTHON package ` package needs to be installed, the version +:ref:`PYTHON ` package needs to be installed, the version of Python must be 3.6 or later, and the `cython `_ software must be installed. @@ -1870,6 +1880,10 @@ MPIIO library. It adds :doc:`dump styles ` with a "mpiio" in their style name. Restart files with an ".mpiio" suffix are also written and read in parallel. +**Install:** + +The MPIIO package requires that LAMMPS is build in :ref:`MPI parallel mode `. + **Supporting info:** * src/MPIIO: filenames -> commands @@ -2103,6 +2117,12 @@ And a :doc:`dynamical_matrix ` as well as a :doc:`third_order ` command to compute the dynamical matrix and third order tensor from finite differences. +**Install:** + +The PHONON package requires that also the `KSPACE `_ +package is installed. + + **Authors:** Ling-Ti Kong (Shanghai Jiao Tong University) for "fix phonon" and Charlie Sievers (UC Davis) for "dynamical_matrix" and "third_order" @@ -2486,6 +2506,7 @@ the Forschungszentrum Juelich. **Install:** This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. +The SCAFACOS package requires that LAMMPS is build in :ref:`MPI parallel mode `. **Supporting info:** From bb5da016d413768ee54a9c7e9d02b96596bd098a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 18:21:45 -0400 Subject: [PATCH 5/5] add dependencies for KOKKOS style to the conventional build --- src/KOKKOS/Install.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/KOKKOS/Install.sh b/src/KOKKOS/Install.sh index 073f094836..5e7285a75f 100755 --- a/src/KOKKOS/Install.sh +++ b/src/KOKKOS/Install.sh @@ -251,20 +251,20 @@ action pair_lj_class2_kokkos.cpp pair_lj_class2.cpp action pair_lj_class2_kokkos.h pair_lj_class2.h action pair_lj_cut_coul_cut_kokkos.cpp action pair_lj_cut_coul_cut_kokkos.h -action pair_lj_cut_coul_debye_kokkos.cpp -action pair_lj_cut_coul_debye_kokkos.h -action pair_lj_cut_coul_dsf_kokkos.cpp -action pair_lj_cut_coul_dsf_kokkos.h +action pair_lj_cut_coul_debye_kokkos.cpp pair_lj_cut_coul_debye.cpp +action pair_lj_cut_coul_debye_kokkos.h pair_lj_cut_coul_debye.h +action pair_lj_cut_coul_dsf_kokkos.cpp pair_lj_cut_coul_dsf.cpp +action pair_lj_cut_coul_dsf_kokkos.h pair_lj_cut_coul_dsf.h action pair_lj_cut_coul_long_kokkos.cpp pair_lj_cut_coul_long.cpp action pair_lj_cut_coul_long_kokkos.h pair_lj_cut_coul_long.h action pair_lj_cut_kokkos.cpp action pair_lj_cut_kokkos.h action pair_lj_expand_kokkos.cpp action pair_lj_expand_kokkos.h -action pair_lj_gromacs_coul_gromacs_kokkos.cpp -action pair_lj_gromacs_coul_gromacs_kokkos.h -action pair_lj_gromacs_kokkos.cpp -action pair_lj_gromacs_kokkos.h +action pair_lj_gromacs_coul_gromacs_kokkos.cpp pair_lj_gromacs_coul_gromacs.cpp +action pair_lj_gromacs_coul_gromacs_kokkos.h pair_lj_gromacs_coul_gromacs.h +action pair_lj_gromacs_kokkos.cpp pair_lj_gromacs.cpp +action pair_lj_gromacs_kokkos.h pair_lj_gromacs.h action pair_lj_sdk_kokkos.cpp pair_lj_sdk.cpp action pair_lj_sdk_kokkos.h pair_lj_sdk.h action pair_morse_kokkos.cpp