Basic operations for onesided.
The basic RMA operations: put/get/fence. More...
Typedefs | |
| typedef struct nm_onesided_request_s | nm_onesided_request_t |
| request type for 'onesided' interface | |
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 | |
| 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) | |
| 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). | |
| 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_req_wait (nm_onesided_request_t *p_req) |
| wait for this request completion | |
| void | nm_onesided_req_wait_all (nm_onesided_request_t **p_reqs, int n) |
| wait for completion of a vector of requests | |
| int | nm_onesided_req_test (nm_onesided_request_t *p_req) |
| test for completion of a request | |
Detailed Description
The basic RMA operations: put/get/fence.
Typedef Documentation
◆ nm_onesided_request_t
| typedef struct nm_onesided_request_s 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.