Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • openfoam openfoam
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 379
    • Issues 379
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 13
    • Merge requests 13
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Development
  • openfoamopenfoam
  • Issues
  • #2044

Closed
Open
Created Mar 25, 2021 by Tomoki, Karatsu@t-karatsu

Add Function suggestion: Add Fujitsu-MPI for A64FX.

Hello, @mark.

Thank you for your cooperation in adding the Fujitsu compiler before. This time I would like to add a process to recognize the Fujitsu MPI library on A64FX. Can I submit the PR this community? If I don't have the right to submit a PR, could you incorporate the following fixes?

diff --git a/etc/bashrc b/etc/bashrc
index 763f165..a6daac7 100644
--- a/etc/bashrc
+++ b/etc/bashrc
@@ -90,7 +90,7 @@ export WM_COMPILE_OPTION=Opt

 # [WM_MPLIB] - MPI implementation:
 # = SYSTEMOPENMPI | OPENMPI | SYSTEMMPI | MPI | MPICH | MPICH-GM |
-#   HPMPI | CRAY-MPICH | FJMPI | QSMPI | SGIMPI | INTELMPI | USERMPI
+#   HPMPI | CRAY-MPICH | FJMPI | FJMPI-A64FX | QSMPI | SGIMPI | INTELMPI | USERMPI
 # Specify SYSTEMOPENMPI1, SYSTEMOPENMPI2 for internal tracking (if desired)
 # Can also use INTELMPI-xyz etc and define your own wmake rule
 export WM_MPLIB=SYSTEMOPENMPI
diff --git a/etc/config.sh/mpi b/etc/config.sh/mpi
index 69617b1..7531cc8 100644
--- a/etc/config.sh/mpi
+++ b/etc/config.sh/mpi
@@ -297,6 +297,15 @@ FJMPI)
     _foamAddLib     /opt/FJSVpnidt/lib
     ;;

+FJMPI-A64FX)
+    export FOAM_MPI=fjmpi-a64fx
+    export MPI_ARCH_PATH="$MPI_ROOT"
+
+    export OPAL_PREFIX="$MPI_ARCH_PATH"
+
+    _foamAddPath    "$MPI_ARCH_PATH"/bin
+    _foamAddLib     "$MPI_ARCH_PATH"/lib64
+    ;;

 QSMPI)
     export FOAM_MPI=qsmpi
diff --git a/wmake/rules/General/mplibFJMPI-A64FX b/wmake/rules/General/mplibFJMPI-A64FX
index e69de29..6e2ae4f 100644
--- a/wmake/rules/General/mplibFJMPI-A64FX
+++ b/wmake/rules/General/mplibFJMPI-A64FX
@@ -0,0 +1,7 @@
+#------------------------------------------------------------------------------
+
+PFLAGS     = -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX
+PINC       = -isystem $(MPI_ARCH_PATH)/include/mpi/fujitsu/
+PLIBS      = -L$(MPI_ARCH_PATH)/lib64 -lmpi
+
+#------------------------------------------------------------------------------
Assignee
Assign to
Time tracking