mod_safe_mpi’s documentation

mod_safe_mpi is a module that can safely be used (without any extra dependencies) by a MPI compiler.

mod_safe_mpi/sub_allreduce_array() and mod_safe_mpi/sub_bcast_array() are designed to work around MPI’s 32-bit limit on the number of elements that are passed around in a single MPI call. They do this by creating a C pointer to the start of the (optionally multi-dimensional) FORTRAN array and defining the C pointer as being 1D with a length equal to the total size of the (optionally multi-dimensional) FORTRAN array.

mod_safe_mpi/sub_allreduce_array() and mod_safe_mpi/sub_bcast_array() use C_F_POINTER to create the C pointer. The SHAPE argument to this call is given as (/ n /) where n = SIZE(buff), thus buff_flat is now a flattened view of buff as far as the subroutine is concerned. The use of C_F_POINTER has achieved the same result as if buff_flat = PACK(buff) had been called but without the duplicated RAM usage. Now that buff_flat exists, the data in buff can easily be sent around in parts through the view that buff_flat provides. “Sequence Association” then means that the buff_flat(i) argument to both MPI_ALLREDUCE and MPI_BCAST works just as if an entire array was passed instead.

There is a good discussion about “Sequence Association” on the Intel blog which explains why buff_flat(i) “just works”.

subroutine  mod_safe_mpi/sub_allreduce_array(buff, op, comm)
Safely reduce an array of arbitrary dimension/kind/size using MPI.
Synopsis :

The MPI_BCAST reference states that COUNT is a default integer, which even on modern 64-bit x86 computers is usually still a signed 32-bit integer. Therefore, a single call of MPI_ALLREDUCE cannot be used to transfer more than 2,147,483,647 elements. To get around this problem I have written this subroutine which splits up the array into 1 GiB chunks. I could use MPI_TYPE_CREATE_SUBARRAY instead, however, that would just pass the buck and it would mean that no single dimension could be more than 2,147,483,647 elements as well. This subroutine is interfaced/overloaded, see the N individual versions below …

Parameters:
  • buff :: the arbitrary dimension/kind/size array to be reduced

  • op [integer ] :: the operation to perform

  • comm [integer ] :: the MPI communicator

subroutine  mod_safe_mpi/sub_bcast_array(buff, root, comm)
Safely broadcast an array of arbitrary dimension/kind/size using MPI.
Synopsis :

The MPI_BCAST reference states that COUNT is a default integer, which even on modern 64-bit x86 computers is usually still a signed 32-bit integer. Therefore, a single call of MPI_BCAST cannot be used to transfer more than 2,147,483,647 elements. To get around this problem I have written this subroutine which splits up the array into 1 GiB chunks. I could use MPI_TYPE_CREATE_SUBARRAY instead, however, that would just pass the buck and it would mean that no single dimension could be more than 2,147,483,647 elements as well. This subroutine is interfaced/overloaded, see the N individual versions below …

Parameters:
  • buff :: the arbitrary dimension/kind/size array to be broadcast

  • root [integer ] :: the root MPI task

  • comm [integer ] :: the MPI communicator

Description

This module contains a lot of MPI subroutines which are thread-safe and which can be safely imported in to any program.

Quick access

Routines:

