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:
Avinash Kethineedi
2025-02-24 15:11:46 -06:00
committato da GitHub
parent 95c4c0d428
commit 1831a1b33c
23 ha cambiato i file con 302 aggiunte e 118 eliminazioni
+9 -1
Vedi File
@@ -101,10 +101,18 @@ class NotifierProxy {
using ProxyT = DeviceProxy<ALLOCATOR, Notifier<scope>>;
public:
NotifierProxy() {
NotifierProxy(size_t num_elems = 1) : proxy_{num_elems} {
new (proxy_.get()) Notifier<scope>();
}
NotifierProxy(const NotifierProxy& other) = delete;
NotifierProxy& operator=(const NotifierProxy& other) = delete;
NotifierProxy(NotifierProxy&& other) = default;
NotifierProxy& operator=(NotifierProxy&& other) = default;
~NotifierProxy() {
proxy_.get()->~Notifier<scope>();
}