diff --git a/single_include/kompute/Kompute.hpp b/single_include/kompute/Kompute.hpp index 382b7131d..c417182c2 100755 --- a/single_include/kompute/Kompute.hpp +++ b/single_include/kompute/Kompute.hpp @@ -1301,9 +1301,9 @@ class Manager * * @param sequenceName The name for the named sequence to be retrieved or * created - * @return Weak pointer to the manager owned sequence resource + * @return Shared pointer to the manager owned sequence resource */ - std::weak_ptr getOrCreateManagedSequence( + std::shared_ptr getOrCreateManagedSequence( std::string sequenceName); /** @@ -1315,7 +1315,7 @@ class Manager * @param queueIndex The queue to use from the available queues * @return Weak pointer to the manager owned sequence resource */ - std::weak_ptr createManagedSequence(std::string sequenceName = "", + std::shared_ptr createManagedSequence(std::string sequenceName = "", uint32_t queueIndex = 0); /** @@ -1332,22 +1332,21 @@ class Manager TArgs&&... params) { SPDLOG_DEBUG("Kompute Manager evalOp triggered"); - std::weak_ptr sqWeakPtr = + std::shared_ptr sq = this->getOrCreateManagedSequence(sequenceName); - if (std::shared_ptr sq = sqWeakPtr.lock()) { - SPDLOG_DEBUG("Kompute Manager evalOp running sequence BEGIN"); - sq->begin(); + SPDLOG_DEBUG("Kompute Manager evalOp running sequence BEGIN"); + sq->begin(); - SPDLOG_DEBUG("Kompute Manager evalOp running sequence RECORD"); - sq->record(tensors, std::forward(params)...); + SPDLOG_DEBUG("Kompute Manager evalOp running sequence RECORD"); + sq->record(tensors, std::forward(params)...); - SPDLOG_DEBUG("Kompute Manager evalOp running sequence END"); - sq->end(); + SPDLOG_DEBUG("Kompute Manager evalOp running sequence END"); + sq->end(); + + SPDLOG_DEBUG("Kompute Manager evalOp running sequence EVAL"); + sq->eval(); - SPDLOG_DEBUG("Kompute Manager evalOp running sequence EVAL"); - sq->eval(); - } SPDLOG_DEBUG("Kompute Manager evalOp running sequence SUCCESS"); } @@ -1385,26 +1384,21 @@ class Manager { SPDLOG_DEBUG("Kompute Manager evalOpAsync triggered"); - std::weak_ptr sqWeakPtr = + std::shared_ptr sq = this->getOrCreateManagedSequence(sequenceName); - if (std::shared_ptr sq = sqWeakPtr.lock()) { + SPDLOG_DEBUG("Kompute Manager evalOpAsync running sequence BEGIN"); + sq->begin(); - SPDLOG_DEBUG("Kompute Manager evalOpAsync running sequence BEGIN"); - sq->begin(); + SPDLOG_DEBUG("Kompute Manager evalOpAsync running sequence RECORD"); + sq->record(tensors, std::forward(params)...); - SPDLOG_DEBUG("Kompute Manager evalOpAsync running sequence RECORD"); - sq->record(tensors, std::forward(params)...); + SPDLOG_DEBUG("Kompute Manager evalOpAsync running sequence END"); + sq->end(); - SPDLOG_DEBUG("Kompute Manager evalOpAsync running sequence END"); - sq->end(); + SPDLOG_DEBUG("Kompute Manager evalOpAsync running sequence EVAL"); + sq->evalAsync(); - SPDLOG_DEBUG("Kompute Manager evalOpAsync running sequence EVAL"); - sq->evalAsync(); - } else { - SPDLOG_ERROR("Kompute Manager evalOpAsync sequence [{}] not found", - sequenceName); - } SPDLOG_DEBUG("Kompute Manager evalOpAsync running sequence SUCCESS"); }