Implement default RO context (#64)

* Allocate default context buffers and initialize queue for management

- Allocated the status flag, g return, and atomic return buffers for
  the default context.
- Initialized `AtomicWFQueueProxy` instances to manage these buffers
  efficiently for concurrent access.

* Update `BlockHandle` with default context buffers

* Add default context flag and update buffer retrieval functions

- Added a flag to distinguish the default context from other contexts.
- Modified return buffer functionns and `get_status_flag` function to accommodate
  the default context

* Add default context primitive tests

-  get, put, get_nbi, put_nbi, g, and p APIs.
Este commit está contenido en:
Avinash Kethineedi
2025-03-25 18:51:54 -05:00
cometido por GitHub
padre 4e48c9748e
commit 867519e1d0
Se han modificado 12 ficheros con 465 adiciones y 46 borrados
+1 -1
Ver fichero
@@ -46,7 +46,7 @@ class DefaultContextProxy {
size_t num_elems = 1)
: constructed_{true}, proxy_{num_elems} {
auto ctx{proxy_.get()};
new (ctx) ROContext(reinterpret_cast<Backend*>(backend), -1);
new (ctx) ROContext(reinterpret_cast<Backend*>(backend), -1, true);
rocshmem_ctx_t local{ctx, tinfo};
set_internal_ctx(&local);
}