NewMadeleine

Documentation

Basic operations for onesided.

The basic RMA operations: put/get/fence. More...

Collaboration diagram for Basic operations for onesided.:

Typedefs

typedef struct nm_onesided_request_s nm_onesided_request_t
 request type for 'onesided' interface More...
 

Functions

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 in the remote memory space More...
 
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 remote memory space (same as above with data described by an nm_data) More...
 
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. More...
 
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). More...
 
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 More...
 
void nm_onesided_req_wait (nm_onesided_request_t *p_req)
 wait for this request completion More...
 
void nm_onesided_req_wait_all (nm_onesided_request_t **p_reqs, int n)
 wait for completion of a vector of requests More...
 
int nm_onesided_req_test (nm_onesided_request_t *p_req)
 test for completion of a request More...
 

Detailed Description

The basic RMA operations: put/get/fence.

Typedef Documentation

◆ nm_onesided_request_t

request type for 'onesided' interface

Definition at line 66 of file nm_onesided_interface.h.

Function Documentation

◆ nm_onesided_ifence()

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

Examples
nm_onesided_simple.c.

◆ nm_onesided_iget()

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.

◆ nm_onesided_iget_data()

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).

Examples
nm_onesided_simple.c.

◆ nm_onesided_iput()

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 in the remote memory space

◆ nm_onesided_iput_data()

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 remote memory space (same as above with data described by an nm_data)

Examples
nm_onesided_simple.c.

◆ nm_onesided_req_test()

int nm_onesided_req_test ( nm_onesided_request_t p_req)

test for completion of a request

◆ nm_onesided_req_wait()

void nm_onesided_req_wait ( nm_onesided_request_t p_req)

wait for this request completion

Examples
nm_onesided_queues.c, and nm_onesided_simple.c.

◆ nm_onesided_req_wait_all()

void nm_onesided_req_wait_all ( nm_onesided_request_t **  p_reqs,
int  n 
)

wait for completion of a vector of requests

Examples
nm_onesided_simple.c.