• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

MACHINES/H30-Sep-2021-2,144963

MINE/H30-Sep-2021-

OPTIONS/H03-May-2022-3,5211,518

Makefile.mpiH A D30-Sep-20213 KiB12051

Makefile.serialH A D30-Sep-20213 KiB12051

READMEH A D30-Sep-20214.7 KiB11283

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