PartMC  2.6.1
Modules | Functions/Subroutines
mpi.F90 File Reference

The pmc_mpi module. More...

Go to the source code of this file.

Modules

module  pmc_mpi
 Wrapper functions for MPI.
 

Functions/Subroutines

logical function pmc_mpi::pmc_mpi_support ()
 Whether MPI support is compiled in. More...
 
subroutine pmc_mpi::pmc_mpi_check_ierr (ierr)
 Dies if ierr is not ok. More...
 
subroutine pmc_mpi::pmc_mpi_init ()
 Initialize MPI. More...
 
subroutine pmc_mpi::pmc_mpi_abort (status)
 Abort the program. More...
 
subroutine pmc_mpi::pmc_mpi_finalize ()
 Shut down MPI. More...
 
subroutine pmc_mpi::pmc_mpi_barrier ()
 Synchronize all processes. More...
 
integer function pmc_mpi::pmc_mpi_rank ()
 Returns the rank of the current process. More...
 
integer function pmc_mpi::pmc_mpi_size ()
 Returns the total number of processes. More...
 
subroutine pmc_mpi::pmc_mpi_test ()
 Perform basic sanity checks on send/receive. More...
 
subroutine pmc_mpi::pmc_mpi_bcast_integer (val)
 Broadcast the given value from process 0 to all other processes. More...
 
subroutine pmc_mpi::pmc_mpi_bcast_string (val)
 Broadcast the given value from process 0 to all other processes. More...
 
subroutine pmc_mpi::pmc_mpi_bcast_packed (val)
 Broadcast the given value from process 0 to all other processes. More...
 
integer function pmc_mpi::pmc_mpi_pack_size_integer (val)
 Determines the number of bytes required to pack the given value. More...
 
integer function pmc_mpi::pmc_mpi_pack_size_real (val)
 Determines the number of bytes required to pack the given value. More...
 
integer function pmc_mpi::pmc_mpi_pack_size_string (val)
 Determines the number of bytes required to pack the given value. More...
 
integer function pmc_mpi::pmc_mpi_pack_size_logical (val)
 Determines the number of bytes required to pack the given value. More...
 
integer function pmc_mpi::pmc_mpi_pack_size_complex (val)
 Determines the number of bytes required to pack the given value. More...
 
integer function pmc_mpi::pmc_mpi_pack_size_integer_array (val)
 Determines the number of bytes required to pack the given value. More...
 
integer function pmc_mpi::pmc_mpi_pack_size_real_array (val)
 Determines the number of bytes required to pack the given value. More...
 
integer function pmc_mpi::pmc_mpi_pack_size_string_array (val)
 Determines the number of bytes required to pack the given value. More...
 
integer function pmc_mpi::pmc_mpi_pack_size_real_array_2d (val)
 Determines the number of bytes required to pack the given value. More...
 
subroutine pmc_mpi::pmc_mpi_pack_integer (buffer, position, val)
 Packs the given value into the buffer, advancing position. More...
 
subroutine pmc_mpi::pmc_mpi_pack_real (buffer, position, val)
 Packs the given value into the buffer, advancing position. More...
 
subroutine pmc_mpi::pmc_mpi_pack_string (buffer, position, val)
 Packs the given value into the buffer, advancing position. More...
 
subroutine pmc_mpi::pmc_mpi_pack_logical (buffer, position, val)
 Packs the given value into the buffer, advancing position. More...
 
subroutine pmc_mpi::pmc_mpi_pack_complex (buffer, position, val)
 Packs the given value into the buffer, advancing position. More...
 
subroutine pmc_mpi::pmc_mpi_pack_integer_array (buffer, position, val)
 Packs the given value into the buffer, advancing position. More...
 
subroutine pmc_mpi::pmc_mpi_pack_real_array (buffer, position, val)
 Packs the given value into the buffer, advancing position. More...
 
subroutine pmc_mpi::pmc_mpi_pack_string_array (buffer, position, val)
 Packs the given value into the buffer, advancing position. More...
 
subroutine pmc_mpi::pmc_mpi_pack_real_array_2d (buffer, position, val)
 Packs the given value into the buffer, advancing position. More...
 
subroutine pmc_mpi::pmc_mpi_unpack_integer (buffer, position, val)
 Unpacks the given value from the buffer, advancing position. More...
 
