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.
Tento commit je obsažen v:
Avinash Kethineedi
2025-02-24 15:11:46 -06:00
odevzdal GitHub
rodič 487e5b7d0f
revize eb5a38e806
23 změnil soubory, kde provedl 302 přidání a 118 odebrání
+11 -1
Zobrazit soubor
@@ -111,9 +111,19 @@ class ABQLBlockMutex {
template <typename ALLOCATOR>
class ABQLBlockMutexProxy {
using ProxyT = DeviceProxy<ALLOCATOR, ABQLBlockMutex, 1>;
using ProxyT = DeviceProxy<ALLOCATOR, ABQLBlockMutex>;
public:
ABQLBlockMutexProxy(size_t num_elems = 1) : proxy_{num_elems} {}
ABQLBlockMutexProxy(const ABQLBlockMutexProxy& other) = delete;
ABQLBlockMutexProxy& operator=(const ABQLBlockMutexProxy& other) = delete;
ABQLBlockMutexProxy(ABQLBlockMutexProxy&& other) = default;
ABQLBlockMutexProxy& operator=(ABQLBlockMutexProxy&& other) = default;
__host__ __device__ ABQLBlockMutex* get() { return proxy_.get(); }
private: