diff --git a/examples/README b/examples/README index c7d3ec4ff4..b2ae8c4509 100644 --- a/examples/README +++ b/examples/README @@ -73,6 +73,7 @@ friction: frictional contact of spherical asperities between 2d surfaces gpu: use of the GPU package for GPU acceleration hugoniostat: Hugoniostat shock dynamics indent: spherical indenter into a 2d solid +intel: use of the USER-INTEL package for CPU or Xeon Phi acceleration kim: use of potentials in Knowledge Base for Interatomic Models (KIM) kokkos: use of the KOKKOS package for multi-threading and GPU acceleration meam: MEAM test for SiC and shear (same as shear examples) diff --git a/examples/intel/README b/examples/intel/README new file mode 100644 index 0000000000..865b762938 --- /dev/null +++ b/examples/intel/README @@ -0,0 +1,67 @@ +If you run in another directory, please edit the read_data line to point to +the data.rhodo file. This is included in the LAMMPS distribution in the +'bench' directory. + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +Expected times are the expected LOOP times based on runs using dual-socket +Intel Xeon processor E5-2697 V2 with Intel Xeon Phi coprocessor 7120P. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + +TO RUN WITHOUT A PACKAGE: +----------------------------------------------------------------------------- +mpirun -np 48 ../../src/lmp_YOUR_MACHINE -in in.intel.rhodo -log none -v b 0 -v s off +mpirun -np 48 ../../src/lmp_YOUR_MACHINE -in in.intel.lc -log none -v b 0 -v s off + + +TO RUN WITH OMP PACKAGE +----------------------------------------------------------------------------- +env OMP_NUM_THREADS=2 mpirun -np 24 ../../src/lmp_YOUR_MACHINE -in in.intel.rhodo -log none -v b 0 -v s omp ++++++++++++++++++++++++ ++ EXPECTED TIME: 20.33s ++++++++++++++++++++++++ + +env OMP_NUM_THREADS=1 mpirun -np 48 ../../src/lmp_YOUR_MACHINE -in in.intel.lc -log none -v b 0 -v s omp ++++++++++++++++++++++++ ++ EXPECTED TIME: 19.92s ++++++++++++++++++++++++ + + +TO RUN WITH INTEL+OMP PACKAGE WITHOUT OFFLOAD: +----------------------------------------------------------------------------- +env OMP_NUM_THREADS=2 mpirun -np 24 ../../src/lmp_YOUR_MACHINE -in in.intel.rhodo -log none -v b 0 -v s intel ++++++++++++++++++++++++ ++ EXPECTED TIME: 16.94s ++++++++++++++++++++++++ + +env OMP_NUM_THREADS=2 mpirun -np 24 ../../src/lmp_YOUR_MACHINE -in in.intel.lc -log none -v b 0 -v s intel ++++++++++++++++++++++++ ++ EXPECTED TIME: 5.80s ++++++++++++++++++++++++ + + +TO RUN WITH INTEL+OMP PACKAGE WITH OFFLOAD TO XEON PHI (AUTO-BALANCED): +----------------------------------------------------------------------------- +env OMP_NUM_THREADS=1 mpirun -np 24 ../../src/lmp_YOUR_MACHINE -in in.intel.rhodo -log none -v b -1 -v s intel ++++++++++++++++++++++++ ++ EXPECTED TIME: 12.31s ++++++++++++++++++++++++ + +env OMP_NUM_THREADS=1 mpirun -np 24 ../../src/lmp_YOUR_MACHINE -in in.intel.lc -log none -v b -1 -v s intel ++++++++++++++++++++++++ ++ EXPECTED TIME: 4.00s ++++++++++++++++++++++++ + + +TO RUN WITH INTEL+OMP PACKAGE WITH OFFLOAD TO XEON PHI (FIXED BALANCE): +----------------------------------------------------------------------------- +env OMP_NUM_THREADS=1 mpirun -np 24 ../../src/lmp_YOUR_MACHINE -in in.intel.rhodo -log none -v b 0.68 -v s intel ++++++++++++++++++++++++ ++ EXPECTED TIME: 11.40s ++++++++++++++++++++++++ + +env OMP_NUM_THREADS=1 mpirun -np 24 ../../src/lmp_YOUR_MACHINE -in in.intel.lc -log none -v b 0.53 -v s intel ++++++++++++++++++++++++ ++ EXPECTED TIME: 3.93s ++++++++++++++++++++++++ + diff --git a/examples/intel/in.intel.lc b/examples/intel/in.intel.lc new file mode 100644 index 0000000000..0bb96a8e65 --- /dev/null +++ b/examples/intel/in.intel.lc @@ -0,0 +1,59 @@ +# Gay-Berne benchmark +# biaxial ellipsoid mesogens in isotropic phase +# shape: 2 1.5 1 +# cutoff 4.0 with skin 0.8 +# NPT, T=2.4, P=8.0 +package intel * mixed balance $b +suffix $s +processors * * * grid numa + +variable x index 4 +variable y index 2 +variable z index 2 + +variable i equal $x*32 +variable j equal $y*32 +variable k equal $z*32 + +units lj +atom_style ellipsoid + +# creation +lattice sc 0.22 +region box block 0 $i 0 $j 0 $k +create_box 1 box +create_atoms 1 box + +# read_data data.gb + +set type 1 mass 1.5 +set type 1 shape 1 1.5 2 +set group all quat/random 982381 + +compute rot all temp/asphere +group spheroid type 1 +variable dof equal count(spheroid)+3 +compute_modify rot extra ${dof} + +velocity all create 2.4 41787 loop geom + +pair_style gayberne 1.0 3.0 1.0 4.0 +pair_coeff 1 1 1.0 1.0 1.0 0.5 0.2 1.0 0.5 0.2 + +neighbor 0.8 bin + +timestep 0.002 +thermo 300 + +# equilibration run +fix 1 all npt/asphere temp 2.4 2.4 0.1 iso 5.0 8.0 0.1 +compute_modify 1_temp extra ${dof} +run 210 +thermo 100 + +reset_timestep 0 +unfix 1 +fix 1 all nve/asphere +run 10 +run 50 + diff --git a/examples/intel/in.intel.rhodo b/examples/intel/in.intel.rhodo new file mode 100644 index 0000000000..db1f326c24 --- /dev/null +++ b/examples/intel/in.intel.rhodo @@ -0,0 +1,37 @@ +# Rhodopsin model +package intel * mixed balance $b +suffix $s + +variable x index 4 +variable y index 2 +variable z index 2 + +units real +neigh_modify delay 5 every 1 + +atom_style full +atom_modify map hash +bond_style harmonic +angle_style charmm +dihedral_style charmm +improper_style harmonic +pair_style lj/charmm/coul/long 8.0 10.0 +pair_modify mix arithmetic +kspace_style pppm 1e-4 + +read_data ../../bench/data.rhodo + +replicate $x $y $z + +fix 1 all shake 0.0001 5 0 m 1.0 a 232 +fix 2 all npt temp 300.0 300.0 100.0 & + z 0.0 0.0 1000.0 mtk no pchain 0 tchain 1 + +special_bonds charmm + +thermo 50 +thermo_style multi +timestep 2.0 + +run 10 +run 100