nm_onesided_interface.h
Go to the documentation of this file.
90void nm_onesided_ifence(nm_onesided_t p_onesided, struct nm_gate_s*p_gate, nm_onesided_request_t*p_req);
123void nm_onesided_queue_ienqueue(nm_onesided_t p_onesided, struct nm_gate_s*p_gate, nm_onesided_queue_id_t queue,
127void nm_onesided_queue_enqueue(nm_onesided_t p_onesided, struct nm_gate_s*p_gate, nm_onesided_queue_id_t queue,
167void nm_onesided_target_irecv(nm_onesided_t p_onesided, nm_gate_t p_gate, void*p_ptr, nm_len_t len,
void nm_onesided_get(nm_onesided_t p_onesided, struct nm_gate_s *p_gate, void *p_ptr, nm_len_t len, uintptr_t dest_addr)
blocking version of iget
void nm_onesided_put(nm_onesided_t p_onesided, struct nm_gate_s *p_gate, void *p_ptr, nm_len_t len, uintptr_t dest_addr)
blocking version of iput
void nm_onesided_fence(nm_onesided_t p_onesided, struct nm_gate_s *p_gate)
blocking version of ifence
void nm_onesided_finalize(nm_onesided_t p_onesided)
void nm_onesided_init(nm_session_t p_session, nm_onesided_t *pp_onesided)
initialize the interface, using the given session.
struct nm_onesided_s * nm_onesided_t
an instance of the 'onesided' interface
Definition nm_onesided_interface.h:42
void nm_onesided_ifence(nm_onesided_t p_onesided, struct nm_gate_s *p_gate, nm_onesided_request_t *p_req)
ensures all put operations to the remote node are completed
void nm_onesided_iput(nm_onesided_t p_onesided, struct nm_gate_s *p_gate, const void *p_ptr, nm_len_t len, uintptr_t dest_addr, nm_onesided_request_t *p_req)
remotely write to destination memory; local data is p_ptr with length len; dest_addr is the address i...
void nm_onesided_iput_data(nm_onesided_t p_onesided, struct nm_gate_s *p_gate, struct nm_data_s *p_data, uintptr_t dest_addr, nm_onesided_request_t *p_req)
remotely write to destination memory; local data described by p_data; dest_addr is the address in the...
void nm_onesided_req_wait(nm_onesided_request_t *p_req)
wait for this request completion
void nm_onesided_iget(nm_onesided_t p_onesided, struct nm_gate_s *p_gate, void *p_ptr, nm_len_t len, uintptr_t dest_addr, nm_onesided_request_t *p_req)
remotely read data from target memory.
void nm_onesided_iget_data(nm_onesided_t p_onesided, struct nm_gate_s *p_gate, struct nm_data_s *p_data, uintptr_t dest_addr, nm_onesided_request_t *p_req)
remotely read data from target memory (nm_data flavor).
int nm_onesided_req_test(nm_onesided_request_t *p_req)
test for completion of a request
void nm_onesided_req_wait_all(nm_onesided_request_t **p_reqs, int n)
wait for completion of a vector of requests
void nm_onesided_queue_enqueue(nm_onesided_t p_onesided, struct nm_gate_s *p_gate, nm_onesided_queue_id_t queue, const void *p_ptr, nm_len_t len)
enqueue a message in the given remote queue, blocking version
nm_onesided_queue_id_t nm_onesided_queue_create(nm_onesided_t p_onesided)
create a local queue, accessible remotely
void nm_onesided_queue_ienqueue(nm_onesided_t p_onesided, struct nm_gate_s *p_gate, nm_onesided_queue_id_t queue, const void *p_ptr, nm_len_t len, nm_onesided_request_t *p_req)
enqueue a message in the given remote queue, non-blocking version
void * nm_onesided_queue_dequeue(nm_onesided_t p_onesided, nm_onesided_queue_id_t queue)
try to dequeue an entry from local queue; return NULL if queue is empty.
uintptr_t nm_onesided_target_get_addr(nm_onesided_target_request_t *p_req)
get the address of a request
void nm_onesided_iput_with_target(nm_onesided_t p_onesided, struct nm_gate_s *p_gate, void *p_ptr, nm_len_t len, uintptr_t dest_addr, void *p_target_ptr, nm_len_t target_len, nm_onesided_request_t *p_req)
send a put request with target-side completion.
void nm_onesided_target_irecv(nm_onesided_t p_onesided, nm_gate_t p_gate, void *p_ptr, nm_len_t len, nm_onesided_target_request_t *p_req)
posts a recv request for target-side completion
void nm_onesided_iget_with_target(nm_onesided_t p_onesided, struct nm_gate_s *p_gate, void *p_ptr, nm_len_t len, uintptr_t dest_addr, void *p_target_ptr, nm_len_t target_len, nm_onesided_request_t *p_req)
send a get request with target-side completion
nm_len_t nm_onesided_target_get_size(nm_onesided_target_request_t *p_req)
get the size of a request (size of the onesided operation, not the target-side completion data)
nm_gate_t nm_onesided_target_get_source(nm_onesided_target_request_t *p_req)
get the source of a request
void nm_onesided_target_wait(nm_onesided_target_request_t *p_req)
wait completion of a request on target side
internal definitions for interface 'onesided'.
This is the common public header for NewMad.
a data descriptor, used to pack/unpack data from app layout to/from contiguous buffers
Definition nm_data.h:196
a request used for target-side completions
Definition nm_onesided_private.h:63
Definition nm_session_private.h:24