GPI2.jl API
GPI2.gaspi_logger
— Methodgaspi_logger()
Run the gaspi_logger
tool of the GPI-2 library.
This is an experimental feature and may change in future releases.
GPI2.gaspi_run
— Methodgaspi_run()
Run the gaspi_run
tool of the GPI-2 library.
This is an experimental feature and may change in future releases.
GPI2.use_jll_bindings
— Methoduse_jll_bindings()
Configure GPI2.jl to use the C bindings file provided by the JLL package.
GPI2.use_jll_library
— Methoduse_jll_library()
Configure GPI2.jl to use libGPI2.so
binary provided by the JLL package.
GPI2.use_system_bindings
— Methoduse_system_bindings(path)
Configure GPI2.jl to use the C bindings file provided on the local system at path
.
This is an experimental feature and may change in future releases.
GPI2.use_system_library
— Methoduse_system_library(path)
Configure GPI2.jl to use libGPI2.so
binary provided on the local system at path
.
This is an experimental feature and may change in future releases.
GPI2.LibGPI2.gaspi_alloc_t
— Typegaspi_alloc_t
Memory allocation policy.
GPI2.LibGPI2.gaspi_config
— Typegaspi_config
A structure with configuration.
GPI2.LibGPI2.gaspi_config_t
— TypeA structure with configuration.
GPI2.LibGPI2.gaspi_datatype_t
— Typegaspi_datatype_t
Element types for Collective communication.
GPI2.LibGPI2.gaspi_dev_config_t
— Typegaspi_dev_config_t
Network Device configuration.
GPI2.LibGPI2.gaspi_network_t
— Typegaspi_network_t
Network type.
GPI2.LibGPI2.gaspi_operation_t
— Typegaspi_operation_t
Operations for Collective communication.
Enumerator | Note |
---|---|
GASPI_OP_MIN | Minimum |
GASPI_OP_MAX | Maximum |
GASPI_OP_SUM | Sum |
GPI2.LibGPI2.gaspi_return_t
— Typegaspi_return_t
Functions return type.
GPI2.LibGPI2.gaspi_state_t
— Typegaspi_state_t
State of queue.
GPI2.LibGPI2.gaspi_statistic_argument_t
— Typegaspi_statistic_argument_t
Statistical information
GPI2.LibGPI2.gaspi_topology_t
— Typegaspi_topology_t
Topology building strategy.
GPI2.LibGPI2.gaspi_allreduce
— Methodgaspi_allreduce(buffer_send, buffer_receive, num, operation, datatype, group, timeout_ms)
All Reduce collective operation.
Parameters
buffer_send
: The buffer with data for the operation.buffer_receive
: The buffer to receive the result of the operation.num
: The number of data elements in the buffer (beware of maximum - usegaspi_allreduce_elem_max
).operation
: The type of operations (seegaspi_operation_t
).datatyp
: Type of data (seegaspi_datatype_t
).group
: The group involved in the operation.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_allreduce (const gaspi_pointer_t buffer_send, gaspi_pointer_t const buffer_receive, const gaspi_number_t num, const gaspi_operation_t operation, const gaspi_datatype_t datatype, const gaspi_group_t group, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_allreduce_buf_size
— Methodgaspi_allreduce_buf_size(buf_size)
Get the internal buffer size for gaspi_allreduce_user
.
Parameters
buf_size
: Output parameter with the buffer size.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_allreduce_buf_size (gaspi_size_t * const buf_size);
GPI2.LibGPI2.gaspi_allreduce_elem_max
— Methodgaspi_allreduce_elem_max(elem_max)
Get the maximum number of elements allowed in gaspi_allreduce
.
Parameters
elem_max
: Output parameter with the maximum number of elements.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_allreduce_elem_max (gaspi_number_t * const elem_max);
GPI2.LibGPI2.gaspi_allreduce_user
— Methodgaspi_allreduce_user(buffer_send, buffer_receive, num, element_size, reduce_operation, reduce_state, group, timeout_ms)
Prototype
gaspi_return_t gaspi_allreduce_user (const gaspi_pointer_t buffer_send, gaspi_pointer_t const buffer_receive, const gaspi_number_t num, const gaspi_size_t element_size, gaspi_reduce_operation_t const reduce_operation, gaspi_reduce_state_t const reduce_state, const gaspi_group_t group, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_atomic_compare_swap
— Methodgaspi_atomic_compare_swap(segment_id, offset, rank, comparator, val_new, val_old, timeout_ms)
Atomic compare-and-swap.
Parameters
segment_id
: Segment identifier of data.offset
: Offset of data.rank
: The rank where to perform the operation.comparator
: The comparison value for the operation.val_new
: The new value to swap if comparison is successful.val_old
: Output parameter with the old value (before the operation).timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_atomic_compare_swap (const gaspi_segment_id_t segment_id, const gaspi_offset_t offset, const gaspi_rank_t rank, const gaspi_atomic_value_t comparator, const gaspi_atomic_value_t val_new, gaspi_atomic_value_t * const val_old, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_atomic_fetch_add
— Methodgaspi_atomic_fetch_add(segment_id, offset, rank, val_add, val_old, timeout_ms)
Atomic fetch-and-add
The offset must be 8 bytes aligned.
Parameters
segment_id
: Segment identifier where data is located.offset
: Offset where data is located.rank
: The rank where to perform the operation.val_add
: The value to add.val_old
: Output parameter with the old value (before the add operation).timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_atomic_fetch_add (const gaspi_segment_id_t segment_id, const gaspi_offset_t offset, const gaspi_rank_t rank, const gaspi_atomic_value_t val_add, gaspi_atomic_value_t * const val_old, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_atomic_max
— Methodgaspi_atomic_max(max_value)
Maximum value an gaspi_atomic_value_t
can hold.
Parameters
max_value
: Output parameter with the maximum value allowed for atomic operations.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_atomic_max(gaspi_atomic_value_t *max_value);
GPI2.LibGPI2.gaspi_barrier
— Methodgaspi_barrier(group, timeout_ms)
Barrier.
Parameters
group
: The group involved in the barrier.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_barrier (const gaspi_group_t group, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_build_infrastructure
— Methodgaspi_build_infrastructure(build)
Get current value of config build_infrastructure.
Parameters
build
: Output parameter with the value.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_build_infrastructure (gaspi_number_t * const build);
GPI2.LibGPI2.gaspi_config_get
— Methodgaspi_config_get(config)
Get configuration structure.
Parameters
config
: Output configuration structure.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_config_get (gaspi_config_t * const config);
GPI2.LibGPI2.gaspi_config_set
— Methodgaspi_config_set(new_config)
Set configuration values.
Parameters
new_config
: The new configuration to be set.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_config_set (const gaspi_config_t new_config);
GPI2.LibGPI2.gaspi_connect
— Methodgaspi_connect(rank, timeout_ms)
Connect to a determined rank to be able to communicate. It builds the required infrastructure for communication.
Parameters
rank
: Rank to connect to.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_connect (const gaspi_rank_t rank, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_cpu_frequency
— Methodgaspi_cpu_frequency(cpu_mhz)
Get the CPU frequency.
Parameters
cpu_mhz
: Output parameter with the frequency.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_cpu_frequency (gaspi_float * const cpu_mhz);
GPI2.LibGPI2.gaspi_disconnect
— Methodgaspi_disconnect(rank, timeout_ms)
Disconnect from a particular rank.
Parameters
rank
: Rank to disconnect from.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_disconnect (const gaspi_rank_t rank, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_error_str
— Methodgaspi_error_str(error_code)
Get string describing return value. This is slightly more practical than gaspi_print_error
.
Parameters
error_code
: The return value to be described.
Returns
A string that describes the return value.
Prototype
gaspi_string_t gaspi_error_str(gaspi_return_t error_code);
GPI2.LibGPI2.gaspi_group_add
— Methodgaspi_group_add(group, rank)
Add a given rank to a group.
Parameters
group
: Group to add.rank
: Rank to add to the group.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_group_add (const gaspi_group_t group, const gaspi_rank_t rank);
GPI2.LibGPI2.gaspi_group_commit
— Methodgaspi_group_commit(group, timeout_ms)
Establish a group by committing it. A group needs to be committed in order to use collective operations on such group.
Parameters
group
: Group to commit.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_group_commit (const gaspi_group_t group, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_group_create
— Methodgaspi_group_create(group)
Create a group. In case of success, a empty group is created (without members).
Parameters
group
: The created group.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_group_create (gaspi_group_t * const group);
GPI2.LibGPI2.gaspi_group_delete
— Methodgaspi_group_delete(group)
Delete a given group.
Parameters
group
: Group to delete.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_group_delete (const gaspi_group_t group);
GPI2.LibGPI2.gaspi_group_max
— Methodgaspi_group_max(group_max)
Get the maximum number of groups allowed to be created.
Parameters
group_max
: Output parameter with the maximum number of groups.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_group_max (gaspi_number_t * const group_max);
GPI2.LibGPI2.gaspi_group_num
— Methodgaspi_group_num(group_num)
Get the current number of created groups.
Parameters
group_num
: Output paramter with the number of groups.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_group_num (gaspi_number_t * const group_num);
GPI2.LibGPI2.gaspi_group_ranks
— Methodgaspi_group_ranks(group, group_ranks)
Get the list of ranks forming a given group.
Parameters
group
: The group we are interested in.group_ranks
: Output parameter: an array with the ranks belonging to the given group.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_group_ranks (const gaspi_group_t group, gaspi_rank_t * const group_ranks);
GPI2.LibGPI2.gaspi_group_size
— Methodgaspi_group_size(group, group_size)
Get the size of a given group. It returns the number of processes (ranks) in the group.
Parameters
group
: The group from which we want to know the size.group_size
: Output parameter with the group size.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_group_size (const gaspi_group_t group, gaspi_number_t * const group_size);
GPI2.LibGPI2.gaspi_initialized
— Methodgaspi_initialized(initialized)
Check if GPI-2 is initialized
Parameters
initialized
: Output parameter with flag value.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_initialized (gaspi_number_t * initialized);
GPI2.LibGPI2.gaspi_network_type
— Methodgaspi_network_type(network_type)
Get the network type.
Parameters
network_type
: Output parameter with the network type.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_network_type (gaspi_network_t * const network_type);
GPI2.LibGPI2.gaspi_notification_num
— Methodgaspi_notification_num(notification_num)
Get the number of available notification ids. Important to note is that the allowed ids are in [ 0, notification_num ) .
Parameters
notification_num
: Output parameter with the number of available notifications ids.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_notification_num (gaspi_number_t * const notification_num);
GPI2.LibGPI2.gaspi_notify
— Methodgaspi_notify(segment_id_remote, rank, notification_id, notification_value, queue, timeout_ms)
Post a notification with a particular value to a given rank.
Parameters
segment_id_remote
: The remote segment id.rank
: The rank to notify.notification_id
: The notification id.notification_value
: The notification value.queue
: The queue to post the notification request.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_notify (const gaspi_segment_id_t segment_id_remote, const gaspi_rank_t rank, const gaspi_notification_id_t notification_id, const gaspi_notification_t notification_value, const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_notify_reset
— Methodgaspi_notify_reset(segment_id_local, notification_id, old_notification_val)
Reset a given notification (and retrieve its value).
Parameters
segment_id_local
: The segment identifier.notification_id
: The notification identifier to reset.old_notification_val
: Output parameter with the value of the notification (before the reset).
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_notify_reset (const gaspi_segment_id_t segment_id_local, const gaspi_notification_id_t notification_id, gaspi_notification_t * const old_notification_val);
GPI2.LibGPI2.gaspi_notify_waitsome
— Methodgaspi_notify_waitsome(segment_id_local, notification_begin, num, first_id, timeout_ms)
Wait for some notification.
Parameters
segment_id_local
: The segment identifier.notification_begin
: The notification id where to start to wait.num
: The number of notifications to wait for.first_id
: Output parameter with the identifier of a received notification.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_notify_waitsome (const gaspi_segment_id_t segment_id_local, const gaspi_notification_id_t notification_begin, const gaspi_number_t num, gaspi_notification_id_t * const first_id, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_numa_socket
— Methodgaspi_numa_socket(socket)
Get NUMA socket
Parameters
socket
: Output parameter with the socket
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case GPI2 was not started with NUMA enabled.
Prototype
gaspi_return_t gaspi_numa_socket(gaspi_uchar * const socket);
GPI2.LibGPI2.gaspi_passive_receive
— Methodgaspi_passive_receive(segment_id_local, offset_local, rem_rank, size, timeout_ms)
Receive data of a given size from any rank.
Parameters
segment_id_local
: The segment where to place the received data.offset_local
: The local offset where to place the received data.rem_rank
: Output parameter with the sender (rank).size
: The size to receive.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_passive_receive (const gaspi_segment_id_t segment_id_local, const gaspi_offset_t offset_local, gaspi_rank_t * const rem_rank, const gaspi_size_t size, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_passive_send
— Methodgaspi_passive_send(segment_id_local, offset_local, rank, size, timeout_ms)
Send data of a given size to a given rank.
Parameters
segment_id_local
: The local segment identifier.offset_local
: The offset where the data to send is located.rank
: The rank to send to.size
: The size of the data to send.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_passive_send (const gaspi_segment_id_t segment_id_local, const gaspi_offset_t offset_local, const gaspi_rank_t rank, const gaspi_size_t size, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_passive_transfer_size_max
— Methodgaspi_passive_transfer_size_max(passive_transfer_size_max)
Get the maximum allowed size (in bytes) allowed in passive communication.
Parameters
passive_transfer_size_max
: Output parameter with the maximum allowed size (in bytes) for passive communication.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_passive_transfer_size_max (gaspi_size_t * const passive_transfer_size_max);
GPI2.LibGPI2.gaspi_passive_transfer_size_min
— Methodgaspi_passive_transfer_size_min(passive_transfer_size_min)
Get the minimum allowed size (in bytes) allowed in passive communication.
Parameters
passive_transfer_size_min
: Output parameter with the minimum allowed size (in bytes) for passive communication.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_passive_transfer_size_min (gaspi_size_t * const passive_transfer_size_min);
GPI2.LibGPI2.gaspi_print_affinity_mask
— Methodgaspi_print_affinity_mask()
Print the CPU's affinity mask.
Prototype
void gaspi_print_affinity_mask (void);
GPI2.LibGPI2.gaspi_print_error
— Methodgaspi_print_error(error_code, error_message)
Translate a error code to a text message. NOTE: the parameter error_message will allocate memory which the application must de-allocate (using free())
Parameters
error_code
: The error code to translate.error_message
: Output parameter with the text message.
Returns
GASPI_SUCCESS in case of SUCCESS, GASPI_ERR_MEMALLOC in case of error there was an error allocating the error_message buffer.
Prototype
gaspi_return_t gaspi_print_error( gaspi_return_t error_code, gaspi_string_t *error_message);
GPI2.LibGPI2.gaspi_proc_init
— Methodgaspi_proc_init(timeout_ms)
Initialization procedure to start GPI-2. It is a non-local synchronous time-based blocking procedure.
Parameters
timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_proc_init (const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_proc_kill
— Methodgaspi_proc_kill(rank, timeout_ms)
Kill a given process (rank).
Parameters
rank
: Rank to kill.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_proc_kill (const gaspi_rank_t rank, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_proc_local_num
— Methodgaspi_proc_local_num(local_num)
Get the number of processes (ranks) started by the application.
Parameters
local_num
: The number of processes (ranks) in the same node
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_proc_local_num (gaspi_rank_t * const local_num);
GPI2.LibGPI2.gaspi_proc_local_rank
— Methodgaspi_proc_local_rank(local_rank)
Get the process local rank.
Parameters
local_rank
: Rank within a node of calling process.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_proc_local_rank (gaspi_rank_t * const local_rank);
GPI2.LibGPI2.gaspi_proc_num
— Methodgaspi_proc_num(proc_num)
Get the number of processes (ranks) started by the application.
Parameters
proc_num
: The number of processes (ranks) started by the application.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_proc_num (gaspi_rank_t * const proc_num);
GPI2.LibGPI2.gaspi_proc_ping
— Methodgaspi_proc_ping(rank, tout)
Ping a particular proc (rank). This is useful in FT applications to determine if a rank is alive.
Parameters
rank
: The rank to ping.tout
: A timeout value in milliseconds.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_proc_ping (const gaspi_rank_t rank, gaspi_timeout_t tout);
GPI2.LibGPI2.gaspi_proc_rank
— Methodgaspi_proc_rank(rank)
Get the process rank.
Parameters
rank
: Rank of calling process.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_proc_rank (gaspi_rank_t * const rank);
GPI2.LibGPI2.gaspi_proc_term
— Methodgaspi_proc_term(timeout_ms)
Shutdown procedure. It is a synchronous local time-based blocking operation that releases resources and performs the required clean-up.
Parameters
timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_proc_term (const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_queue_create
— Methodgaspi_queue_create(queue, timeout_ms)
Create a new communication queue.
Parameters
queue
: Output parameter with id of created queue.timeout_ms
: A timeout value in milliseconds.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_queue_create(gaspi_queue_id_t * const queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_queue_delete
— Methodgaspi_queue_delete(queue)
Delete a new communication queue.
Parameters
queue
: The queue ID to delete.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_queue_delete(const gaspi_queue_id_t queue);
GPI2.LibGPI2.gaspi_queue_max
— Methodgaspi_queue_max(queue_max)
Get the maximum number of queues that may be used. It is the maximum of initialized queues plus dynamically created queues.
Parameters
queue_max
: Output parameter with maximum number of queues.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_queue_max(gaspi_number_t * const queue_max);
GPI2.LibGPI2.gaspi_queue_num
— Methodgaspi_queue_num(queue_num)
Get the number of queue available for communication.
Parameters
queue_num
: Output parameter with the number of queues.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_queue_num (gaspi_number_t * const queue_num);
GPI2.LibGPI2.gaspi_queue_size
— Methodgaspi_queue_size(queue, queue_size)
Get the current number of elements on a given queue.
Parameters
queue
: The queue to get the size.queue_size
: Output parameter with the size/elements in the queue.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_queue_size (const gaspi_queue_id_t queue, gaspi_number_t * const queue_size);
GPI2.LibGPI2.gaspi_queue_size_max
— Methodgaspi_queue_size_max(queue_size_max)
Get the maximum number of elements that can be posted to a queue (outstanding requests).
Parameters
queue_size_max
: Output parameter with the maximum number of requests that can be posted to a queue.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_queue_size_max (gaspi_number_t * const queue_size_max);
GPI2.LibGPI2.gaspi_read
— Methodgaspi_read(segment_id_local, offset_local, rank, segment_id_remote, offset_remote, size, queue, timeout_ms)
One-sided read.
Parameters
segment_id_local
: The local segment id where data will be placed.offset_local
: The local offset where the data will be placed.rank
: The rank from which we want to read.segment_id_remote
: The remote segment id to read from.offset_remote
: The remote offset where to read from.size
: The size of data to read.queue
: The queue where to post the read request.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_QUEUE_FULL if the requested could not be posted because the provided queue is full, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_read (const gaspi_segment_id_t segment_id_local, const gaspi_offset_t offset_local, const gaspi_rank_t rank, const gaspi_segment_id_t segment_id_remote, const gaspi_offset_t offset_remote, const gaspi_size_t size, const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_read_list
— Methodgaspi_read_list(num, segment_id_local, offset_local, rank, segment_id_remote, offset_remote, size, queue, timeout_ms)
List of reads.
Parameters
num
: The number of list elements.segment_id_local
: List of local segments where data will be placed.offset_local
: List of local offsets where data will be placed.rank
: Rank from which will be read.segment_id_remote
: List of remote segments to read from.offset_remote
: List of remote offsets to read from.size
: List of sizes to read.queue
: The queue where to post the list.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_QUEUE_FULL if the requested could not be posted because the provided queue is full, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_read_list (const gaspi_number_t num, gaspi_segment_id_t * const segment_id_local, gaspi_offset_t * const offset_local, const gaspi_rank_t rank, gaspi_segment_id_t * const segment_id_remote, gaspi_offset_t * const offset_remote, gaspi_size_t * const size, const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_read_list_notify
— Methodgaspi_read_list_notify(num, segment_id_local, offset_local, rank, segment_id_remote, offset_remote, size, segment_id_notification, notification_id, queue, timeout_ms)
Read from different locations on a given rank and notify on local side.
Parameters
num
: The number of elements in the list.segment_id_local
: The list of local segments where data is located.offset_local
: The list of local offsets where data to write is located.rank
: The rank where to write the list and notification.segment_id_remote
: The list of remote segments where to write.offset_remote
: The list of remote offsets where to write.size
: The list of sizes to write.segment_id_notification
: The segment id used for notification.notification_id
: The notification identifier to use.queue
: The queue where to post the request.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_QUEUE_FULL if the requested could not be posted because the provided queue is full, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_read_list_notify (const gaspi_number_t num, gaspi_segment_id_t * const segment_id_local, gaspi_offset_t * const offset_local, const gaspi_rank_t rank, gaspi_segment_id_t * const segment_id_remote, gaspi_offset_t * const offset_remote, gaspi_size_t * const size, const gaspi_segment_id_t segment_id_notification, const gaspi_notification_id_t notification_id, const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_read_notify
— Methodgaspi_read_notify(segment_id_local, offset_local, rank, segment_id_remote, offset_remote, size, notification_id, queue, timeout_ms)
Read data from a given rank with a notification on the local side.
Parameters
segment_id_local
: The segment identifier where data to be written is located.offset_local
: The offset where the data to be written is located.rank
: The rank where to write and notify.segment_id_remote
: The remote segment identifier where to write the data to.offset_remote
: The remote offset where to write to.size
: The size of the data to write.notification_id
: The notification identifier to use.queue
: The queue where to post the request.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_QUEUE_FULL if the requested could not be posted because the provided queue is full, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_read_notify (const gaspi_segment_id_t segment_id_local, const gaspi_offset_t offset_local, const gaspi_rank_t rank, const gaspi_segment_id_t segment_id_remote, const gaspi_offset_t offset_remote, const gaspi_size_t size, const gaspi_notification_id_t notification_id, const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_rw_list_elem_max
— Methodgaspi_rw_list_elem_max(elem_max)
Get the maximum number of elements allowed in list (read, write) operations.
Parameters
elem_max
: Output parameter with the maximum number of elements.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_rw_list_elem_max (gaspi_number_t * const elem_max);
GPI2.LibGPI2.gaspi_segment_alloc
— Methodgaspi_segment_alloc(segment_id, size, alloc_policy)
Allocate a segment.
Parameters
segment_id
: The segment identifier to be created.size
: The size of the segment to be created.alloc_policy
: The allocation policy.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_segment_alloc (const gaspi_segment_id_t segment_id, const gaspi_size_t size, const gaspi_alloc_t alloc_policy);
GPI2.LibGPI2.gaspi_segment_avail_local
— Methodgaspi_segment_avail_local(avail_seg_id)
Get an available segment id (only locally).
To create/alloc a segment, the application must provide a segment id. This provides a helper function to find the next available id locally i.e. for the calling rank.
Parameters
avail_seg_id
: The available segment id.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_segment_avail_local (gaspi_segment_id_t* const avail_seg_id);
GPI2.LibGPI2.gaspi_segment_bind
— Methodgaspi_segment_bind(segment_id, pointer, size, memory_description)
Use a user-provided buffer as a segment.
Parameters
segment_id
: The segment identifier to be used.pointer
: The buffer address to use.size
: The size of segment.memory_description
: A description of the memory to be used.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_segment_bind (gaspi_segment_id_t const segment_id, gaspi_pointer_t const pointer, gaspi_size_t const size, gaspi_memory_description_t const memory_description);
GPI2.LibGPI2.gaspi_segment_create
— Methodgaspi_segment_create(segment_id, size, group, timeout_ms, alloc_policy)
Create a segment. It is semantically equivalent to a collective aggregation of gaspi_segment_ alloc, gaspi_segment_register
and gaspi_barrier
involving all of the mem- bers of a given group.
Parameters
segment_id
: The segment id to identify the segment.size
: The size of the segment (in bytes).group
: The group of ranks with which the segment should be registered.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).alloc_policy
: Memory allocation policy.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_segment_create (const gaspi_segment_id_t segment_id, const gaspi_size_t size, const gaspi_group_t group, const gaspi_timeout_t timeout_ms, const gaspi_alloc_t alloc_policy);
GPI2.LibGPI2.gaspi_segment_delete
— Methodgaspi_segment_delete(segment_id)
Delete a given segment.
Parameters
segment_id
: The segment identifier to be deleted.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_segment_delete (const gaspi_segment_id_t segment_id);
GPI2.LibGPI2.gaspi_segment_list
— Methodgaspi_segment_list(num, segment_id_list)
Get a list of locally allocated segments ID's.
Parameters
num
: The number of segments.segment_id_list
: Output parameter with an array wit the id's of the allocated segments.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_segment_list (const gaspi_number_t num, gaspi_segment_id_t * const segment_id_list);
GPI2.LibGPI2.gaspi_segment_max
— Methodgaspi_segment_max(segment_max)
Get the maximum number of segments allowed to be allocated/created.
Parameters
segment_max
: Output paramter with the maximum number of segments.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_segment_max (gaspi_number_t * const segment_max);
GPI2.LibGPI2.gaspi_segment_num
— Methodgaspi_segment_num(segment_num)
Get the number of allocated segments.
Parameters
segment_num
: Output parameter with the number of allocated segments.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_segment_num (gaspi_number_t * const segment_num);
GPI2.LibGPI2.gaspi_segment_ptr
— Methodgaspi_segment_ptr(segment_id, ptr)
Get the pointer to the location of a given segment.
Parameters
segment_id
: The segment identifier.ptr
: Output parameter with the pointer to the memory segment.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_segment_ptr (const gaspi_segment_id_t segment_id, gaspi_pointer_t * ptr);
GPI2.LibGPI2.gaspi_segment_register
— Methodgaspi_segment_register(segment_id, rank, timeout_ms)
Register a segment for communication. In case of success, the segment can be used for communication between the involved ranks.
Parameters
segment_id
: Segment identified to be registered.rank
: The rank to register this segment with.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_segment_register (const gaspi_segment_id_t segment_id, const gaspi_rank_t rank, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_segment_size
— Methodgaspi_segment_size(segment_id, rank, size)
Get the size of a given segment on a particular rank.
Parameters
segment_id
: The segment id we are interested in.rank
: The rank.size
: Output parameter with the size of the segment.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_segment_size (const gaspi_segment_id_t segment_id, const gaspi_rank_t rank, gaspi_size_t * const size);
GPI2.LibGPI2.gaspi_segment_use
— Methodgaspi_segment_use(segment_id, pointer, size, group, timeout, memory_description)
Use a user-provided buffer as a segment.
Parameters
segment_id
: The segment identifier to be used.pointer
: The buffer address to use.size
: The size of segment.group
: The group participating in the operation.timeout
: The operation timeout (in milliseconds).memory_description
: A description of the memory to be used.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_segment_use (gaspi_segment_id_t const segment_id, gaspi_pointer_t const pointer, gaspi_size_t const size, gaspi_group_t const group, gaspi_timeout_t const timeout, gaspi_memory_description_t const memory_description);
GPI2.LibGPI2.gaspi_set_socket_affinity
— Methodgaspi_set_socket_affinity(socket)
Set socket affinity
Prototype
gaspi_return_t gaspi_set_socket_affinity (const gaspi_uchar socket);
GPI2.LibGPI2.gaspi_state_vec_get
— Methodgaspi_state_vec_get(state_vector)
Get the state vector.
Parameters
state_vector
: Vector with state of each rank. The vector must be allocated with enough place to hold the state of all ranks.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_state_vec_get (gaspi_state_vector_t state_vector);
GPI2.LibGPI2.gaspi_statistic_counter_get
— Methodgaspi_statistic_counter_get(counter, argument, value)
Get statistical counter.
Parameters
counter
: the counter to be retrieved.argument
: the argument for the counter.value
: Output paramter with the current value of the counter.
Returns
GASPI_SUCCESS in case of SUCCESS, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_statistic_counter_get ( gaspi_statistic_counter_t counter, gaspi_number_t argument, unsigned long *value);
GPI2.LibGPI2.gaspi_statistic_counter_info
— Methodgaspi_statistic_counter_info(counter, counter_argument, counter_name, counter_description, verbosity_level)
Get information about a counter.
Parameters
counter
: the counter.counter_argument
: Output parameter with meaning of the counter.counter_name
: Output parameter with the name of the counter.counter_description
: Output parameter with a more detailed description of the counter.verbosity_level
: Output parameter with the minumum verbosity level to activate the counter.
Returns
GASPI_SUCCESS in case of SUCCESS, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_statistic_counter_info( gaspi_statistic_counter_t counter, gaspi_statistic_argument_t* counter_argument, gaspi_string_t* counter_name, gaspi_string_t* counter_description, gaspi_number_t* verbosity_level);
GPI2.LibGPI2.gaspi_statistic_counter_max
— Methodgaspi_statistic_counter_max(counter_max)
Get the maximum number of statistics counters.
Parameters
counter_max
: Output parameter with the maximum number of counters.
Returns
GASPI_SUCCESS in case of SUCCESS, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_statistic_counter_max(gaspi_number_t* counter_max);
GPI2.LibGPI2.gaspi_statistic_counter_reset
— Methodgaspi_statistic_counter_reset(counter)
Reset a counter (set to 0).
Parameters
counter
: The counter to reset.
Returns
GASPI_SUCCESS in case of SUCCESS, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_statistic_counter_reset (gaspi_statistic_counter_t counter);
GPI2.LibGPI2.gaspi_statistic_verbosity_level
— Methodgaspi_statistic_verbosity_level(_verbosity_level)
Set the verbosity level.
Parameters
_verbosity_level
: the level of desired verbosity
Returns
GASPI_SUCCESS in case of SUCCESS, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_statistic_verbosity_level(gaspi_number_t _verbosity_level);
GPI2.LibGPI2.gaspi_threads_get_num_cores
— Methodgaspi_threads_get_num_cores(cores)
Get total number of available cpu cores
Parameters
cores
: Output paramter with the number of cores.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_threads_get_num_cores(gaspi_int * const cores) __attribute__ ((deprecated));
GPI2.LibGPI2.gaspi_threads_get_tid
— Methodgaspi_threads_get_tid(tid)
Get thread identifier
Parameters
Output
: parameter with thread identifier
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_threads_get_tid(gaspi_int * const tid) __attribute__ ((deprecated));
GPI2.LibGPI2.gaspi_threads_get_total
— Methodgaspi_threads_get_total(num)
Get total number of threads
Parameters
Output
: parameter with total number of threads
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_threads_get_total(gaspi_int *const num) __attribute__ ((deprecated));
GPI2.LibGPI2.gaspi_threads_init
— Methodgaspi_threads_init(num)
Initialize threads (in all available cores)
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_threads_init(gaspi_int * const num) __attribute__ ((deprecated));
GPI2.LibGPI2.gaspi_threads_init_user
— Methodgaspi_threads_init_user(use_nr_of_threads)
Initialize threads (a particular number of threads)
Parameters
use_nr_of_threads
: Number of threads to start.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_threads_init_user(const unsigned int use_nr_of_threads) __attribute__ ((deprecated));
GPI2.LibGPI2.gaspi_threads_register
— Methodgaspi_threads_register(tid)
Register a thread with the pool.
Parameters
tid
: Output parameter with the thread identifier.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_threads_register(gaspi_int * tid);
GPI2.LibGPI2.gaspi_threads_run
— Methodgaspi_threads_run(_function, arg)
Run a particular task (function)
Parameters
function
: The function to run.arg
: The arguments of the function to run.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_threads_run(void* (*function)(void*), void *arg) __attribute__ ((deprecated));
GPI2.LibGPI2.gaspi_threads_sync
— Methodgaspi_threads_sync()
Synchronize all local threads (local barrier).
Prototype
void gaspi_threads_sync(void);
GPI2.LibGPI2.gaspi_threads_sync_all
— Methodgaspi_threads_sync_all(g, timeout_ms)
Synchronize all threads in a group (global barrier). Implies a gaspi_barrier
within the group.
Parameters
group
: The group involved in the barrier.timeout
: The timeout to be applied in the global barrier(gaspi_barrier
).
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_threads_sync_all(const gaspi_group_t g, const gaspi_timeout_t timeout_ms) __attribute__ ((deprecated));
GPI2.LibGPI2.gaspi_threads_term
— Methodgaspi_threads_term()
Finalize threads
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_threads_term(void) __attribute__ ((deprecated));
GPI2.LibGPI2.gaspi_time_get
— Methodgaspi_time_get(wtime)
Get elapsed time (in milliseconds).
Parameters
wtime
: Output parameter with the time in milliseconds.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_time_get (gaspi_time_t * const wtime);
GPI2.LibGPI2.gaspi_time_ticks
— Methodgaspi_time_ticks(ticks)
Get the number of cycles (ticks).
Parameters
ticks
: Output parameter with the ticks.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_time_ticks (gaspi_cycles_t * const ticks);
GPI2.LibGPI2.gaspi_transfer_size_max
— Methodgaspi_transfer_size_max(transfer_size_max)
Get the maximum size (in bytes) that can be communicated in a single request (read, write, etc.).
Parameters
transfer_size_max
: Output parameter with the maximum transfer size.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_transfer_size_max (gaspi_size_t * const transfer_size_max);
GPI2.LibGPI2.gaspi_transfer_size_min
— Methodgaspi_transfer_size_min(transfer_size_min)
Get the minimum size (in bytes) that can be communicated in a single request (write, read, etc.)
Parameters
transfer_size_min
: Output parameter with the minimum size that be transfered.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_transfer_size_min (gaspi_size_t * const transfer_size_min);
GPI2.LibGPI2.gaspi_version
— Methodgaspi_version(version)
Get version number.
Parameters
version
: Output parameter with version number.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error.
Prototype
gaspi_return_t gaspi_version (float *version);
GPI2.LibGPI2.gaspi_wait
— Methodgaspi_wait(queue, timeout_ms)
Wait for requests posted to a given queue.
Parameters
queue
: Queue to wait for.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_wait (const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_write
— Methodgaspi_write(segment_id_local, offset_local, rank, segment_id_remote, offset_remote, size, queue, timeout_ms)
One-sided write.
Parameters
segment_id_local
: The local segment id with the data to write.offset_local
: The local offset with the data to write.rank
: The rank to which we want to write.segment_id_remote
: The remote segment id to write to.offset_remote
: The remote offset where to write to.size
: The size of data to write.queue
: The queue where to post the write request.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_QUEUE_FULL if the requested could not be posted because the provided queue is full, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_write (const gaspi_segment_id_t segment_id_local, const gaspi_offset_t offset_local, const gaspi_rank_t rank, const gaspi_segment_id_t segment_id_remote, const gaspi_offset_t offset_remote, const gaspi_size_t size, const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_write_list
— Methodgaspi_write_list(num, segment_id_local, offset_local, rank, segment_id_remote, offset_remote, size, queue, timeout_ms)
List of writes.
Parameters
num
: The number of list elements (see alsogaspi_rw_list_elem_max
)segment_id_local
: List of local segments with data to be written.offset_local
: List of local offsets with data to be written.rank
: Rank to which will be written.segment_id_remote
: List of remote segments to write to.offset_remote
: List of remote offsets to write to.size
: List of sizes to write.queue
: The queue where to post the list.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_QUEUE_FULL if the requested could not be posted because the provided queue is full, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_write_list (const gaspi_number_t num, gaspi_segment_id_t * const segment_id_local, gaspi_offset_t * const offset_local, const gaspi_rank_t rank, gaspi_segment_id_t * const segment_id_remote, gaspi_offset_t * const offset_remote, gaspi_size_t * const size, const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_write_list_notify
— Methodgaspi_write_list_notify(num, segment_id_local, offset_local, rank, segment_id_remote, offset_remote, size, segment_id_notification, notification_id, notification_value, queue, timeout_ms)
Write to different locations and notify that particular rank.
Parameters
num
: The number of elements in the list.segment_id_local
: The list of local segments where data is located.offset_local
: The list of local offsets where data to write is located.rank
: The rank where to write the list and notification.segment_id_remote
: The list of remote segments where to write.offset_remote
: The list of remote offsets where to write.size
: The list of sizes to write.segment_id_notification
: The segment id used for notification.notification_id
: The notification identifier to use.notification_value
: The notification value to send.queue
: The queue where to post the request.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_QUEUE_FULL if the requested could not be posted because the provided queue is full, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_write_list_notify (const gaspi_number_t num, gaspi_segment_id_t * const segment_id_local, gaspi_offset_t * const offset_local, const gaspi_rank_t rank, gaspi_segment_id_t * const segment_id_remote, gaspi_offset_t * const offset_remote, gaspi_size_t * const size, const gaspi_segment_id_t segment_id_notification, const gaspi_notification_id_t notification_id, const gaspi_notification_t notification_value, const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.gaspi_write_notify
— Methodgaspi_write_notify(segment_id_local, offset_local, rank, segment_id_remote, offset_remote, size, notification_id, notification_value, queue, timeout_ms)
Write data to a given node and notify it.
Parameters
segment_id_local
: The segment identifier where data to be written is located.offset_local
: The offset where the data to be written is located.rank
: The rank where to write and notify.segment_id_remote
: The remote segment identifier where to write the data to.offset_remote
: The remote offset where to write to.size
: The size of the data to write.notification_id
: The notification identifier to use.notification_value
: The notification value used.queue
: The queue where to post the request.timeout_ms
: Timeout in milliseconds (or GASPI_BLOCK/GASPI_TEST).
Returns
GASPI_SUCCESS in case of success, GASPI_QUEUE_FULL if the requested could not be posted because the provided queue is full, GASPI_ERROR in case of error, GASPI_TIMEOUT in case of timeout.
Prototype
gaspi_return_t gaspi_write_notify (const gaspi_segment_id_t segment_id_local, const gaspi_offset_t offset_local, const gaspi_rank_t rank, const gaspi_segment_id_t segment_id_remote, const gaspi_offset_t offset_remote, const gaspi_size_t size, const gaspi_notification_id_t notification_id, const gaspi_notification_t notification_value, const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_allreduce
— Methodpgaspi_allreduce(buffer_send, buffer_receive, num, operation, datatyp, group, timeout_ms)
Prototype
gaspi_return_t pgaspi_allreduce (const gaspi_pointer_t buffer_send, gaspi_pointer_t const buffer_receive, const gaspi_number_t num, const gaspi_operation_t operation, const gaspi_datatype_t datatyp, const gaspi_group_t group, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_allreduce_buf_size
— Methodpgaspi_allreduce_buf_size(buf_size)
Prototype
gaspi_return_t pgaspi_allreduce_buf_size (gaspi_size_t * const buf_size);
GPI2.LibGPI2.pgaspi_allreduce_elem_max
— Methodpgaspi_allreduce_elem_max(elem_max)
Prototype
gaspi_return_t pgaspi_allreduce_elem_max (gaspi_number_t * const elem_max);
GPI2.LibGPI2.pgaspi_allreduce_user
— Methodpgaspi_allreduce_user(buffer_send, buffer_receive, num, element_size, reduce_operation, reduce_state, group, timeout_ms)
Prototype
gaspi_return_t pgaspi_allreduce_user (const gaspi_pointer_t buffer_send, gaspi_pointer_t const buffer_receive, const gaspi_number_t num, const gaspi_size_t element_size, gaspi_reduce_operation_t const reduce_operation, gaspi_reduce_state_t const reduce_state, const gaspi_group_t group, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_atomic_compare_swap
— Methodpgaspi_atomic_compare_swap(segment_id, offset, rank, comparator, val_new, val_old, timeout_ms)
Prototype
gaspi_return_t pgaspi_atomic_compare_swap (const gaspi_segment_id_t segment_id, const gaspi_offset_t offset, const gaspi_rank_t rank, const gaspi_atomic_value_t comparator, const gaspi_atomic_value_t val_new, gaspi_atomic_value_t * const val_old, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_atomic_fetch_add
— Methodpgaspi_atomic_fetch_add(segment_id, offset, rank, val_add, val_old, timeout_ms)
Prototype
gaspi_return_t pgaspi_atomic_fetch_add (const gaspi_segment_id_t segment_id, const gaspi_offset_t offset, const gaspi_rank_t rank, const gaspi_atomic_value_t val_add, gaspi_atomic_value_t * const val_old, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_barrier
— Methodpgaspi_barrier(group, timeout_ms)
Prototype
gaspi_return_t pgaspi_barrier (const gaspi_group_t group, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_config_get
— Methodpgaspi_config_get(config)
Prototype
gaspi_return_t pgaspi_config_get (gaspi_config_t * const config);
GPI2.LibGPI2.pgaspi_config_set
— Methodpgaspi_config_set(new_config)
Prototype
gaspi_return_t pgaspi_config_set (const gaspi_config_t new_config);
GPI2.LibGPI2.pgaspi_connect
— Methodpgaspi_connect(rank, timeout_ms)
Prototype
gaspi_return_t pgaspi_connect (const gaspi_rank_t rank, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_cpu_frequency
— Methodpgaspi_cpu_frequency(cpu_mhz)
Prototype
gaspi_return_t pgaspi_cpu_frequency (gaspi_float * const cpu_mhz);
GPI2.LibGPI2.pgaspi_disconnect
— Methodpgaspi_disconnect(rank, timeout_ms)
Prototype
gaspi_return_t pgaspi_disconnect (const gaspi_rank_t rank, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_error_str
— Methodpgaspi_error_str(error_code)
Prototype
gaspi_string_t pgaspi_error_str(gaspi_return_t error_code);
GPI2.LibGPI2.pgaspi_group_add
— Methodpgaspi_group_add(group, rank)
Prototype
gaspi_return_t pgaspi_group_add (const gaspi_group_t group, const gaspi_rank_t rank);
GPI2.LibGPI2.pgaspi_group_commit
— Methodpgaspi_group_commit(group, timeout_ms)
Prototype
gaspi_return_t pgaspi_group_commit (const gaspi_group_t group, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_group_create
— Methodpgaspi_group_create(group)
Prototype
gaspi_return_t pgaspi_group_create (gaspi_group_t * const group);
GPI2.LibGPI2.pgaspi_group_delete
— Methodpgaspi_group_delete(group)
Prototype
gaspi_return_t pgaspi_group_delete (const gaspi_group_t group);
GPI2.LibGPI2.pgaspi_group_max
— Methodpgaspi_group_max(group_max)
Prototype
gaspi_return_t pgaspi_group_max (gaspi_number_t * const group_max);
GPI2.LibGPI2.pgaspi_group_num
— Methodpgaspi_group_num(group_num)
Prototype
gaspi_return_t pgaspi_group_num (gaspi_number_t * const group_num);
GPI2.LibGPI2.pgaspi_group_ranks
— Methodpgaspi_group_ranks(group, group_ranks)
Prototype
gaspi_return_t pgaspi_group_ranks (const gaspi_group_t group, gaspi_rank_t * const group_ranks);
GPI2.LibGPI2.pgaspi_group_size
— Methodpgaspi_group_size(group, group_size)
Prototype
gaspi_return_t pgaspi_group_size (const gaspi_group_t group, gaspi_number_t * const group_size);
GPI2.LibGPI2.pgaspi_initialized
— Methodpgaspi_initialized(initialized)
Prototype
gaspi_return_t pgaspi_initialized (gaspi_number_t * initialized);
GPI2.LibGPI2.pgaspi_network_type
— Methodpgaspi_network_type(network_type)
Prototype
gaspi_return_t pgaspi_network_type (gaspi_network_t * const network_type);
GPI2.LibGPI2.pgaspi_notification_num
— Methodpgaspi_notification_num(notification_num)
Prototype
gaspi_return_t pgaspi_notification_num (gaspi_number_t * const notification_num);
GPI2.LibGPI2.pgaspi_notify
— Methodpgaspi_notify(segment_id_remote, rank, notification_id, notification_value, queue, timeout_ms)
Prototype
gaspi_return_t pgaspi_notify (const gaspi_segment_id_t segment_id_remote, const gaspi_rank_t rank, const gaspi_notification_id_t notification_id, const gaspi_notification_t notification_value, const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_notify_reset
— Methodpgaspi_notify_reset(segment_id_local, notification_id, old_notification_val)
Prototype
gaspi_return_t pgaspi_notify_reset (const gaspi_segment_id_t segment_id_local, const gaspi_notification_id_t notification_id, gaspi_notification_t * const old_notification_val);
GPI2.LibGPI2.pgaspi_notify_waitsome
— Methodpgaspi_notify_waitsome(segment_id_local, notification_begin, num, first_id, timeout_ms)
Prototype
gaspi_return_t pgaspi_notify_waitsome (const gaspi_segment_id_t segment_id_local, const gaspi_notification_id_t notification_begin, const gaspi_number_t num, gaspi_notification_id_t * const first_id, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_numa_socket
— Methodpgaspi_numa_socket(socket)
Prototype
gaspi_return_t pgaspi_numa_socket(gaspi_uchar * const socket);
GPI2.LibGPI2.pgaspi_passive_receive
— Methodpgaspi_passive_receive(segment_id_local, offset_local, rem_rank, size, timeout_ms)
Prototype
gaspi_return_t pgaspi_passive_receive (const gaspi_segment_id_t segment_id_local, const gaspi_offset_t offset_local, gaspi_rank_t * const rem_rank, const gaspi_size_t size, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_passive_send
— Methodpgaspi_passive_send(segment_id_local, offset_local, rank, size, timeout_ms)
Prototype
gaspi_return_t pgaspi_passive_send (const gaspi_segment_id_t segment_id_local, const gaspi_offset_t offset_local, const gaspi_rank_t rank, const gaspi_size_t size, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_passive_transfer_size_max
— Methodpgaspi_passive_transfer_size_max(passive_transfer_size_max)
Prototype
gaspi_return_t pgaspi_passive_transfer_size_max (gaspi_size_t * const passive_transfer_size_max);
GPI2.LibGPI2.pgaspi_print_affinity_mask
— Methodpgaspi_print_affinity_mask()
Prototype
void pgaspi_print_affinity_mask (void);
GPI2.LibGPI2.pgaspi_proc_init
— Methodpgaspi_proc_init(timeout_ms)
Prototype
gaspi_return_t pgaspi_proc_init (const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_proc_kill
— Methodpgaspi_proc_kill(rank, timeout_ms)
Prototype
gaspi_return_t pgaspi_proc_kill (const gaspi_rank_t rank, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_proc_local_num
— Methodpgaspi_proc_local_num(local_num)
Prototype
gaspi_return_t pgaspi_proc_local_num (gaspi_rank_t * const local_num);
GPI2.LibGPI2.pgaspi_proc_local_rank
— Methodpgaspi_proc_local_rank(local_rank)
Prototype
gaspi_return_t pgaspi_proc_local_rank (gaspi_rank_t * const local_rank);
GPI2.LibGPI2.pgaspi_proc_num
— Methodpgaspi_proc_num(proc_num)
Prototype
gaspi_return_t pgaspi_proc_num (gaspi_rank_t * const proc_num);
GPI2.LibGPI2.pgaspi_proc_rank
— Methodpgaspi_proc_rank(rank)
Prototype
gaspi_return_t pgaspi_proc_rank (gaspi_rank_t * const rank);
GPI2.LibGPI2.pgaspi_proc_term
— Methodpgaspi_proc_term(timeout_ms)
Prototype
gaspi_return_t pgaspi_proc_term (const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_queue_create
— Methodpgaspi_queue_create(queue_id, timeout_ms)
Prototype
gaspi_return_t pgaspi_queue_create(gaspi_queue_id_t * const queue_id, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_queue_delete
— Methodpgaspi_queue_delete(queue_id)
Prototype
gaspi_return_t pgaspi_queue_delete(const gaspi_queue_id_t queue_id);
GPI2.LibGPI2.pgaspi_queue_max
— Methodpgaspi_queue_max(queue_max)
Prototype
gaspi_return_t pgaspi_queue_max(gaspi_number_t * const queue_max);
GPI2.LibGPI2.pgaspi_queue_num
— Methodpgaspi_queue_num(queue_num)
Prototype
gaspi_return_t pgaspi_queue_num (gaspi_number_t * const queue_num);
GPI2.LibGPI2.pgaspi_queue_purge
— Methodpgaspi_queue_purge(queue, timeout_ms)
Purge queue.
Parameters
queue
: The queue to purge.timeout_ms
: Timeout for operation.
Returns
GASPI_SUCCESS in case of success, GASPI_ERROR in case of error or GASPI_TIMEOUT in case time has expired.
Prototype
gaspi_return_t pgaspi_queue_purge(const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_queue_size
— Methodpgaspi_queue_size(queue, queue_size)
Prototype
gaspi_return_t pgaspi_queue_size (const gaspi_queue_id_t queue, gaspi_number_t * const queue_size);
GPI2.LibGPI2.pgaspi_queue_size_max
— Methodpgaspi_queue_size_max(queue_size_max)
Prototype
gaspi_return_t pgaspi_queue_size_max (gaspi_number_t * const queue_size_max);
GPI2.LibGPI2.pgaspi_read
— Methodpgaspi_read(segment_id_local, offset_local, rank, segment_id_remote, offset_remote, size, queue, timeout_ms)
Prototype
gaspi_return_t pgaspi_read (const gaspi_segment_id_t segment_id_local, const gaspi_offset_t offset_local, const gaspi_rank_t rank, const gaspi_segment_id_t segment_id_remote, const gaspi_offset_t offset_remote, const gaspi_size_t size, const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_read_list
— Methodpgaspi_read_list(num, segment_id_local, offset_local, rank, segment_id_remote, offset_remote, size, queue, timeout_ms)
Prototype
gaspi_return_t pgaspi_read_list (const gaspi_number_t num, gaspi_segment_id_t * const segment_id_local, gaspi_offset_t * const offset_local, const gaspi_rank_t rank, gaspi_segment_id_t * const segment_id_remote, gaspi_offset_t * const offset_remote, gaspi_size_t * const size, const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_read_list_notify
— Methodpgaspi_read_list_notify(num, segment_id_local, offset_local, rank, segment_id_remote, offset_remote, size, segment_id_notification, notification_id, queue, timeout_ms)
Prototype
gaspi_return_t pgaspi_read_list_notify (const gaspi_number_t num, gaspi_segment_id_t * const segment_id_local, gaspi_offset_t * const offset_local, const gaspi_rank_t rank, gaspi_segment_id_t * const segment_id_remote, gaspi_offset_t * const offset_remote, gaspi_size_t * const size, const gaspi_segment_id_t segment_id_notification, const gaspi_notification_id_t notification_id, const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_read_notify
— Methodpgaspi_read_notify(segment_id_local, offset_local, rank, segment_id_remote, offset_remote, size, notification_id, queue, timeout_ms)
Prototype
gaspi_return_t pgaspi_read_notify (const gaspi_segment_id_t segment_id_local, const gaspi_offset_t offset_local, const gaspi_rank_t rank, const gaspi_segment_id_t segment_id_remote, const gaspi_offset_t offset_remote, const gaspi_size_t size, const gaspi_notification_id_t notification_id, const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_rw_list_elem_max
— Methodpgaspi_rw_list_elem_max(elem_max)
Prototype
gaspi_return_t pgaspi_rw_list_elem_max (gaspi_number_t * const elem_max);
GPI2.LibGPI2.pgaspi_segment_alloc
— Methodpgaspi_segment_alloc(segment_id, size, alloc_policy)
Prototype
gaspi_return_t pgaspi_segment_alloc (const gaspi_segment_id_t segment_id, const gaspi_size_t size, const gaspi_alloc_t alloc_policy);
GPI2.LibGPI2.pgaspi_segment_bind
— Methodpgaspi_segment_bind(segment_id, pointer, size, memory_description)
Prototype
gaspi_return_t pgaspi_segment_bind ( gaspi_segment_id_t const segment_id, gaspi_pointer_t const pointer, gaspi_size_t const size, gaspi_memory_description_t const memory_description);
GPI2.LibGPI2.pgaspi_segment_create
— Methodpgaspi_segment_create(segment_id, size, group, timeout_ms, alloc_policy)
Prototype
gaspi_return_t pgaspi_segment_create (const gaspi_segment_id_t segment_id, const gaspi_size_t size, const gaspi_group_t group, const gaspi_timeout_t timeout_ms, const gaspi_alloc_t alloc_policy);
GPI2.LibGPI2.pgaspi_segment_delete
— Methodpgaspi_segment_delete(segment_id)
Prototype
gaspi_return_t pgaspi_segment_delete (const gaspi_segment_id_t segment_id);
GPI2.LibGPI2.pgaspi_segment_list
— Methodpgaspi_segment_list(num, segment_id_list)
Prototype
gaspi_return_t pgaspi_segment_list (const gaspi_number_t num, gaspi_segment_id_t * const segment_id_list);
GPI2.LibGPI2.pgaspi_segment_max
— Methodpgaspi_segment_max(segment_max)
Prototype
gaspi_return_t pgaspi_segment_max (gaspi_number_t * const segment_max);
GPI2.LibGPI2.pgaspi_segment_num
— Methodpgaspi_segment_num(segment_num)
Prototype
gaspi_return_t pgaspi_segment_num (gaspi_number_t * const segment_num);
GPI2.LibGPI2.pgaspi_segment_ptr
— Methodpgaspi_segment_ptr(segment_id, ptr)
Prototype
gaspi_return_t pgaspi_segment_ptr (const gaspi_segment_id_t segment_id, gaspi_pointer_t * ptr);
GPI2.LibGPI2.pgaspi_segment_register
— Methodpgaspi_segment_register(segment_id, rank, timeout_ms)
Prototype
gaspi_return_t pgaspi_segment_register (const gaspi_segment_id_t segment_id, const gaspi_rank_t rank, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_segment_size
— Methodpgaspi_segment_size(segment_id, rank, size)
Prototype
gaspi_return_t pgaspi_segment_size (const gaspi_segment_id_t segment_id, const gaspi_rank_t rank, gaspi_size_t * const size);
GPI2.LibGPI2.pgaspi_segment_use
— Methodpgaspi_segment_use(segment_id, pointer, size, group, timeout, memory_description)
Prototype
gaspi_return_t pgaspi_segment_use ( gaspi_segment_id_t const segment_id, gaspi_pointer_t const pointer, gaspi_size_t const size, gaspi_group_t const group, gaspi_timeout_t const timeout, gaspi_memory_description_t const memory_description);
GPI2.LibGPI2.pgaspi_set_socket_affinity
— Methodpgaspi_set_socket_affinity(socket)
Prototype
gaspi_return_t pgaspi_set_socket_affinity (const gaspi_uchar socket);
GPI2.LibGPI2.pgaspi_state_vec_get
— Methodpgaspi_state_vec_get(state_vector)
Prototype
gaspi_return_t pgaspi_state_vec_get (gaspi_state_vector_t state_vector);
GPI2.LibGPI2.pgaspi_statistic_counter_get
— Methodpgaspi_statistic_counter_get(counter, argument, valu)
Prototype
gaspi_return_t pgaspi_statistic_counter_get (gaspi_statistic_counter_t counter, gaspi_number_t argument, unsigned long *valu);
GPI2.LibGPI2.pgaspi_statistic_counter_info
— Methodpgaspi_statistic_counter_info(counter, counter_argument, counter_name, counter_description, verbosity_leve)
Prototype
gaspi_return_t pgaspi_statistic_counter_info(gaspi_statistic_counter_t counter, gaspi_statistic_argument_t* counter_argument, gaspi_string_t* counter_name, gaspi_string_t* counter_description, gaspi_number_t* verbosity_leve);
GPI2.LibGPI2.pgaspi_statistic_counter_max
— Methodpgaspi_statistic_counter_max(counter_max)
Prototype
gaspi_return_t pgaspi_statistic_counter_max(gaspi_statistic_counter_t* counter_max);
GPI2.LibGPI2.pgaspi_statistic_counter_reset
— Methodpgaspi_statistic_counter_reset(counter)
Prototype
gaspi_return_t pgaspi_statistic_counter_reset (gaspi_statistic_counter_t counter);
GPI2.LibGPI2.pgaspi_statistic_verbosity_level
— Methodpgaspi_statistic_verbosity_level(_verbosity_level)
Prototype
gaspi_return_t pgaspi_statistic_verbosity_level(gaspi_number_t _verbosity_level);
GPI2.LibGPI2.pgaspi_time_get
— Methodpgaspi_time_get(wtime)
Prototype
gaspi_return_t pgaspi_time_get (gaspi_time_t * const wtime);
GPI2.LibGPI2.pgaspi_time_ticks
— Methodpgaspi_time_ticks(ticks)
Prototype
gaspi_return_t pgaspi_time_ticks (gaspi_cycles_t * const ticks);
GPI2.LibGPI2.pgaspi_transfer_size_max
— Methodpgaspi_transfer_size_max(transfer_size_max)
Prototype
gaspi_return_t pgaspi_transfer_size_max (gaspi_size_t * const transfer_size_max);
GPI2.LibGPI2.pgaspi_transfer_size_min
— Methodpgaspi_transfer_size_min(transfer_size_min)
Prototype
gaspi_return_t pgaspi_transfer_size_min (gaspi_size_t * const transfer_size_min);
GPI2.LibGPI2.pgaspi_version
— Methodpgaspi_version(version)
Prototype
gaspi_return_t pgaspi_version (float *version);
GPI2.LibGPI2.pgaspi_wait
— Methodpgaspi_wait(queue, timeout_ms)
Prototype
gaspi_return_t pgaspi_wait (const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_write
— Methodpgaspi_write(segment_id_local, offset_local, rank, segment_id_remote, offset_remote, size, queue, timeout_ms)
Prototype
gaspi_return_t pgaspi_write (const gaspi_segment_id_t segment_id_local, const gaspi_offset_t offset_local, const gaspi_rank_t rank, const gaspi_segment_id_t segment_id_remote, const gaspi_offset_t offset_remote, const gaspi_size_t size, const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_write_list
— Methodpgaspi_write_list(num, segment_id_local, offset_local, rank, segment_id_remote, offset_remote, size, queue, timeout_ms)
Prototype
gaspi_return_t pgaspi_write_list (const gaspi_number_t num, gaspi_segment_id_t * const segment_id_local, gaspi_offset_t * const offset_local, const gaspi_rank_t rank, gaspi_segment_id_t * const segment_id_remote, gaspi_offset_t * const offset_remote, gaspi_size_t * const size, const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_write_list_notify
— Methodpgaspi_write_list_notify(num, segment_id_local, offset_local, rank, segment_id_remote, offset_remote, size, segment_id_notification, notification_id, notification_value, queue, timeout_ms)
Prototype
gaspi_return_t pgaspi_write_list_notify (const gaspi_number_t num, gaspi_segment_id_t * const segment_id_local, gaspi_offset_t * const offset_local, const gaspi_rank_t rank, gaspi_segment_id_t * const segment_id_remote, gaspi_offset_t * const offset_remote, gaspi_size_t * const size, const gaspi_segment_id_t segment_id_notification, const gaspi_notification_id_t notification_id, const gaspi_notification_t notification_value, const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);
GPI2.LibGPI2.pgaspi_write_notify
— Methodpgaspi_write_notify(segment_id_local, offset_local, rank, segment_id_remote, offset_remote, size, notification_id, notification_value, queue, timeout_ms)
Prototype
gaspi_return_t pgaspi_write_notify (const gaspi_segment_id_t segment_id_local, const gaspi_offset_t offset_local, const gaspi_rank_t rank, const gaspi_segment_id_t segment_id_remote, const gaspi_offset_t offset_remote, const gaspi_size_t size, const gaspi_notification_id_t notification_id, const gaspi_notification_t notification_value, const gaspi_queue_id_t queue, const gaspi_timeout_t timeout_ms);