Update(DeviceProxy): Dynamically Determine Memory Allocation Size & Remove Compile-Time size Calculations (#48)
* Update(DeviceProxy): Dynamically Determine Memory Allocation Size & Remove Compile-Time size Calculations
- Modified the Device proxy class to determine memory allocation size at runtime.
- Updated all classes that include the Device proxy to use dynamic memory allocation.
- Removed compile-time memory size calculations.
- Ensured the allocated number of backend queue data structures matches the number of RO device contexts.
[ROCm/rocshmem commit: eb5a38e806]
This commit is contained in:
committed by
GitHub
parent
95c4c0d428
commit
1831a1b33c
@@ -221,7 +221,7 @@ void IPCBackend::create_new_team([[maybe_unused]] Team *parent_team,
|
||||
|
||||
/**
|
||||
* Allocate device-side memory for team_world and
|
||||
* construct a GPU_IB team in it
|
||||
* construct a IPC team in it
|
||||
*/
|
||||
GPUIBTeam *new_team_obj;
|
||||
CHECK_HIP(hipMalloc(&new_team_obj, sizeof(IPCTeam)));
|
||||
|
||||
@@ -41,8 +41,9 @@ class IPCDefaultContextProxy {
|
||||
/*
|
||||
* Placement new the memory which is allocated by proxy_
|
||||
*/
|
||||
explicit IPCDefaultContextProxy(IPCBackend* backend, TeamInfo *tinfo)
|
||||
: constructed_{true} {
|
||||
explicit IPCDefaultContextProxy(IPCBackend* backend, TeamInfo *tinfo,
|
||||
size_t num_elems = 1)
|
||||
: constructed_{true}, proxy_{num_elems} {
|
||||
auto ctx{proxy_.get()};
|
||||
new (ctx) IPCContext(reinterpret_cast<Backend*>(backend));
|
||||
ctx->tinfo = tinfo;
|
||||
|
||||
Reference in New Issue
Block a user