Update atomic functional tests (#262)
* feat: implement function to return number of blocks in grid.
* test: update atomics functional tests
- Standard atomic tests: `atomic_add`, `atomic_inc`, `fetch_atomic_add`, `fetch_atomic_inc`, and `fetch_compare_and_swap`
- Bitwise atomic tests: `atomic_and`, `atomic_or`, `atomic_xor`, fetch_atomic_and`, `fetch_atomic_or`, and `fetch_atomic_xor`
- Extended atomic tests: `atomic_fetch`, `atomic_set`, and `atomic_swap`
* Added two different address modes for atomics.
* Added all supported data types for atomics tests.
[ROCm/rocshmem commit: 0a4f8a83b9]
This commit is contained in:
committed by
GitHub
parent
ac13b22edc
commit
e31b4d42e5
@@ -39,6 +39,14 @@ enum TeamSplitType {
|
||||
ROCSHMEM_TEST_TEAM_ODDEVEN, // odd-even splitting
|
||||
};
|
||||
|
||||
/*-----------------------------------------
|
||||
* Atomics Addressing modes (contention model)
|
||||
*-----------------------------------------*/
|
||||
enum class AddrMode : int {
|
||||
PerGrid, // all WGs -> same address
|
||||
PerBlock, // each WG -> its own address (default)
|
||||
};
|
||||
|
||||
class TesterArguments {
|
||||
public:
|
||||
TesterArguments(int argc, char *argv[]);
|
||||
@@ -69,6 +77,7 @@ public:
|
||||
unsigned coal_coef = 64;
|
||||
unsigned op_type = 0;
|
||||
unsigned shmem_context = rocshmem::ROCSHMEM_CTX_WG_PRIVATE;
|
||||
AddrMode addr_mode = AddrMode::PerBlock;
|
||||
|
||||
/**
|
||||
* Arguments obtained from rocshmem
|
||||
|
||||
Reference in New Issue
Block a user