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.
[ROCm/rocshmem commit: 867519e1d0]
This commit is contained in:
committed by
GitHub
parent
7aecbdec4d
commit
7a4d1ac064
@@ -33,6 +33,7 @@
|
||||
#include "amo_bitwise_tester.hpp"
|
||||
#include "amo_extended_tester.hpp"
|
||||
#include "amo_standard_tester.hpp"
|
||||
#include "default_ctx_primitive_tester.hpp"
|
||||
#include "barrier_all_tester.hpp"
|
||||
#include "empty_tester.hpp"
|
||||
#include "ping_all_tester.hpp"
|
||||
@@ -119,6 +120,26 @@ std::vector<Tester*> Tester::create(TesterArguments args) {
|
||||
if (rank == 0) std::cout << "Non-Blocking Puts ###" << std::endl;
|
||||
testers.push_back(new PrimitiveTester(args));
|
||||
return testers;
|
||||
case DefaultCTXGetTestType:
|
||||
if (rank == 0)
|
||||
std::cout << "Default context Blocking Gets ###" << std::endl;
|
||||
testers.push_back(new DefaultCTXPrimitiveTester(args));
|
||||
return testers;
|
||||
case DefaultCTXGetNBITestType:
|
||||
if (rank == 0)
|
||||
std::cout << "Default context Non-Blocking Gets ###" << std::endl;
|
||||
testers.push_back(new DefaultCTXPrimitiveTester(args));
|
||||
return testers;
|
||||
case DefaultCTXPutTestType:
|
||||
if (rank == 0)
|
||||
std::cout << "Default context Blocking Puts ###" << std::endl;
|
||||
testers.push_back(new DefaultCTXPrimitiveTester(args));
|
||||
return testers;
|
||||
case DefaultCTXPutNBITestType:
|
||||
if (rank == 0)
|
||||
std::cout << "Default context Non-Blocking Puts ###" << std::endl;
|
||||
testers.push_back(new DefaultCTXPrimitiveTester(args));
|
||||
return testers;
|
||||
case TeamCtxInfraTestType:
|
||||
if (rank == 0) std::cout << "Team Ctx Infra test ###" << std::endl;
|
||||
testers.push_back(new TeamCtxInfraTester(args));
|
||||
|
||||
Reference in New Issue
Block a user