Add ComputeManager; add SmoHooks for getting ClDevices, buffers

We added a new centralized OpenCL Compute manager. This can later
be extended to support CUDA, SyCL, etc. SMO can be configured at
build time to choose which API it will use for compute.

Moreover, the ComputeMgr allows us to register buffers which are
available to all cl_contexts.
This commit is contained in:
2025-11-19 22:33:30 -04:00
parent a910909ad5
commit 27b43c6686
9 changed files with 665 additions and 45 deletions
+3
View File
@@ -2,6 +2,7 @@
#include <mindManager/mindManager.h>
#include <deviceManager/deviceManager.h>
#include <stimBuffApis/stimBuffApiManager.h>
#include <computeManager/computeManager.h>
#include <salmanoff.h>
@@ -11,6 +12,7 @@ void initializeSalmanoff(void)
{
std::cout << __func__ << ": Entered." << std::endl;
compute::ComputeManager::getInstance().initialize();
mind::MindManager::getInstance().initialize();
stim_buff::StimBuffApiManager::getInstance().initialize();
device::DeviceManager::getInstance().initialize();
@@ -25,6 +27,7 @@ void shutdownSalmanoff(void)
device::DeviceManager::getInstance().finalize();
stim_buff::StimBuffApiManager::getInstance().finalize();
mind::MindManager::getInstance().finalize();
compute::ComputeManager::getInstance().finalize();
}
} // namespace smo