|
subroutine, public | broadcast_inter_io_mod::init_broadcast_inter_io (io_configuration) |
| Initialises the broadcast inter IO functionality. More...
|
|
subroutine, public | broadcast_inter_io_mod::finalise_broadcast_inter_io () |
| Finalises the broadcast inter IO functionality. More...
|
|
logical function, public | broadcast_inter_io_mod::check_broadcast_inter_io_for_completion (io_configuration) |
| Checks the statuses for broadcast completion and returns whether they are all finished or not. More...
|
|
subroutine | broadcast_inter_io_mod::handle_recv_data_from_io_server (io_configuration, data_buffer, inter_io_index) |
| Handles receiving data from another IO server and processing this. If the request has already been registered (with a callback) then this simply calls out. Otherwise it has to cache the data and awaits a thread calling the broadcast to call out to the callback. More...
|
|
subroutine, public | broadcast_inter_io_mod::perform_inter_io_broadcast (io_configuration, field_values, field_size, field_name, root, timestep, completion_procedure) |
| Performs an inter IO broadcast of data from the root to all other IO servers. Note that this is on the IO server (and not MONC level) so might require some translation between the user's logical view and this view. Broadcasts are only issued once for a specific field_name and timestep pair. More...
|
|
subroutine | broadcast_inter_io_mod::issue_thread_call_to_completion (field_name, timestep, values, completion_procedure) |
| Issues the call into the thread pool to call the completion procedure, this runs in a seperate thread and ensures the semantics of one IO server or many with message ordering are independent. More...
|
|
subroutine | broadcast_inter_io_mod::thread_call_to_completion (arguments, data_buffer) |
| Called by the thread pool, this will call onto the completion procedure before cleaning up @arguments Integer arguments, this is the ID of the entry in the state @data_buffer Unused here. More...
|
|
subroutine | broadcast_inter_io_mod::clean_broadcast_progress_if_needed () |
| Calls out to do a broadcast progress clean if needed (i.e. every n steps.) More...
|
|
subroutine | broadcast_inter_io_mod::clean_broadcast_progress () |
| Performs a clean of the broadcast progresses that no longer need to be stored. More...
|
|
type(inter_io_broadcast) function, pointer | broadcast_inter_io_mod::find_or_add_broadcast_item (field_name, timestep, completion_procedure) |
| Locates and returns or adds and returns a specific broadcast item representing a timestep and field. More...
|
|
type(inter_io_broadcast) function, pointer | broadcast_inter_io_mod::find_broadcast_item (field_name, timestep, do_read_lock) |
| Finds a specific broadcast item or null if none is found. More...
|
|
type(inter_io_broadcast) function, pointer | broadcast_inter_io_mod::retrieve_broadcast_item (mapentry) |
| Locates a broadcast item within a mapentry or null if none exists. More...
|
|
|
integer, parameter | broadcast_inter_io_mod::my_inter_io_tag =2 |
|
integer, parameter | broadcast_inter_io_mod::perform_clean_every =200 |
|
character(len= *), parameter | broadcast_inter_io_mod::my_inter_io_name ="bcastinterio" |
| Type keeping track of broadcast statuses. More...
|
|
type(io_configuration_type), pointer | broadcast_inter_io_mod::stored_io_configuration |
|
type(hashmap_type), volatile | broadcast_inter_io_mod::broadcast_statuses |
|
type(hashmap_type), volatile | broadcast_inter_io_mod::thread_callback_params |
|
integer, volatile | broadcast_inter_io_mod::broadcast_statuses_rwlock |
|
integer, volatile | broadcast_inter_io_mod::inter_io_description_mutex |
|
integer, volatile | broadcast_inter_io_mod::clean_progress_mutex |
|
integer, volatile | broadcast_inter_io_mod::bcast_count_mutex |
|
integer, volatile | broadcast_inter_io_mod::bcast_clean_reduction_count |
|
integer, volatile | broadcast_inter_io_mod::bcast_count |
|
integer, volatile | broadcast_inter_io_mod::thread_callback_params_id |
|
integer, volatile | broadcast_inter_io_mod::thread_callback_params_mutex |
|
logical, volatile | broadcast_inter_io_mod::initialised =.false. |
|