Add multi work-group support for collective functional tests (#45)

- Added multi-work group support for the All-to-all, Fcollect, Broadcast, Barrier and Sync collective functional tests
- Renamed All-to-all and Fcollect tests to TeamAlltoAll and TeamFcollect

[ROCm/rocshmem commit: 57d60aa727]
This commit is contained in:
Avinash Kethineedi
2025-02-19 10:31:53 -06:00
committed by GitHub
parent e1ed36e58f
commit 65b4ff4c41
14 changed files with 719 additions and 486 deletions
@@ -23,8 +23,12 @@
#ifndef _SYNC_TESTER_HPP_
#define _SYNC_TESTER_HPP_
#include <rocshmem/rocshmem.hpp>
#include "tester.hpp"
using namespace rocshmem;
/******************************************************************************
* HOST TESTER CLASS
*****************************************************************************/
@@ -36,10 +40,22 @@ class SyncTester : public Tester {
protected:
virtual void resetBuffers(uint64_t size) override;
virtual void preLaunchKernel() override;
virtual void launchKernel(dim3 gridSize, dim3 blockSize, int loop,
uint64_t size) override;
virtual void postLaunchKernel() override;
virtual void verifyResults(uint64_t size) override;
private:
/**
* This constant should equal ROCSHMEM_MAX_NUM_TEAMS - 1.
* The default value for the maximum number of teams is 40.
*/
int num_teams = 39;
rocshmem_team_t *team_sync_world_dup;
};
#endif