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

The pmc_mpi module. More...

Modules

module  pmc_mpi
 

Wrapper functions for MPI.


Functions/Subroutines

logical pmc_mpi::pmc_mpi_support ()
 Whether MPI support is compiled in.
subroutine pmc_mpi::pmc_mpi_check_ierr (ierr)
 Dies if ierr is not ok.
subroutine pmc_mpi::pmc_mpi_init ()
 Initialize MPI.
subroutine pmc_mpi::pmc_mpi_abort (status)
 Abort the program.
subroutine pmc_mpi::pmc_mpi_finalize ()
 Shut down MPI.
subroutine pmc_mpi::pmc_mpi_barrier ()
 Synchronize all processes.
integer pmc_mpi::pmc_mpi_rank ()
 Returns the rank of the current process.
integer pmc_mpi::pmc_mpi_size ()
 Returns the total number of processes.
subroutine pmc_mpi::pmc_mpi_test ()
 Perform basic sanity checks on send/receive.
subroutine pmc_mpi::pmc_mpi_bcast_integer (val)
 Broadcast the given value from process 0 to all other processes.
subroutine pmc_mpi::pmc_mpi_bcast_string (val)
 Broadcast the given value from process 0 to all other processes.
subroutine pmc_mpi::pmc_mpi_bcast_packed (val)
 Broadcast the given value from process 0 to all other processes.
integer pmc_mpi::pmc_mpi_pack_size_integer (val)
 Determines the number of bytes required to pack the given value.
integer pmc_mpi::pmc_mpi_pack_size_real (val)
 Determines the number of bytes required to pack the given value.
integer pmc_mpi::pmc_mpi_pack_size_string (val)
 Determines the number of bytes required to pack the given value.
integer pmc_mpi::pmc_mpi_pack_size_logical (val)
 Determines the number of bytes required to pack the given value.
integer pmc_mpi::pmc_mpi_pack_size_complex (val)
 Determines the number of bytes required to pack the given value.
integer pmc_mpi::pmc_mpi_pack_size_integer_array (val)
 Determines the number of bytes required to pack the given value.
integer pmc_mpi::pmc_mpi_pack_size_real_array (val)
 Determines the number of bytes required to pack the given value.
integer pmc_mpi::pmc_mpi_pack_size_string_array (val)
 Determines the number of bytes required to pack the given value.
integer pmc_mpi::pmc_mpi_pack_size_real_array_2d (val)
 Determines the number of bytes required to pack the given value.
subroutine pmc_mpi::pmc_mpi_pack_integer (buffer, position, val)
 Packs the given value into the buffer, advancing position.
subroutine pmc_mpi::pmc_mpi_pack_real (buffer, position, val)
 Packs the given value into the buffer, advancing position.
subroutine pmc_mpi::pmc_mpi_pack_string (buffer, position, val)
 Packs the given value into the buffer, advancing position.
subroutine pmc_mpi::pmc_mpi_pack_logical (buffer, position, val)
 Packs the given value into the buffer, advancing position.
subroutine pmc_mpi::pmc_mpi_pack_complex (buffer, position, val)
 Packs the given value into the buffer, advancing position.
subroutine pmc_mpi::pmc_mpi_pack_integer_array (buffer, position, val)
 Packs the given value into the buffer, advancing position.
subroutine pmc_mpi::pmc_mpi_pack_real_array (buffer, position, val)
 Packs the given value into the buffer, advancing position.
subroutine pmc_mpi::pmc_mpi_pack_string_array (buffer, position, val)
 Packs the given value into the buffer, advancing position.
subroutine pmc_mpi::pmc_mpi_pack_real_array_2d (buffer, position, val)
 Packs the given value into the buffer, advancing position.
subroutine pmc_mpi::pmc_mpi_unpack_integer (buffer, position, val)
 Unpacks the given value from the buffer, advancing position.
subroutine pmc_mpi::pmc_mpi_unpack_real (buffer, position, val)
 Unpacks the given value from the buffer, advancing position.
subroutine pmc_mpi::pmc_mpi_unpack_string (buffer, position, val)
 Unpacks the given value from the buffer, advancing position.
subroutine pmc_mpi::pmc_mpi_unpack_logical (buffer, position, val)
 Unpacks the given value from the buffer, advancing position.
subroutine pmc_mpi::pmc_mpi_unpack_complex (buffer, position, val)
 Unpacks the given value from the buffer, advancing position.
subroutine pmc_mpi::pmc_mpi_unpack_integer_array (buffer, position, val)
 Unpacks the given value from the buffer, advancing position.
subroutine pmc_mpi::pmc_mpi_unpack_real_array (buffer, position, val)
 Unpacks the given value from the buffer, advancing position.
subroutine pmc_mpi::pmc_mpi_unpack_string_array (buffer, position, val)
 Unpacks the given value from the buffer, advancing position.
subroutine pmc_mpi::pmc_mpi_unpack_real_array_2d (buffer, position, val)
 Unpacks the given value from the buffer, advancing position.
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.
subroutine pmc_mpi::pmc_mpi_transfer_real (from_val, to_val, from_proc, to_proc)
 Transfer the value between the given processes.
subroutine pmc_mpi::pmc_mpi_transfer_integer (from_val, to_val, from_proc, to_proc)
 Transfer the value between the given processes.
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.
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.
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.
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.
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.
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.

Detailed Description

The pmc_mpi module.