lammps/src/MAKEc720fca727e9lammm-devel
README
This directory and its sub-directories contain machine Makefiles for LAMMPS. The use of machine Makefiles and their settings are discussed in Section 2 of the manual.
If you are new to LAMMPS, try one of the files in this directory first.
Then you can try files in the sub-directories with more options you may need, or that are specific to a machine you are running on.
If none of the existing files work, you can edit a file in either directory to create your own customized Makefile.machine. Put it in the USER directory if you want to avoid conflicts with the Makefiles distributed with LAMMPS.
This directory has two generic Makefiles which should work as-is on many platforms.
Makefile.mpi assumes MPI is installed on your machine Makefile.serial build without MPI for serial execution (single core)
Makefile.mpi builds with the mpicxx wrapper provided with all MPI installations. It uses a default compiler (the one MPI was built with) and should work with whatever version of MPI is installed (OpenMPI, MPICH, vendor, etc).
Makefile.serial builds without MPI, using the GNU g++ compiler. It uses the dummy MPI library in src/STUBS, which you can pre-build via "make stubs" in the src dir. See Makefile.serial_icc in the OPTIONS dir for the same thing using the Intel icc compiler instead of g++.
The OPTIONS directory has several Makefiles that extend either Makefile.mpi or Makefile.serial to enable use of different compilers, different MPIs, or package and command options that LAMMPS supports.
Makefile.fftw FFTW support added for long-range Coulombics (PPPM) Makefile.jpg JPG support added to Makefile.mpi for dump image Makefile.png PNG support added to Makefile.mpi for dump image
These Makefiles are the same as Makefile.mpi except they each add settings for commonly used options (FFTW, JPG, PNG) to illustrate how they can be added to any Makefile.
Makefile.kokkos_omp KOKKOS package with CUDA support via nvcc compiler Makefile.kokkos_cuda KOKKOS package with CUDA support via nvcc compiler Makefile.kokkos_phi KOKKOS package with CUDA support via nvcc compiler
These Makefiles are for building with the KOKKOS package for different architectures (multi-core with OpenMP threading, GPU, Xeon Phi). Some Makefile variables are set and appended to.
Makefile.intel USER-INTEL package with CPU acceleration Makefile.intel_offload USER-INTEL package with Xeon Phi support
These Makefiles are for building with the USER-INTEL package with either CPU or Xeon Phi (offload) support. Some Makefile variables are set and appended to.
Makefile.mpich_g++ compile with MPICH wrapper, set compiler to GNU g++ Makefile.mpich_icc compile with MPICH wrapper, set compiler to Intel icc Makefile.ompi_g++ compile with OpenMPI wrapper, set compiler to GNU g++ Makefile.ompi_icc compile with OpenMPI wrapper, set compiler to Intel icc
Makefile.serial_icc serial build with Intel icc compiler
These Makefiles adapt Makefile.mpi and Makefile.serial to use specific compilers.
Makefile.mpich_native_g++ compile with GNU g++, link to MPICH Makefile.mpich_native_icc compile with Intel icc, link to MPICH Makefile.ompi_native_g++ compile with GNU g++, link to OpenMPI Makefile.ompi_native_icc compile with Intel icc, link to OpenMPI
These Makefiles show how to build with MPI support, but not using the MPI wrapper "mpicxx" for compiling. Instead, g++ or icc is used directly to compile/link and the MPI library is linked to. This requires knowing the path for the mpi.h and MPI library files.
The MACHINE sub-directory has many Makefiles, each of which has been setup for a specific kind of machine or a specific supercomputer.
Examples include:
Makefile.mac Apple Macintosh Makefile.xe6 Cray XE6 Makefile.bgq IBM BG/Q Makefile.stampede U Texas "stampede" machine