You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Next steps: I am not planning to take on this project. This is just an initial report found. Please feel free to work on this.
miniGhost:
The miniGhost application can be run with either MPI or Serial. Since flang-new does not currently support MPI, this initial report is focused on Serial.
Initial report for miniGhost:
Minimum version of Fortran required using gfortran: F95
Required arguments to compile with version: "-fdec"
How to compile with gfortran:
First you can download the project by running in bash:
mkdir miniGhost
cd miniGhost
wget -N http://www.nersc.gov/assets/Trinity--NERSC-8-RFP/Benchmarks/Feb22/MiniGhostv0.9.tar
tar xf MiniGhostv0.9.tar
Now you can compile the project by running:
cd source
make FC=gfortran CC=gcc LD=gfortran PROTOCOL="-D_MG_SERIAL" FFLAGS="-ffree-form -D_MG_INT4 -D_MG_REAL8"
Where the paths to the GNU compilers are correctly substituted in.
Does it compile with flang-new: Yes
miniGhost can be compiled, however it requires a bit of a "hack" in the main.c, and a build of PGMATH. To compile:
First at line 82 in main.c, change the #else branch statement from #define MINI_GHOST mini_ghost_ to #define MINI_GHOST _QPmini_ghost.
where PGMATH_DIR is the path to your PGMATH build directory.
An important note for the compilation step is the change in main.c code of #define MINI_GHOST _QPmini_ghost. In theory we should not need to change this, however we do not currently include the ExternalNameConversion pass in the pass pipeline definition in the driver. We should not require this workaround once the pass is included in the default pass pipeline. Without it, the linker ends up not being able to find the MINI_GHOST subroutine in DRIVER.F that is called from main.c.
Enable building and execution of the miniGhost application with the LLVM Flang compiler.
The text was updated successfully, but these errors were encountered: