Add IPC and/or/xor/swap amos, reenable functional tests (#184)

This commit is contained in:
Aurelien Bouteiller authored and GitHub committed 2025-09-22 13:02:02 -04:00
1 parent f5aefd15f3
commit 96336da78f
4 files changed
+83 -66

No files matched your search

@@ -75,19 +75,9 @@ void AMOBitwiseTester<T>::launchKernel(dim3 gridsize, dim3 blocksize, int loop,
num_timed_msgs = loop;
}
#if defined(USE_IPC) and not defined(USE_RO)
#define DISABLE_IPC_TEST 1
#else
#define DISABLE_IPC_TEST 0
#endif
template <typename T>
void AMOBitwiseTester<T>::verifyResults(size_t size) {
T ret;
if(DISABLE_IPC_TEST) {
printf("AMO binary ops not implemented for IPC: values were not verified\n");
return;
}
if (args.myid == 0) {
T expected_val = 0;
@@ -141,10 +131,6 @@ void AMOBitwiseTester<T>::verifyResults(size_t size) {
TestType type, ShmemContextType ctx_type) { \
__shared__ rocshmem_ctx_t ctx; \
int wg_id = get_flat_grid_id(); \
if(DISABLE_IPC_TEST) { \
printf("AMO binary ops not implemented for IPC: test was not run\n"); \
return; \
} \
rocshmem_wg_init(); \
rocshmem_wg_ctx_create(ctx_type, &ctx); \
if (hipThreadIdx_x == 0) { \
@@ -75,12 +75,6 @@ void AMOExtendedTester<T>::launchKernel(dim3 gridsize, dim3 blocksize, int loop,
num_timed_msgs = loop;
}
#if defined(USE_IPC) and not defined(USE_RO)
#define DISABLE_IPC_TEST 1
#else
#define DISABLE_IPC_TEST 0
#endif
template <typename T>
void AMOExtendedTester<T>::verifyResults(size_t size) {
T ret;
@@ -95,10 +89,6 @@ void AMOExtendedTester<T>::verifyResults(size_t size) {
expected_val = 44;
break;
case AMO_SwapTestType:
if(DISABLE_IPC_TEST) {
printf("AMO Swap not implemented for IPC: values were not verified\n");
return;
}
expected_val = num_msgs / 2;
break;
default:
@@ -146,10 +136,6 @@ void AMOExtendedTester<T>::verifyResults(size_t size) {
rocshmem_ctx_##TNAME##_atomic_set(ctx, (T *)r_buf, 44, 1); \
break; \
case AMO_SwapTestType: \
if(DISABLE_IPC_TEST) { \
printf("AMO Swap not implemented for IPC: test was not run\n"); \
break; \
} \
ret = rocshmem_ctx_##TNAME##_atomic_swap(ctx, (T *)r_buf, \
ret + 1, 1); \
break; \