Enable GDA+IPC (#249)

* Enable GDA+IPC
Fix ROCSHMEM_DISABLE_IPC for both RO and GDA

* add more functionality to bootstrap class

we need a few more functions in the boostrap class to be able to fully
handle the rocshmem requirements:
 - add a function to return the list of local ranks
 - provide a groupAllgather operation which takes a vector of ranks
   participating
 - provide a groupAlltoall operation which takes a vector of ranks
   participating

Also, update the functionality of the gda-Alltoall and gda-Allreduce
operations to take advantage of these functions.

* ipc_policy adapted to use bootstrap groupallgather

* bugfix: there was a mistake in computing sendto in groupallgather

* bugfix: shm_size and shm_rank were set in a local variable rather than
the class member

* mpi-bootstrap: remove an unecessary allgather

---------

Co-authored-by: Edgar Gabriel <Edgar.Gabriel@amd.com>
This commit is contained in:
Aurelien Bouteiller
2025-09-16 11:54:53 -04:00
کامیت شده توسط GitHub
والد 3100d71f4b
کامیت 801d2c5012
20فایلهای تغییر یافته به همراه378 افزوده شده و 152 حذف شده
+8 -3
مشاهده پرونده
@@ -127,9 +127,14 @@ void rocm_memory_lock_to_fine_grain(void* ptr, size_t size, void** gpu_ptr,
rocshmem_env_config::rocshmem_env_config() {
char* env_value = NULL;
env_value = getenv("ROCSHMEM_DISABLE_IPC");
if (NULL != env_value) {
disable_ipc = atoi(env_value);
}
// For backward compatibility, synonymous with ROCSHMEM_DISABLE_IPC
env_value = getenv("ROCSHMEM_RO_DISABLE_IPC");
if (NULL != env_value) {
ro_disable_ipc = atoi(env_value);
disable_ipc = atoi(env_value);
}
env_value = getenv("ROCSHMEM_RO_PROGRESS_DELAY");
@@ -163,8 +168,8 @@ rocshmem_env_config::rocshmem_env_config() {
}
}
int rocshmem_env_config::get_ro_disable_ipc() {
return ro_disable_ipc;
int rocshmem_env_config::get_disable_ipc() {
return disable_ipc;
}
int rocshmem_env_config::get_ro_progress_delay() {