sub_allreduce_1d_int16_integer_array(), sub_allreduce_1d_int16_logical_array(), sub_allreduce_1d_int32_integer_array(), sub_allreduce_1d_int32_logical_array(), sub_allreduce_1d_int64_integer_array(), sub_allreduce_1d_int64_logical_array(), sub_allreduce_1d_int8_integer_array(), sub_allreduce_1d_int8_logical_array(), sub_allreduce_1d_real128_real_array(), sub_allreduce_1d_real32_real_array(), sub_allreduce_1d_real64_real_array(), sub_allreduce_2d_int16_integer_array(), sub_allreduce_2d_int16_logical_array(), sub_allreduce_2d_int32_integer_array(), sub_allreduce_2d_int32_logical_array(), sub_allreduce_2d_int64_integer_array(), sub_allreduce_2d_int64_logical_array(), sub_allreduce_2d_int8_integer_array(), sub_allreduce_2d_int8_logical_array(), sub_allreduce_2d_real128_real_array(), sub_allreduce_2d_real32_real_array(), sub_allreduce_2d_real64_real_array(), sub_allreduce_3d_int16_integer_array(), sub_allreduce_3d_int16_logical_array(), sub_allreduce_3d_int32_integer_array(), sub_allreduce_3d_int32_logical_array(), sub_allreduce_3d_int64_integer_array(), sub_allreduce_3d_int64_logical_array(), sub_allreduce_3d_int8_integer_array(), sub_allreduce_3d_int8_logical_array(), sub_allreduce_3d_real128_real_array(), sub_allreduce_3d_real32_real_array(), sub_allreduce_3d_real64_real_array(), sub_allreduce_4d_int16_integer_array(), sub_allreduce_4d_int16_logical_array(), sub_allreduce_4d_int32_integer_array(), sub_allreduce_4d_int32_logical_array(), sub_allreduce_4d_int64_integer_array(), sub_allreduce_4d_int64_logical_array(), sub_allreduce_4d_int8_integer_array(), sub_allreduce_4d_int8_logical_array(), sub_allreduce_4d_real128_real_array(), sub_allreduce_4d_real32_real_array(), sub_allreduce_4d_real64_real_array(), sub_allreduce_5d_int16_integer_array(), sub_allreduce_5d_int16_logical_array(), sub_allreduce_5d_int32_integer_array(), sub_allreduce_5d_int32_logical_array(), sub_allreduce_5d_int64_integer_array(), sub_allreduce_5d_int64_logical_array(), sub_allreduce_5d_int8_integer_array(), sub_allreduce_5d_int8_logical_array(), sub_allreduce_5d_real128_real_array(), sub_allreduce_5d_real32_real_array(), sub_allreduce_5d_real64_real_array(), sub_allreduce_6d_int16_integer_array(), sub_allreduce_6d_int16_logical_array(), sub_allreduce_6d_int32_integer_array(), sub_allreduce_6d_int32_logical_array(), sub_allreduce_6d_int64_integer_array(), sub_allreduce_6d_int64_logical_array(), sub_allreduce_6d_int8_integer_array(), sub_allreduce_6d_int8_logical_array(), sub_allreduce_6d_real128_real_array(), sub_allreduce_6d_real32_real_array(), sub_allreduce_6d_real64_real_array(), sub_allreduce_7d_int16_integer_array(), sub_allreduce_7d_int16_logical_array(), sub_allreduce_7d_int32_integer_array(), sub_allreduce_7d_int32_logical_array(), sub_allreduce_7d_int64_integer_array(), sub_allreduce_7d_int64_logical_array(), sub_allreduce_7d_int8_integer_array(), sub_allreduce_7d_int8_logical_array(), sub_allreduce_7d_real128_real_array(), sub_allreduce_7d_real32_real_array(), sub_allreduce_7d_real64_real_array(), sub_bcast_1d_int16_integer_array(), sub_bcast_1d_int16_logical_array(), sub_bcast_1d_int32_integer_array(), sub_bcast_1d_int32_logical_array(), sub_bcast_1d_int64_integer_array(), sub_bcast_1d_int64_logical_array(), sub_bcast_1d_int8_integer_array(), sub_bcast_1d_int8_logical_array(), sub_bcast_1d_real128_real_array(), sub_bcast_1d_real32_real_array(), sub_bcast_1d_real64_real_array(), sub_bcast_2d_int16_integer_array(), sub_bcast_2d_int16_logical_array(), sub_bcast_2d_int32_integer_array(), sub_bcast_2d_int32_logical_array(), sub_bcast_2d_int64_integer_array(), sub_bcast_2d_int64_logical_array(), sub_bcast_2d_int8_integer_array(), sub_bcast_2d_int8_logical_array(), sub_bcast_2d_real128_real_array(), sub_bcast_2d_real32_real_array(), sub_bcast_2d_real64_real_array(), sub_bcast_3d_int16_integer_array(), sub_bcast_3d_int16_logical_array(), sub_bcast_3d_int32_integer_array(), sub_bcast_3d_int32_logical_array(), sub_bcast_3d_int64_integer_array(), sub_bcast_3d_int64_logical_array(), sub_bcast_3d_int8_integer_array(), sub_bcast_3d_int8_logical_array(), sub_bcast_3d_real128_real_array(), sub_bcast_3d_real32_real_array(), sub_bcast_3d_real64_real_array(), sub_bcast_4d_int16_integer_array(), sub_bcast_4d_int16_logical_array(), sub_bcast_4d_int32_integer_array(), sub_bcast_4d_int32_logical_array(), sub_bcast_4d_int64_integer_array(), sub_bcast_4d_int64_logical_array(), sub_bcast_4d_int8_integer_array(), sub_bcast_4d_int8_logical_array(), sub_bcast_4d_real128_real_array(), sub_bcast_4d_real32_real_array(), sub_bcast_4d_real64_real_array(), sub_bcast_5d_int16_integer_array(), sub_bcast_5d_int16_logical_array(), sub_bcast_5d_int32_integer_array(), sub_bcast_5d_int32_logical_array(), sub_bcast_5d_int64_integer_array(), sub_bcast_5d_int64_logical_array(), sub_bcast_5d_int8_integer_array(), sub_bcast_5d_int8_logical_array(), sub_bcast_5d_real128_real_array(), sub_bcast_5d_real32_real_array(), sub_bcast_5d_real64_real_array(), sub_bcast_6d_int16_integer_array(), sub_bcast_6d_int16_logical_array(), sub_bcast_6d_int32_integer_array(), sub_bcast_6d_int32_logical_array(), sub_bcast_6d_int64_integer_array(), sub_bcast_6d_int64_logical_array(), sub_bcast_6d_int8_integer_array(), sub_bcast_6d_int8_logical_array(), sub_bcast_6d_real128_real_array(), sub_bcast_6d_real32_real_array(), sub_bcast_6d_real64_real_array(), sub_bcast_7d_int16_integer_array(), sub_bcast_7d_int16_logical_array(), sub_bcast_7d_int32_integer_array(), sub_bcast_7d_int32_logical_array(), sub_bcast_7d_int64_integer_array(), sub_bcast_7d_int64_logical_array(), sub_bcast_7d_int8_integer_array(), sub_bcast_7d_int8_logical_array(), sub_bcast_7d_real128_real_array(), sub_bcast_7d_real32_real_array(), sub_bcast_7d_real64_real_array()

