* Do not allocate a large unused buffer for alltoall

* Remove ATA_MAX_WRKDATA_SIZE from include/rocshmem_common.hpp

[ROCm/rocshmem commit: 30ba79bcad]
Этот коммит содержится в:
Aurelien Bouteiller
2025-09-08 10:55:06 -04:00
коммит произвёл GitHub
родитель 70294d8e8c
Коммит fb7d89c7e6
6 изменённых файлов: 2 добавлений и 19 удалений
-1
Просмотреть файл
@@ -88,7 +88,6 @@ typedef struct {
} rocshmem_team_config_t;
constexpr size_t ROCSHMEM_REDUCE_MIN_WRKDATA_SIZE = 1024;
constexpr size_t ROCSHMEM_ATA_MAX_WRKDATA_SIZE = (4 * 1024 * 1024);
constexpr size_t ROCSHMEM_BARRIER_SYNC_SIZE = 256;
constexpr size_t ROCSHMEM_REDUCE_SYNC_SIZE = 256;
// Internally calls sync function, which matches barrier implementation
+1 -7
Просмотреть файл
@@ -399,8 +399,7 @@ void GDABackend::setup_wrk_sync_buffer() {
* Accommodate largest possible data type for pWrk
*/
wrk_sync_pool_size_ += sizeof(double) * max_num_teams *
(ROCSHMEM_REDUCE_MIN_WRKDATA_SIZE +
ROCSHMEM_ATA_MAX_WRKDATA_SIZE);
ROCSHMEM_REDUCE_MIN_WRKDATA_SIZE;
/**
* Size of fence array
@@ -479,11 +478,6 @@ void GDABackend::setup_teams() {
wrk_sync_pool_top_ += sizeof(double) * ROCSHMEM_REDUCE_MIN_WRKDATA_SIZE
* max_num_teams;
pAta_pool = reinterpret_cast<void *>(wrk_sync_pool_top_);
wrk_sync_pool_top_ += sizeof(double) * ROCSHMEM_ATA_MAX_WRKDATA_SIZE
* max_num_teams;
/**
* Initialize the sync arrays in the pool with default values.
*/
-1
Просмотреть файл
@@ -46,7 +46,6 @@ GDATeam::GDATeam(Backend *backend, TeamInfo *team_info_parent,
alltoall_pSync = &(b->alltoall_pSync_pool[pool_index * ROCSHMEM_ALLTOALL_SYNC_SIZE]);
pWrk = reinterpret_cast<char *>(b->pWrk_pool) + ROCSHMEM_REDUCE_MIN_WRKDATA_SIZE * sizeof(double) * pool_index;
pAta = reinterpret_cast<char *>(b->pAta_pool) + ROCSHMEM_ATA_MAX_WRKDATA_SIZE * sizeof(double) * pool_index;
}
GDATeam::~GDATeam() {}
+1 -7
Просмотреть файл
@@ -356,8 +356,7 @@ void IPCBackend::setup_wrk_sync_buffers() {
* Accommodate largest possible data type for pWrk
*/
wrk_sync_pool_size_ += sizeof(double) * max_num_teams *
(ROCSHMEM_REDUCE_MIN_WRKDATA_SIZE +
ROCSHMEM_ATA_MAX_WRKDATA_SIZE);
ROCSHMEM_REDUCE_MIN_WRKDATA_SIZE;
/**
* Size of fence array
@@ -494,11 +493,6 @@ void IPCBackend::teams_init() {
wrk_sync_pool_top_ += sizeof(double) * ROCSHMEM_REDUCE_MIN_WRKDATA_SIZE
* max_num_teams;
pAta_pool = reinterpret_cast<void *>(wrk_sync_pool_top_);
wrk_sync_pool_top_ += sizeof(double) * ROCSHMEM_ATA_MAX_WRKDATA_SIZE
* max_num_teams;
/**
* Initialize the sync arrays in the pool with default values.
*/
-1
Просмотреть файл
@@ -46,7 +46,6 @@ IPCTeam::IPCTeam(Backend *backend, TeamInfo *team_info_parent,
alltoall_pSync = &(b->alltoall_pSync_pool[pool_index * ROCSHMEM_ALLTOALL_SYNC_SIZE]);
pWrk = reinterpret_cast<char *>(b->pWrk_pool) + ROCSHMEM_REDUCE_MIN_WRKDATA_SIZE * sizeof(double) * pool_index;
pAta = reinterpret_cast<char *>(b->pAta_pool) + ROCSHMEM_ATA_MAX_WRKDATA_SIZE * sizeof(double) * pool_index;
}
IPCTeam::~IPCTeam() {}
-2
Просмотреть файл
@@ -27,8 +27,6 @@
#include "team.hpp"
#define MAX_ATA_BUFF_SIZE (1024 * 1024 * 128)
namespace rocshmem {
class Backend;