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

Update AGORA test problem: High-res ICs [Reviewed] #346

Merged
merged 35 commits into from
Jan 16, 2025
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
629f3c4
GRACKLE config files for calab-ntu gpu-clusters
BarryTC Aug 26, 2024
fdf2bcd
High-res ICs
BarryTC Aug 26, 2024
1fa6fe6
Add files via upload
BarryTC Aug 26, 2024
5d239ae
Update Make.mach.eureka-intel
BarryTC Aug 26, 2024
2459246
Update Make.mach.spock-intel
BarryTC Aug 26, 2024
51824cc
Comments from Chun-Yen Chen resolved
BarryTC Aug 28, 2024
e877db2
Fix name typo in "Make.mach.spock-intel"
BarryTC Jan 2, 2025
d6e4c2a
Delete example/test_problem/Hydro/AGORA_IsolatedGalaxy/Input__Flag_Jeans
BarryTC Jan 2, 2025
285ac8b
Delete example/test_problem/Hydro/AGORA_IsolatedGalaxy/Input__Flag_Pa…
BarryTC Jan 2, 2025
a8d0bc9
Delete example/test_problem/Hydro/AGORA_IsolatedGalaxy/Input__Flag_Rho
BarryTC Jan 2, 2025
1112a36
Delete example/test_problem/Hydro/AGORA_IsolatedGalaxy/Input__Parameter
BarryTC Jan 2, 2025
f169b3d
Update Input file settings
BarryTC Jan 2, 2025
8f0654c
Delete example/test_problem/Hydro/AGORA_IsolatedGalaxy/download_ic_hi…
BarryTC Jan 2, 2025
cec81a6
Input_* download_ic* updates
BarryTC Jan 6, 2025
da7b96f
IC download links updated
BarryTC Jan 8, 2025
b7502c1
Updated README and download_ic_high_res.sh
BarryTC Jan 9, 2025
d88da3d
Correct for a hyperlink in README
BarryTC Jan 10, 2025
1ae1fb1
GRACKLE config files for calab-ntu gpu-clusters
BarryTC Aug 26, 2024
c60b9a7
High-res ICs
BarryTC Aug 26, 2024
78148c8
Add files via upload
BarryTC Aug 26, 2024
6bae776
Update Make.mach.eureka-intel
BarryTC Aug 26, 2024
204e900
Update Make.mach.spock-intel
BarryTC Aug 26, 2024
61e9507
Comments from Chun-Yen Chen resolved
BarryTC Aug 28, 2024
3bcc79f
Fix name typo in "Make.mach.spock-intel"
BarryTC Jan 2, 2025
f39a3b1
Delete example/test_problem/Hydro/AGORA_IsolatedGalaxy/Input__Flag_Jeans
BarryTC Jan 2, 2025
391c067
Delete example/test_problem/Hydro/AGORA_IsolatedGalaxy/Input__Flag_Pa…
BarryTC Jan 2, 2025
be34ae0
Delete example/test_problem/Hydro/AGORA_IsolatedGalaxy/Input__Flag_Rho
BarryTC Jan 2, 2025
a8989a0
Delete example/test_problem/Hydro/AGORA_IsolatedGalaxy/Input__Parameter
BarryTC Jan 2, 2025
f859b86
Update Input file settings
BarryTC Jan 2, 2025
6364bef
Delete example/test_problem/Hydro/AGORA_IsolatedGalaxy/download_ic_hi…
BarryTC Jan 2, 2025
ce25eb0
Input_* download_ic* updates
BarryTC Jan 6, 2025
f8a93f1
IC download links updated
BarryTC Jan 8, 2025
36e5749
Updated README and download_ic_high_res.sh
BarryTC Jan 9, 2025
2aa7b3c
resolving conflicts
BarryTC Jan 15, 2025
adef66c
resolving remaining comments from hyschive
BarryTC Jan 15, 2025
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
97 changes: 97 additions & 0 deletions example/grackle/Make.mach.eureka-intel
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
#=======================================================================
#
# FILE: Make.mach.eureka-intel
#
# DESCRIPTION: Makefile for the calab-ntu Eureka GPU cluster with Intel
# compiler and OpenMP support
#
# AUTHOR: Hsi-Yu Schive (modified by Guan-Ming Su, Barry T. Chiang,
# and Chun-Yen Chen)
#
# DATE: April 1, 2016 (August 28, 2024)
#=======================================================================

MACH_TEXT = Eureka Intel
MACH_VALID = 0
MACH_FILE = Make.mach.eureka-intel

#-----------------------------------------------------------------------
# Install paths (local variables)
#-----------------------------------------------------------------------

LOCAL_HDF5_INSTALL = /software/hdf5/default
LOCAL_FC_INSTALL = /software/intel/oneapi/compiler/default/linux/compiler/lib/intel64

#-----------------------------------------------------------------------
# Compiler settings
#-----------------------------------------------------------------------

MACH_CPP = icpc # C preprocessor command

