Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for UT TACC Stampede3 #58

Merged
merged 7 commits into from
Apr 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 120 additions & 0 deletions etc/lmp/etc/Makefile.mpi_chimes.UT-TACC
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
# mpi = MPI with its default compiler

SHELL = /bin/sh

# ---------------------------------------------------------------------
# compiler/linker settings
# specify flags and libraries needed for your compiler

CC = mpiicpc
CCFLAGS = -O3 -std=c++11 # -restrict
SHFLAGS = -fPIC
DEPFLAGS = -M

LINK = mpiicpc
LINKFLAGS = -O3 -std=c++11
LIB =
SIZE = size

ARCHIVE = ar
ARFLAGS = -rc
SHLIBFLAGS = -shared

# ---------------------------------------------------------------------
# LAMMPS-specific settings, all OPTIONAL
# specify settings for LAMMPS features you will use
# if you change any -D setting, do full re-compile after "make clean"

# LAMMPS ifdef settings
# see possible settings in Section 3.5 of the manual

LMP_INC = -DLAMMPS_GZIP -DLAMMPS_MEMALIGN=64 # -DLAMMPS_CXX98

# MPI library
# see discussion in Section 3.4 of the manual
# MPI wrapper compiler/linker can provide this info
# can point to dummy MPI library in src/STUBS as in Makefile.serial
# use -D MPICH and OMPI settings in INC to avoid C++ lib conflicts
# INC = path for mpi.h, MPI compiler settings
# PATH = path for MPI library
# LIB = name of MPI library


MPI_INC = -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX=1 -I${I_MPI_ROOT}/include
MPI_PATH = -L${I_MPI_ROOT}/lib -L${I_MPI_ROOT}/lib/release
MPI_LIB =

# FFT library
# see discussion in Section 3.5.2 of manual
# can be left blank to use provided KISS FFT library
# INC = -DFFT setting, e.g. -DFFT_FFTW, FFT compiler settings
# PATH = path for FFT library
# LIB = name of FFT library

FFT_INC =
FFT_PATH =
FFT_LIB =

# JPEG and/or PNG library
# see discussion in Section 3.5.4 of manual
# only needed if -DLAMMPS_JPEG or -DLAMMPS_PNG listed with LMP_INC
# INC = path(s) for jpeglib.h and/or png.h
# PATH = path(s) for JPEG library and/or PNG library
# LIB = name(s) of JPEG library and/or PNG library

JPG_INC =
JPG_PATH =
JPG_LIB =

# ---------------------------------------------------------------------
# build rules and dependencies
# do not edit this section

include Makefile.package.settings
include Makefile.package

EXTRA_INC = $(LMP_INC) $(PKG_INC) $(MPI_INC) $(FFT_INC) $(JPG_INC) $(PKG_SYSINC)
EXTRA_PATH = $(PKG_PATH) $(MPI_PATH) $(FFT_PATH) $(JPG_PATH) $(PKG_SYSPATH)
EXTRA_LIB = $(PKG_LIB) $(MPI_LIB) $(FFT_LIB) $(JPG_LIB) $(PKG_SYSLIB)
EXTRA_CPP_DEPENDS = $(PKG_CPP_DEPENDS)
EXTRA_LINK_DEPENDS = $(PKG_LINK_DEPENDS)

# Path to src files

vpath %.cpp ..
vpath %.h ..

# Link target

$(EXE): main.o $(LMPLIB) $(EXTRA_LINK_DEPENDS)
$(LINK) $(LINKFLAGS) main.o $(EXTRA_PATH) $(LMPLINK) $(EXTRA_LIB) $(LIB) -o $@
$(SIZE) $@

# Library targets

$(ARLIB): $(OBJ) $(EXTRA_LINK_DEPENDS)
@rm -f ../$(ARLIB)
$(ARCHIVE) $(ARFLAGS) ../$(ARLIB) $(OBJ)
@rm -f $(ARLIB)
@ln -s ../$(ARLIB) $(ARLIB)

$(SHLIB): $(OBJ) $(EXTRA_LINK_DEPENDS)
$(CC) $(CCFLAGS) $(SHFLAGS) $(SHLIBFLAGS) $(EXTRA_PATH) -o ../$(SHLIB) \
$(OBJ) $(EXTRA_LIB) $(LIB)
@rm -f $(SHLIB)
@ln -s ../$(SHLIB) $(SHLIB)

# Compilation rules

%.o:%.cpp
$(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $<

# Individual dependencies

depend : fastdep.exe $(SRC)
@./fastdep.exe $(EXTRA_INC) -- $^ > .depend || exit 1

fastdep.exe: ../DEPEND/fastdep.c
cc -O -o $@ $<

sinclude .depend
4 changes: 4 additions & 0 deletions etc/lmp/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,10 @@ elif [[ "$hosttype" == "JHU-ARCH" ]] ; then
source modfiles/JHU-ARCH.mod
ICC=`which icc`
MPI=`which mpicxx`
elif [[ "$hosttype" == "UT-TACC" ]] ; then
source modfiles/UT-TACC.mod
cp etc/Makefile.mpi_chimes.UT-TACC build/lammps_stable_29Oct2020/src/MAKE/Makefile.mpi_chimes

else
echo ""
echo "ERROR: Unknown hosttype ($hosttype) specified"
Expand Down
3 changes: 3 additions & 0 deletions etc/lmp/modfiles/UT-TACC.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module load intel/24.0
module load impi/21.11
module load cmake/3.28.1
4 changes: 3 additions & 1 deletion install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,9 @@ elif [[ "$hosttype" == "UM-ARC" ]] ; then
elif [[ "$hosttype" == "JHU-ARCH" ]] ; then
source modfiles/JHU-ARCH.mod
ICC=`which icc`
MPI=`which mpicxx`
MPI=`which mpicxx`
elif [[ "$hosttype" == "UT-TACC" ]] ; then
source modfiles/UT-TACC.mod
else
echo ""
echo "ERROR: Unknown hosttype ($hosttype) specified"
Expand Down
6 changes: 3 additions & 3 deletions modfiles/LLNL-LC.mod
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module load cmake/3.21.1
module load intel/18.0.1
module load intel/2021.3
#module load impi/2018.0
module load intel-classic/2021.6.0-magic
module load mvapich2/2.3.7
module load mkl
3 changes: 3 additions & 0 deletions modfiles/UT-TACC.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module load intel/24.0
module load impi/21.11
module load cmake/3.28.1
Loading