subroutine pmc_mpi::pmc_mpi_unpack_real (buffer, position, val)
 Unpacks the given value from the buffer, advancing position. More...
 
subroutine pmc_mpi::pmc_mpi_unpack_string (buffer, position, val)
 Unpacks the given value from the buffer, advancing position. More...
 
subroutine pmc_mpi::pmc_mpi_unpack_logical (buffer, position, val)
 Unpacks the given value from the buffer, advancing position. More...
 
subroutine pmc_mpi::pmc_mpi_unpack_complex (buffer, position, val)
 Unpacks the given value from the buffer, advancing position. More...
 
subroutine pmc_mpi::pmc_mpi_unpack_integer_array (buffer, position, val)
 Unpacks the given value from the buffer, advancing position. More...
 
subroutine pmc_mpi::pmc_mpi_unpack_real_array (buffer, position, val)
 Unpacks the given value from the buffer, advancing position. More...
 
subroutine pmc_mpi::pmc_mpi_unpack_string_array (buffer, position, val)
 Unpacks the given value from the buffer, advancing position. More...
 
subroutine pmc_mpi::pmc_mpi_unpack_real_array_2d (buffer, position, val)
 Unpacks the given value from the buffer, advancing position. More...
 
subroutine pmc_mpi::pmc_mpi_reduce_avg_real (val, val_avg)
 Computes the average of val across all processes, storing the result in val_avg on the root process. More...
 
subroutine pmc_mpi::pmc_mpi_transfer_real (from_val, to_val, from_proc, to_proc)
 Transfer the value between the given processes. More...
 
subroutine pmc_mpi::pmc_mpi_transfer_integer (from_val, to_val, from_proc, to_proc)
 Transfer the value between the given processes. More...
 
subroutine pmc_mpi::pmc_mpi_reduce_sum_integer (val, val_sum)
 Computes the sum of val across all processes, storing the result in val_sum on the root process. More...
 
subroutine pmc_mpi::pmc_mpi_allreduce_sum_integer (val, val_sum)
 Computes the sum of val across all processes, storing the result in val_sum on all processes. More...
 
subroutine pmc_mpi::pmc_mpi_reduce_avg_real_array (val, val_avg)
 Computes the average of val across all processes, storing the result in val_avg on the root process. More...
 
subroutine pmc_mpi::pmc_mpi_reduce_avg_real_array_2d (val, val_avg)
 Computes the average of val across all processes, storing the result in val_avg on the root process. More...
 
subroutine pmc_mpi::pmc_mpi_allreduce_average_real (val, val_avg)
 Computes the average of val across all processes, storing the result in val_avg on all processes. More...
 
subroutine pmc_mpi::pmc_mpi_allreduce_average_real_array (val, val_avg)
 Computes the average of val across all processes, storing the result in val_avg on all processes. More...
 
subroutine pmc_mpi::pmc_mpi_allreduce_min_integer (val, val_min)
 Computes the minimum of val across all processes, storing the result in val_min on all processes. More...
 
subroutine pmc_mpi::pmc_mpi_allreduce_max_integer (val, val_max)
 Computes the maximum of val across all processes, storing the result in val_max on all processes. More...
 
subroutine pmc_mpi::pmc_mpi_allreduce_min_real (val, val_min)
 Computes the minimum of val across all processes, storing the result in val_min on all processes. More...
 
subroutine pmc_mpi::pmc_mpi_allreduce_max_real (val, val_max)
 Computes the maximum of val across all processes, storing the result in val_max on all processes. More...
 
logical function pmc_mpi::pmc_mpi_allequal_integer (val)
 Returns whether all processors have the same value. More...
 
logical function pmc_mpi::pmc_mpi_allequal_real (val)
 Returns whether all processors have the same value. More...
 
subroutine pmc_mpi::pmc_mpi_alltoall_integer (send, recv)
 Does an all-to-all transfer of integers. More...
 
subroutine pmc_mpi::pmc_mpi_allgather_integer_array (send, recv)
 Does an allgather of integer arrays (must be the same size on all processes). More...
 
subroutine pmc_mpi::pmc_mpi_allgather_real_array (send, recv)
 Does an allgather of real arrays (must be the same size on all processes). More...
 

Detailed Description

The pmc_mpi module.

Definition in file mpi.F90.