# Compilers
MACH_CC_NOMPI = icc # C compiler
MACH_CXX_NOMPI = icpc # C++ compiler
MACH_FC_NOMPI = ifort # Fortran 77
MACH_F90_NOMPI = ifort # Fortran 90
MACH_LD_NOMPI = icpc # Linker
MACH_LIBTOOL = libtool

#-----------------------------------------------------------------------
# Machine-dependent defines
#-----------------------------------------------------------------------

# Note: When compiling against HDF5 version 1.8 or greater, you need to
# compile HDF5 with --with-default-api-version=v16, or specify with
# -DH5_USE_16_API.

MACH_DEFINES = -DLINUX -DH5_USE_16_API

#-----------------------------------------------------------------------
# Compiler flag settings
#-----------------------------------------------------------------------

MACH_OMPFLAGS = -fopenmp # OpenMP flags
MACH_CPPFLAGS = -P -traditional # C preprocessor flags
MACH_CFLAGS = -mp1 -prec_div -fp_port -align # C compiler flags
MACH_CXXFLAGS = -mp1 -prec_div -fp_port -align # C++ compiler flags
MACH_FFLAGS = # Fortran 77 compiler flags
MACH_F90FLAGS = -mp1 -prec_div -fp_port -align #-save -zero # Fortran 90 compiler flags
MACH_LDFLAGS = #-lifcore -lifport -lpthread -ldl # Linker flags

#-----------------------------------------------------------------------
# Optimization flags
#-----------------------------------------------------------------------

MACH_OPT_WARN = # Flags for verbose compiler warnings
MACH_OPT_DEBUG = -g -O0 # Flags for debugging
MACH_OPT_HIGH = -O2 # Flags for high conservative optimization
MACH_OPT_AGGRESSIVE = -O3 #-Mfptrap -Mflushz -fastsse -Mdaz -Mnontemporal -Mnofprelaxed -Mvect=altcode,assoc,prefetch -Kieee # Flags for aggressive optimization

#-----------------------------------------------------------------------
# Includes
#-----------------------------------------------------------------------

LOCAL_INCLUDES_HDF5 = -I$(LOCAL_HDF5_INSTALL)/include # HDF5 includes
MACH_INCLUDES = $(LOCAL_INCLUDES_HDF5)

#-----------------------------------------------------------------------
# Libraries
#-----------------------------------------------------------------------

LOCAL_LIBS_HDF5 = -L$(LOCAL_HDF5_INSTALL)/lib -lhdf5 # HDF5 libraries
LOCAL_LIBS_MACH = -L$(LOCAL_FC_INSTALL) -lm -lifcore -lifport # Machine-dependent libraries

MACH_LIBS = $(LOCAL_LIBS_HDF5) $(LOCAL_LIBS_MACH)

#-----------------------------------------------------------------------
# Installation
#-----------------------------------------------------------------------

# if $(HOME)/local does not exist, mkdir before `make install`

### Use this when make omp-on is set
MACH_INSTALL_PREFIX = <local_grackle_directory>/grackle_eureka_single_omp
### Use this when make omp-off is set
#MACH_INSTALL_PREFIX = <local_grackle_directory>/grackle_no_omp_single_precision
MACH_INSTALL_LIB_DIR =
MACH_INSTALL_INCLUDE_DIR =
97 changes: 97 additions & 0 deletions example/grackle/Make.mach.spock-intel
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
#=======================================================================
#
# FILE: Make.mach.spock-intel
#
# DESCRIPTION: Makefile for the calab-ntu Spock GPU cluster with Intel
# compiler and OpenMP support
#
# AUTHOR: Hsi-Yu Schive (modified by Guan-Ming Su, Barry T. Chiang,
# and Chun-Yen Chen)
#
# DATE: April 1, 2016 (August 28, 2024)
#=======================================================================

MACH_TEXT = Spock Intel
MACH_VALID = 0
MACH_FILE = Make.mach.spock-intel

#-----------------------------------------------------------------------
# Install paths (local variables)
#-----------------------------------------------------------------------

LOCAL_HDF5_INSTALL = /software/hdf5/1.10.6-intel-2023.1.0
LOCAL_FC_INSTALL = /software/intel/oneapi/compiler/latest/linux/compiler/lib/intel64

#-----------------------------------------------------------------------
# Compiler settings
#-----------------------------------------------------------------------

MACH_CPP = icpc # C preprocessor command

# Compilers
MACH_CC_NOMPI = icc # C compiler
MACH_CXX_NOMPI = icpc # C++ compiler
MACH_FC_NOMPI = ifort # Fortran 77
MACH_F90_NOMPI = ifort # Fortran 90
MACH_LD_NOMPI = icpc # Linker
MACH_LIBTOOL = libtool

#-----------------------------------------------------------------------
# Machine-dependent defines
#-----------------------------------------------------------------------

# Note: When compiling against HDF5 version 1.8 or greater, you need to
# compile HDF5 with --with-default-api-version=v16, or specify with
# -DH5_USE_16_API.

MACH_DEFINES = -DLINUX -DH5_USE_16_API

#-----------------------------------------------------------------------
# Compiler flag settings
#-----------------------------------------------------------------------

