CAMP 1.0.0
Chemistry Across Multiple Phases
Modules | Functions/Subroutines
mpi.F90 File Reference

The camp_mpi module. More...

Go to the source code of this file.

Modules

module  camp_mpi
 Wrapper functions for MPI.
 

Functions/Subroutines

logical function camp_mpi::camp_mpi_support ()
 Whether MPI support is compiled in.
 
subroutine camp_mpi::camp_mpi_check_ierr (ierr)
 Dies if ierr is not ok.
 
subroutine camp_mpi::camp_mpi_init ()
 Initialize MPI.
 
subroutine camp_mpi::camp_mpi_abort (status)
 Abort the program.
 
subroutine camp_mpi::camp_mpi_finalize ()
 Shut down MPI.
 
subroutine camp_mpi::camp_mpi_barrier (comm)
 Synchronize all processes.
 
integer function camp_mpi::camp_mpi_rank (comm)
 Returns the rank of the current process.
 
integer function camp_mpi::camp_mpi_size (comm)
 Returns the total number of processes.
 
subroutine camp_mpi::camp_mpi_test ()
 Perform basic sanity checks on send/receive.
 
subroutine camp_mpi::camp_mpi_bcast_integer (val, comm)
 Broadcast the given value from process 0 to all other processes.
 
subroutine camp_mpi::camp_mpi_bcast_string (val, comm)
 Broadcast the given value from process 0 to all other processes.
 
subroutine camp_mpi::camp_mpi_bcast_packed (val, comm)
 Broadcast the given value from process 0 to all other processes.
 
integer function camp_mpi::camp_mpi_pack_size_integer (val, comm)
 Determines the number of bytes required to pack the given value.
 
integer function camp_mpi::camp_mpi_pack_size_real (val, comm)
 Determines the number of bytes required to pack the given value.
 
integer function camp_mpi::camp_mpi_pack_size_string (val, comm)
 Determines the number of bytes required to pack the given value.
 
integer function camp_mpi::camp_mpi_pack_size_logical (val, comm)
 Determines the number of bytes required to pack the given value.
 
integer function camp_mpi::camp_mpi_pack_size_complex (val, comm)
 Determines the number of bytes required to pack the given value.
 
integer function camp_mpi::camp_mpi_pack_size_integer_array (val, comm)
 Determines the number of bytes required to pack the given value.
 
integer function camp_mpi::camp_mpi_pack_size_real_array (val, comm)
 Determines the number of bytes required to pack the given value.
 
integer function camp_mpi::camp_mpi_pack_size_string_array (val, comm)
 Determines the number of bytes required to pack the given value.
 
integer function camp_mpi::camp_mpi_pack_size_real_array_2d (val, comm)
 Determines the number of bytes required to pack the given value.
 
subroutine camp_mpi::camp_mpi_pack_integer (buffer, position, val, comm)
 Packs the given value into the buffer, advancing position.
 
subroutine camp_mpi::camp_mpi_pack_real (buffer, position, val, comm)
 Packs the given value into the buffer, advancing position.
 
subroutine camp_mpi::camp_mpi_pack_string (buffer, position, val, comm)
 Packs the given value into the buffer, advancing position.
 
subroutine camp_mpi::camp_mpi_pack_logical (buffer, position, val, comm)
 Packs the given value into the buffer, advancing position.
 
subroutine camp_mpi::camp_mpi_pack_complex (buffer, position, val, comm)
 Packs the given value into the buffer, advancing position.
 
subroutine camp_mpi::camp_mpi_pack_integer_array (buffer, position, val, comm)
 Packs the given value into the buffer, advancing position.
 
subroutine camp_mpi::camp_mpi_pack_real_array (buffer, position, val, comm)
 Packs the given value into the buffer, advancing position.
 
subroutine camp_mpi::camp_mpi_pack_string_array (buffer, position, val, comm)
 Packs the given value into the buffer, advancing position.
 
subroutine camp_mpi::camp_mpi_pack_real_array_2d (buffer, position, val, comm)
 Packs the given value into the buffer, advancing position.
 
subroutine camp_mpi::camp_mpi_unpack_integer (buffer, position, val, comm)
 Unpacks the given value from the buffer, advancing position.
 
subroutine camp_mpi::camp_mpi_unpack_real (buffer, position, val, comm)
 Unpacks the given value from the buffer, advancing position.
 
subroutine camp_mpi::camp_mpi_unpack_string (buffer, position, val, comm)
 Unpacks the given value from the buffer, advancing position.
 
subroutine camp_mpi::camp_mpi_unpack_logical (buffer, position, val, comm)
 Unpacks the given value from the buffer, advancing position.
 
subroutine camp_mpi::camp_mpi_unpack_complex (buffer, position, val, comm)
 Unpacks the given value from the buffer, advancing position.
 
subroutine camp_mpi::camp_mpi_unpack_integer_array (buffer, position, val, comm)
 Unpacks the given value from the buffer, advancing position.
 
subroutine camp_mpi::camp_mpi_unpack_real_array (buffer, position, val, comm)
 Unpacks the given value from the buffer, advancing position.
 
subroutine camp_mpi::camp_mpi_unpack_string_array (buffer, position, val, comm)
 Unpacks the given value from the buffer, advancing position.
 
subroutine camp_mpi::camp_mpi_unpack_real_array_2d (buffer, position, val, comm)
 Unpacks the given value from the buffer, advancing position.
 
subroutine camp_mpi::camp_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 camp_mpi::camp_mpi_transfer_real (from_val, to_val, from_proc, to_proc)
 Transfer the value between the given processes.
 
subroutine camp_mpi::camp_mpi_transfer_integer (from_val, to_val, from_proc, to_proc)
 Transfer the value between the given processes.
 
subroutine camp_mpi::camp_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 camp_mpi::camp_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 camp_mpi::camp_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 camp_mpi::camp_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 camp_mpi::camp_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 camp_mpi::camp_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.
 
subroutine camp_mpi::camp_mpi_allreduce_min_integer (val, val_min)
 Computes the minimum of val across all processes, storing the result in val_min on all processes.
 
subroutine camp_mpi::camp_mpi_allreduce_max_integer (val, val_max)
 Computes the maximum of val across all processes, storing the result in val_max on all processes.
 
subroutine camp_mpi::camp_mpi_allreduce_min_real (val, val_min)
 Computes the minimum of val across all processes, storing the result in val_min on all processes.
 
subroutine camp_mpi::camp_mpi_allreduce_max_real (val, val_max)
 Computes the maximum of val across all processes, storing the result in val_max on all processes.
 
logical function camp_mpi::camp_mpi_allequal_integer (val)
 Returns whether all processors have the same value.
 
logical function camp_mpi::camp_mpi_allequal_real (val)
 Returns whether all processors have the same value.
 
subroutine camp_mpi::camp_mpi_alltoall_integer (send, recv)
 Does an all-to-all transfer of integers.
 
subroutine camp_mpi::camp_mpi_allgather_integer_array (send, recv)
 Does an allgather of integer arrays (must be the same size on all processes).
 
subroutine camp_mpi::camp_mpi_allgather_real_array (send, recv)
 Does an allgather of real arrays (must be the same size on all processes).
 

Detailed Description

The camp_mpi module.

Definition in file mpi.F90.