* Add thread, wavefront, and workgroup-level `barrier` APIs in IPC and RO conduits; remove collectives on default context
 - Implemented `barrier` APIs for thread, wavefront, and workgroup scopes
 - Added support into both IPC and RO conduits
 - Added functional tests to cover all `barrier` APIs
 - Removed collective operations on default context

* Add thread, wavefront, and workgroup-level `sync` APIs in IPC and RO conduits.
  - Implemented `sync` APIs for thread, wavefront, and workgroup scopes
  - Added support into both IPC and RO conduits
  - Added functional tests to cover all `sync` APIs

* update naming convention for context-based `barrier` APIs
Этот коммит содержится в:
Avinash Kethineedi
2025-04-08 11:25:31 -05:00
коммит произвёл GitHub
родитель c652f58cef
Коммит dc61bca066
16 изменённых файлов: 347 добавлений и 67 удалений
+26 -2
Просмотреть файл
@@ -161,11 +161,23 @@ __device__ void Context::barrier_all_wg() {
}
__device__ void Context::barrier(rocshmem_team_t team) {
ctxStats.incStat(NUM_BARRIER_ALL);
ctxStats.incStat(NUM_BARRIER);
DISPATCH(barrier(team));
}
__device__ void Context::barrier_wave(rocshmem_team_t team) {
ctxStats.incStat(NUM_BARRIER_WAVE);
DISPATCH(barrier_wave(team));
}
__device__ void Context::barrier_wg(rocshmem_team_t team) {
ctxStats.incStat(NUM_BARRIER_WG);
DISPATCH(barrier_wg(team));
}
__device__ void Context::sync_all() {
ctxStats.incStat(NUM_SYNC_ALL);
@@ -184,8 +196,20 @@ __device__ void Context::sync_all_wg() {
DISPATCH(sync_all_wg());
}
__device__ void Context::sync(rocshmem_team_t team) {
ctxStats.incStat(NUM_SYNC);
DISPATCH(sync(team));
}
__device__ void Context::sync_wave(rocshmem_team_t team) {
ctxStats.incStat(NUM_SYNC_WAVE);
DISPATCH(sync_wave(team));
}
__device__ void Context::sync_wg(rocshmem_team_t team) {
ctxStats.incStat(NUM_SYNC_ALL_WG);
ctxStats.incStat(NUM_SYNC_WG);
DISPATCH(sync_wg(team));
}