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

Makefile reordering, marconi makefile and "DO LB" command. #339

Merged
merged 9 commits into from
Aug 24, 2017
Prev Previous commit
Next Next commit
Change target-specific testpackage variable rules by a makefile ifeq
Also, fix up sisu and taito makefile after Jemalloc and PAPI flag move,
since these are now part of the architecture makefile, sisu and taito
should also have them.
  • Loading branch information
ursg committed Aug 23, 2017
commit 5aa2bb0f7f1ae349c56c2e2df1d415755bee8034
40 changes: 35 additions & 5 deletions MAKE/Makefile.sisu_gcc
Original file line number Diff line number Diff line change
@@ -1,6 +1,39 @@
CMP = CC
LNK = CC

#======== Vectorization ==========
#Set vector backend type for vlasov solvers, sets precision and length.
#NOTE this has to have the same precision as the distribution function define (DISTRIBUTION_FP_PRECISION)
#Options:
# AVX: VEC4D_AGNER, VEC4F_AGNER, VEC8F_AGNER
# AVX512: VEC8D_AGNER, VEC16F_AGNER
# Fallback: VEC4D_FALLBACK, VEC4F_FALLBACK, VEC8F_FALLBACK

ifeq ($(DISTRIBUTION_FP_PRECISION),SPF)
#Single-precision
VECTORCLASS = VEC8F_AGNER
else
#Double-precision
VECTORCLASS = VEC4D_AGNER
endif

#======== PAPI ==========
#Add PAPI_MEM define to use papi to report memory consumption?
CXXFLAGS += -DPAPI_MEM


#======== Allocator =========
#Use jemalloc instead of system malloc to reduce memory fragmentation? https://github.com/jemalloc/jemalloc
#Configure jemalloc with --with-jemalloc-prefix=je_ when installing it
CXXFLAGS += -DUSE_JEMALLOC -DJEMALLOC_NO_DEMANGLE


#======= Compiler and compilation flags =========
# NOTES on compiler flags:
# CXXFLAGS is for compiler flags, they are always used
# MATHFLAGS are for special math etc. flags, these are only applied on solver functions
# LDFLAGS flags for linker

#-DNO_WRITE_AT_ALL: Define to disable write at all to
# avoid memleak (much slower IO)
#-DMPICH_IGNORE_CXX_SEEK: Ignores some multiple definition
Expand All @@ -11,11 +44,6 @@ CXXFLAGS = -DMPICH_IGNORE_CXX_SEEK

FLAGS =

# NOTES on compiler flags:
# CXXFLAGS is for compiler flags, they are always used
# MATHFLAGS are for special math etc. flags, these are only applied on solver functions
# LDFLAGS flags for linker

#GNU flags:
CC_BRAND = gcc
CC_BRAND_VERSION = 5.1.0
Expand All @@ -29,6 +57,8 @@ LIB_MPI = -lgomp
# BOOST_VERSION = current trilinos version
# ZOLTAN_VERSION = current trilinos verson

#======== Libraries ===========

MPT_VERSION = 7.2.6
JEMALLOC_VERSION = 4.0.4
LIBRARY_PREFIX = /proj/vlasiato/libraries/
Expand Down
40 changes: 35 additions & 5 deletions MAKE/Makefile.taito_gcc
Original file line number Diff line number Diff line change
@@ -1,6 +1,39 @@
CMP = mpiCC
LNK = mpiCC

#======== Vectorization ==========
#Set vector backend type for vlasov solvers, sets precision and length.
#NOTE this has to have the same precision as the distribution function define (DISTRIBUTION_FP_PRECISION)
#Options:
# AVX: VEC4D_AGNER, VEC4F_AGNER, VEC8F_AGNER
# AVX512: VEC8D_AGNER, VEC16F_AGNER
# Fallback: VEC4D_FALLBACK, VEC4F_FALLBACK, VEC8F_FALLBACK

ifeq ($(DISTRIBUTION_FP_PRECISION),SPF)
#Single-precision
VECTORCLASS = VEC8F_AGNER
else
#Double-precision
VECTORCLASS = VEC4D_AGNER
endif

#======== PAPI ==========
#Add PAPI_MEM define to use papi to report memory consumption?
CXXFLAGS += -DPAPI_MEM


#======== Allocator =========
#Use jemalloc instead of system malloc to reduce memory fragmentation? https://github.com/jemalloc/jemalloc
#Configure jemalloc with --with-jemalloc-prefix=je_ when installing it
CXXFLAGS += -DUSE_JEMALLOC -DJEMALLOC_NO_DEMANGLE


#======= Compiler and compilation flags =========
# NOTES on compiler flags:
# CXXFLAGS is for compiler flags, they are always used
# MATHFLAGS are for special math etc. flags, these are only applied on solver functions
# LDFLAGS flags for linker

#-DNO_WRITE_AT_ALL: Define to disable write at all to
# avoid memleak (much slower IO)
#-DMPICH_IGNORE_CXX_SEEK: Ignores some multiple definition
Expand All @@ -11,11 +44,6 @@ CXXFLAGS = -DMPICH_IGNORE_CXX_SEEK

FLAGS =

# NOTES on compiler flags:
# CXXFLAGS is for compiler flags, they are always used
# MATHFLAGS are for special math etc. flags, these are only applied on solver functions
# LDFLAGS flags for linker

#GNU flags:
CC_BRAND = gcc
CC_BRAND_VERSION = 4.9.3
Expand All @@ -28,6 +56,8 @@ LIB_MPI = -lgomp

# BOOST_VERSION = current trilinos version
# ZOLTAN_VERSION = current trilinos verson
#
#======== Libraries ===========

MPT_VERSION = 1.10.2
JEMALLOC_VERSION = 4.0.4
Expand Down
8 changes: 5 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ FP_PRECISION = DP
DISTRIBUTION_FP_PRECISION = SPF
#override flags if we are building testpackage:

testpackage: MATHFLAGS =
testpackage: FP_PRECISION = DP
testpackage: DISTRIBUTION_FP_PRECISION = DPF
ifneq (,$(findstring testpackage,$(MAKECMDGOALS)))
MATHFLAGS =
FP_PRECISION = DP
DISTRIBUTION_FP_PRECISION = DPF
endif


include MAKE/Makefile.${ARCH}
Expand Down