README
1This directory and its sub-directories contain machine Makefiles for
2LAMMPS. The use of machine Makefiles and their settings are discussed
3in Section 2 of the manual.
4
5If you are new to LAMMPS, try the Makefile.mpi or Makefile.serial file
6in this directory first. I.e. "make mpi" or "make serial".
7
8Then you can try files in the sub-directories with more options you
9may need, or that are specific to a machine you are running on.
10
11If none of the existing files work, you can edit a file in either
12directory to create your own customized Makefile.machine. Put it in
13the MINE directory with a new suffix if you want to save it or avoid
14conflicts with the Makefiles distributed with LAMMPS.
15
16-----------------------------------
17
18This directory has two generic Makefiles which should work as-is on
19many platforms.
20
21Makefile.mpi assumes MPI is installed on your machine
22Makefile.serial build without MPI for serial execution (single core)
23
24Makefile.mpi builds with the mpicxx wrapper provided with all MPI
25installations. It uses a default compiler. You can see what it is by
26type "mpicxx -v". Makefile.mpi should work with whatever version of
27MPI is installed (OpenMPI, MPICH, vendor, etc).
28
29Makefile.serial builds without MPI, using the GNU g++ compiler. It
30uses the dummy MPI library in src/STUBS. Use
31Options/Makefile.icc_serial for the same thing using the Intel icc
32compiler instead of g++.
33
34-----------------------------------
35
36The OPTIONS directory has many Makefiles that are examples of
37extending either Makefile.mpi or Makefile.serial to enable use of
38different Makefile settings, different compilers, different MPIs, and
39all the LAMMPS accelerator packages.
40
41--------
42
43These Makefiles derive from src/MAKE/Makefile.mpi with added settings
44to illustrate how they can be added to any Makefile.
45
46Makefile.big use of -DLAMMPS_BIGBIG setting
47Makefile.fastmgpt optimzations for MGPT package
48Makefile.fftw FFTW support for long-range Coulombics (PPPM)
49Makefile.jpeg JPEG support for dump image
50Makefile.png PNG support for dump image
51
52--------
53
54These Makefiles derive from src/MAKE/Makefile.mpi with added support
55for each of the accelerator packages available in LAMMPS.
56
57The INTEL/CPU variants require use of the Intel icc (or icpc) compiler
58as the compiler wrapped by mpicxx. Setting this requires a different
59syntax for different MPIs.
60
61The KOKKOS/CUDA variants require use of the NVIDIA nvcc compiler as
62the compiler wrapped by mpicxx. Setting this requires a different
63syntax for different MPIs.
64
65Makefile.opt OPT package, using default MPI
66Makefile.omp OPENMP package, using default MPI
67Makefile.gpu GPU package, using default MPI
68
69Makefile.intel_cpu_intelmpi INTEL package for CPU with Intel MPI
70Makefile.intel_cpu_mpich INTEL package for CPU with MPICH
71Makefile.intel_cpu_openmpi INTEL package for CPU with OpenMPI
72Makefile.intel_coprocessor INTEL package with Xeon Phi support
73Makefile.knl INTEL package with KNL support
74
75Makefile.kokkos_cuda_mpich KOKKOS package with GPU support for MPICH
76Makefile.kokkos_cuda_openmpi KOKKOS package with GPU support for OpenMPI
77Makefile.kokkos_omp KOKKOS package with OpenMP support
78Makefile.kokkos_phi KOKKOS package with Xeon Phi support
79
80--------
81
82These Makefiles derive from src/MAKE/Makefile.mpi and
83src/MAKE/Makefile.serial to use specific compilers. This is done by
84setting the compiler wrapped by mpicxx (different syntax for different
85MPIs). Or it can be done by using the GNU or Intel compiler and
86explicitly linking to the appropriate MPI libraries.
87
88Makefile.g++_mpich MPICH mpicxx wraps the GNU g++ compiler
89Makefile.g++_mpich_link GNU g++ compiler, linked to MPICH
90Makefile.g++_openmpi OpenMPI mpicxx wraps the GNU g++ compiler
91Makefile.g++_openmpi_link GNU g++ compiler, linked to OpenMPI
92Makefile.icc_mpich MPICH mpicxx wraps the Intel icc compiler
93Makefile.icc_mpich_link Intel icc compiler, linked to MPICH
94Makefile.icc_openmpi OpenMPI mpicxx wraps the Intel icc compiler
95Makefile.icc_openmpi_link Intel icc compiler, linked to OpenMPI
96Makefile.pgi_mpich_link Portland group PGI compiler, linked to MPICH
97
98Makefile.g++_serial serial build (no MPI) with GNU g++ compiler
99Makefile.icc_serial serial build (no MPI) with Intel icc compiler
100
101------------------------------------
102
103The MACHINE sub-directory has many Makefiles, each of which has been
104setup for a specific kind of machine or a specific supercomputer.
105
106Examples include:
107
108Makefile.mac Apple Macintosh
109Makefile.xe6 Cray XE6
110Makefile.bgq IBM BG/Q
111Makefile.stampede U Texas "stampede" machine
112