Update Barrier_All and Sync_All APIs (#72)
* Fix deadlock in `rocshmem_ctx_wg_barrier_all` API in IPC conduit by adding per-context pSync buffers and context IDs - Added separate pSync buffers for each device context - Resolved deadlock when invoking barrier API (`rocshmem_ctx_wg_barrier_all`) concurrently from multiple contexts * Update barrier_all functional tests for multi-context support * Add thread, wavefront, and workgroup-level barrier_all APIs in IPC and RO conduits - Implemented barrier_all APIs at thread, wavefront, and workgroup granularity - Added support in both IPC and RO conduits - Updated functional tests to cover all `barrier_all` APIs * Add thread, wavefront, and workgroup-level sync_all APIs in IPC and RO conduits - Implemented sync_all APIs for thread, wavefront, and workgroup scopes - Added support into both IPC and RO conduits - Added functional tests to cover all `sync_all` APIs
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
e16ca7a1e3
Коммит
c652f58cef
@@ -130,6 +130,8 @@ void Backend::dump_stats() {
|
||||
printf("Quiets %llu\n", device_stats.getStat(NUM_QUIET));
|
||||
printf("ToAll %llu\n", device_stats.getStat(NUM_TO_ALL));
|
||||
printf("BarrierAll %llu\n", device_stats.getStat(NUM_BARRIER_ALL));
|
||||
printf("WAVE_BarrierAll %llu\n", device_stats.getStat(NUM_BARRIER_ALL_WAVE));
|
||||
printf("WG_BarrierAll %llu\n", device_stats.getStat(NUM_BARRIER_ALL_WG));
|
||||
printf("Wait Until %llu\n", device_stats.getStat(NUM_WAIT_UNTIL));
|
||||
printf("Wait Until Any %llu\n", device_stats.getStat(NUM_WAIT_UNTIL_ANY));
|
||||
printf("Wait Until All %llu\n", device_stats.getStat(NUM_WAIT_UNTIL_ALL));
|
||||
@@ -153,6 +155,8 @@ void Backend::dump_stats() {
|
||||
printf("Tests %llu\n", device_stats.getStat(NUM_TEST));
|
||||
printf("SHMEM_PTR %llu\n", device_stats.getStat(NUM_SHMEM_PTR));
|
||||
printf("SyncAll %llu\n", device_stats.getStat(NUM_SYNC_ALL));
|
||||
printf("WAVE_SyncAll %llu\n", device_stats.getStat(NUM_SYNC_ALL_WAVE));
|
||||
printf("WG_SyncAll %llu\n", device_stats.getStat(NUM_SYNC_ALL_WG));
|
||||
|
||||
const auto& host_stats{globalHostStats};
|
||||
printf("HOST STATS\n");
|
||||
|
||||
Ссылка в новой задаче
Block a user