MACH_OMPFLAGS = -fopenmp # OpenMP flags
MACH_CPPFLAGS = -P -traditional # C preprocessor flags
MACH_CFLAGS = -mp1 -prec_div -fp_port -align # C compiler flags
MACH_CXXFLAGS = -mp1 -prec_div -fp_port -align # C++ compiler flags
MACH_FFLAGS = # Fortran 77 compiler flags
MACH_F90FLAGS = -mp1 -prec_div -fp_port -align #-save -zero # Fortran 90 compiler flags
MACH_LDFLAGS = #-lifcore -lifport -lpthread -ldl # Linker flags

#-----------------------------------------------------------------------
# Optimization flags
#-----------------------------------------------------------------------

MACH_OPT_WARN = # Flags for verbose compiler warnings
MACH_OPT_DEBUG = -g -O0 # Flags for debugging
MACH_OPT_HIGH = -O2 # Flags for high conservative optimization
MACH_OPT_AGGRESSIVE = -O3 #-Mfptrap -Mflushz -fastsse -Mdaz -Mnontemporal -Mnofprelaxed -Mvect=altcode,assoc,prefetch -Kieee # Flags for aggressive optimization

#-----------------------------------------------------------------------
# Includes
#-----------------------------------------------------------------------

LOCAL_INCLUDES_HDF5 = -I$(LOCAL_HDF5_INSTALL)/include # HDF5 includes
MACH_INCLUDES = $(LOCAL_INCLUDES_HDF5)

#-----------------------------------------------------------------------
# Libraries
#-----------------------------------------------------------------------

LOCAL_LIBS_HDF5 = -L$(LOCAL_HDF5_INSTALL)/lib -lhdf5 # HDF5 libraries
LOCAL_LIBS_MACH = -L$(LOCAL_FC_INSTALL) -lm -lifcore -lifport # Machine-dependent libraries

MACH_LIBS = $(LOCAL_LIBS_HDF5) $(LOCAL_LIBS_MACH)

#-----------------------------------------------------------------------
# Installation
#-----------------------------------------------------------------------

# if $(HOME)/local does not exist, mkdir before `make install`

### Use this when make omp-on is set
MACH_INSTALL_PREFIX = <local_grackle_directory>/grackle_spock_single_omp
### Use this when make omp-off is set
#MACH_INSTALL_PREFIX = <local_grackle_directory>/grackle_no_omp_single_precision
MACH_INSTALL_LIB_DIR =
MACH_INSTALL_INCLUDE_DIR =
14 changes: 14 additions & 0 deletions example/grackle/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
First-time GRACKLE installation guide (on calab-ntu gpu-clusters as an example):
========================================
1. First download the source code by executing "git clone https://github.com/grackle-project/grackle"
2. Next navigate to "cd grackle". The required UVB interpolation tables can be downloaded via "git submodule update --init"
3. Next navigate to "./configure; cd src/clib"
4. Copy into the config files "Make.mach.eureka-intel" or "Make.mach.spock-intel" (from the directory "<your_gamer_directory>/example/grackle/") and change the prefix: "MACH_INSTALL_PREFIX = <your_grackle_directory>/grackle_spock" in "Make.mach.spock-intel" to the path you wish to install the package
5. Next execute "make clean; make machine-spock-intel" or "make clean; make machine-eureka-intel"
6. Next execute "make show-config" and "make precision-32" (single precision is more compatible with gaming GPUs on eureka and spock) and "make omp-on" (GAMER does utilize OpenMP)
7. Next execute "make save-config-gamer" (save this GAMER-spock specific config setting) and "make load-config-gamer" (load this GAMER-spock specific config setting)
8. Lastly for code compilation, execute "make; make install"
9. To compile the corresponding gamer executable:
(1) Add the path "GRACKLE_PATH <your_grackle_directory>/grackle_spock_single_omp" to "<your_gamer_directory>/configs/spock_intel.config"
(2) Copy "generate_make.sh" from the AGORA test problem and change "--machine=spock_intel" in that file, and then execute "sh generate_make.sh"
(3) Generate a gamer executable via "make clean; make -j 4"
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Level Jeans_length/cell_size
0 64.0
1 64.0
2 64.0
3 64.0
4 64.0
5 64.0
6 64.0
7 64.0
8 64.0
9 64.0
10 64.0
11 64.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Level Total_particle_mass_per_cell
0 1.0035496e-3
1 1.0035496e-3
2 1.0035496e-3
3 1.0035496e-3
4 1.0035496e-3
5 1.0035496e-3
6 1.0035496e-3
7 1.0035496e-3
8 1.0035496e-3
9 1.0035496e-3
10 1.0035496e-3
11 1.0035496e-3
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Level Density
0 3.125751391053200e-10
1 2.500601112842560e-09
2 2.000480890274048e-08
3 1.600384712219238e-07
4 1.280307769775391e-06
5 1.024246215820313e-05
6 8.193969726562500e-05
7 6.555175781250000e-04
8 5.244140625000000e-03
9 4.195312500000000e-02
10 3.356250000000000e-01
Loading