--- spack-src.org/CMakeLists.txt 2020-07-21 12:08:53.000000000 +0900 +++ spack-src/CMakeLists.txt 2020-12-23 11:32:57.147128677 +0900 @@ -38,6 +38,7 @@ option_set(USE_SCALAPACK "Use ScaLAPACK Library" OFF) option_set(USE_EIGENEXA "Use EigenExa Library" OFF) option_set(USE_LIBXC "Use Libxc library" OFF) +option_set(USE_FJMPI "Use FUJITSU MPI" OFF) ## Optimization for stencil compitations option_set(USE_OPT_DOMAIN_IS_POW2 "Enable whether the opimization assumes that a stencil domain size is power of two" OFF) --- spack-src.org/src/config.h.in 2020-07-21 12:08:53.000000000 +0900 +++ spack-src/src/config.h.in 2020-12-23 11:48:48.384061907 +0900 @@ -15,6 +15,7 @@ #cmakedefine SYSTEM_HAS_PATH_MAX_IN_LINUX_LIMITS_H #cmakedefine USE_MPI +#cmakedefine USE_FJMPI #cmakedefine USE_SCALAPACK #cmakedefine USE_EIGENEXA #cmakedefine USE_LIBXC diff -ru spack-src.org/src/parallel/init_communicator.f90 spack-src/src/parallel/init_communicator.f90 --- spack-src.org/src/parallel/init_communicator.f90 2020-07-21 12:08:53.000000000 +0900 +++ spack-src/src/parallel/init_communicator.f90 2020-12-23 11:50:58.997384260 +0900 @@ -13,6 +13,7 @@ ! See the License for the specific language governing permissions and ! limitations under the License. ! +#include "config.h" MODULE init_communicator implicit none @@ -35,7 +36,7 @@ integer :: i1,i2,i3,i4,i5,ix,iy,iz,nl integer,allocatable :: iranklists(:) -#ifdef __FUJITSU +#ifdef USE_FJMPI integer :: iret #endif @@ -59,7 +60,7 @@ 0:nproc_k-1)) ! communicator r,o,k,ro,ko -#ifdef __FUJITSU +#ifdef USE_FJMPI call tofu_network_oriented_mapping(iret) if (iret < 0) then if (comm_is_root(info%id_rko)) then @@ -106,7 +107,7 @@ if (nl /= info%isize_rko-1) & stop '[FATAL ERROR] init_communicator_dft' -#ifdef __FUJITSU +#ifdef USE_FJMPI end if #endif @@ -234,7 +235,7 @@ info%icomm_xy = comm_create_group_byid(comm, iranklists(1:nl)) call comm_get_groupinfo(info%icomm_xy, info%id_xy, info%isize_xy) -#ifdef __FUJITSU +#ifdef USE_FJMPI contains subroutine tofu_network_oriented_mapping(iret) use mpi_ext