Needed modules

  • iso_fortran_env

  • mpi

Subroutines and functions

subroutine  mod_safe_mpi/sub_allreduce_1d_int8_integer_array(buff, op, comm)
Parameters:
  • buff (*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_2d_int8_integer_array(buff, op, comm)
Parameters:
  • buff (*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_3d_int8_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_4d_int8_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_5d_int8_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_6d_int8_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_7d_int8_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_1d_int16_integer_array(buff, op, comm)
Parameters:
  • buff (*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_2d_int16_integer_array(buff, op, comm)
Parameters:
  • buff (*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_3d_int16_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_4d_int16_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_5d_int16_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_6d_int16_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_7d_int16_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_1d_int32_integer_array(buff, op, comm)
Parameters:
  • buff (*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_2d_int32_integer_array(buff, op, comm)
Parameters:
  • buff (*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_3d_int32_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_4d_int32_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_5d_int32_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_6d_int32_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_7d_int32_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_1d_int64_integer_array(buff, op, comm)
Parameters:
  • buff (*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_2d_int64_integer_array(buff, op, comm)
Parameters:
  • buff (*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_3d_int64_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_4d_int64_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_5d_int64_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_6d_int64_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_7d_int64_integer_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [integer ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_1d_int8_logical_array(buff, op, comm)
Parameters:
  • buff (*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_2d_int8_logical_array(buff, op, comm)
Parameters:
  • buff (*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_3d_int8_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_4d_int8_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_5d_int8_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_6d_int8_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_7d_int8_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_1d_int16_logical_array(buff, op, comm)
Parameters:
  • buff (*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_2d_int16_logical_array(buff, op, comm)
Parameters:
  • buff (*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_3d_int16_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_4d_int16_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_5d_int16_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_6d_int16_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_7d_int16_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_1d_int32_logical_array(buff, op, comm)
Parameters:
  • buff (*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_2d_int32_logical_array(buff, op, comm)
Parameters:
  • buff (*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_3d_int32_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_4d_int32_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_5d_int32_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_6d_int32_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_7d_int32_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_1d_int64_logical_array(buff, op, comm)
Parameters:
  • buff (*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_2d_int64_logical_array(buff, op, comm)
Parameters:
  • buff (*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_3d_int64_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_4d_int64_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_5d_int64_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_6d_int64_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_7d_int64_logical_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [logical ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_1d_real32_real_array(buff, op, comm)
Parameters:
  • buff (*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_2d_real32_real_array(buff, op, comm)
Parameters:
  • buff (*,*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_3d_real32_real_array(buff, op, comm)
Parameters:
  • buff (*,*,*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_4d_real32_real_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_5d_real32_real_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_6d_real32_real_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_7d_real32_real_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_1d_real64_real_array(buff, op, comm)
Parameters:
  • buff (*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_2d_real64_real_array(buff, op, comm)
Parameters:
  • buff (*,*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_3d_real64_real_array(buff, op, comm)
Parameters:
  • buff (*,*,*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_4d_real64_real_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_5d_real64_real_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_6d_real64_real_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_7d_real64_real_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_1d_real128_real_array(buff, op, comm)
Parameters:
  • buff (*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_2d_real128_real_array(buff, op, comm)
Parameters:
  • buff (*,*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_3d_real128_real_array(buff, op, comm)
Parameters:
  • buff (*,*,*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_4d_real128_real_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_5d_real128_real_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_6d_real128_real_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_allreduce_7d_real128_real_array(buff, op, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [real ,inout,target/contiguous]

  • op [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_1d_int8_integer_array(buff, root, comm)
Parameters:
  • buff (*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_2d_int8_integer_array(buff, root, comm)
Parameters:
  • buff (*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_3d_int8_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_4d_int8_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_5d_int8_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_6d_int8_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_7d_int8_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_1d_int16_integer_array(buff, root, comm)
Parameters:
  • buff (*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_2d_int16_integer_array(buff, root, comm)
Parameters:
  • buff (*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_3d_int16_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_4d_int16_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_5d_int16_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_6d_int16_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_7d_int16_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_1d_int32_integer_array(buff, root, comm)
Parameters:
  • buff (*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_2d_int32_integer_array(buff, root, comm)
Parameters:
  • buff (*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_3d_int32_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_4d_int32_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_5d_int32_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_6d_int32_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_7d_int32_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_1d_int64_integer_array(buff, root, comm)
Parameters:
  • buff (*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_2d_int64_integer_array(buff, root, comm)
Parameters:
  • buff (*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_3d_int64_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_4d_int64_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_5d_int64_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_6d_int64_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_7d_int64_integer_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [integer ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_1d_int8_logical_array(buff, root, comm)
Parameters:
  • buff (*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_2d_int8_logical_array(buff, root, comm)
Parameters:
  • buff (*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_3d_int8_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_4d_int8_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_5d_int8_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_6d_int8_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_7d_int8_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_1d_int16_logical_array(buff, root, comm)
Parameters:
  • buff (*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_2d_int16_logical_array(buff, root, comm)
Parameters:
  • buff (*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_3d_int16_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_4d_int16_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_5d_int16_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_6d_int16_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_7d_int16_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_1d_int32_logical_array(buff, root, comm)
Parameters:
  • buff (*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_2d_int32_logical_array(buff, root, comm)
Parameters:
  • buff (*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_3d_int32_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_4d_int32_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_5d_int32_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_6d_int32_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_7d_int32_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_1d_int64_logical_array(buff, root, comm)
Parameters:
  • buff (*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_2d_int64_logical_array(buff, root, comm)
Parameters:
  • buff (*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_3d_int64_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_4d_int64_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_5d_int64_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_6d_int64_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_7d_int64_logical_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [logical ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_1d_real32_real_array(buff, root, comm)
Parameters:
  • buff (*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_2d_real32_real_array(buff, root, comm)
Parameters:
  • buff (*,*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_3d_real32_real_array(buff, root, comm)
Parameters:
  • buff (*,*,*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_4d_real32_real_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_5d_real32_real_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_6d_real32_real_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_7d_real32_real_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_1d_real64_real_array(buff, root, comm)
Parameters:
  • buff (*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_2d_real64_real_array(buff, root, comm)
Parameters:
  • buff (*,*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_3d_real64_real_array(buff, root, comm)
Parameters:
  • buff (*,*,*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_4d_real64_real_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_5d_real64_real_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_6d_real64_real_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_7d_real64_real_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_1d_real128_real_array(buff, root, comm)
Parameters:
  • buff (*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_2d_real128_real_array(buff, root, comm)
Parameters:
  • buff (*,*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_3d_real128_real_array(buff, root, comm)
Parameters:
  • buff (*,*,*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_4d_real128_real_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_5d_real128_real_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_6d_real128_real_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi

subroutine  mod_safe_mpi/sub_bcast_7d_real128_real_array(buff, root, comm)
Parameters:
  • buff (*,*,*,*,*,*,*) [real ,inout,target/contiguous]

  • root [integer ,in]

  • comm [integer ,in]

Use :

iso_c_binding, iso_fortran_env, mpi