29__attribute__((weak)) tt::tt_metal::IDevice* daisy_get_tt_device(
int device_id = 0) {
30 auto& holder = __daisy_global_tt_devices[device_id];
31 auto* ptr = holder.get();
33 if (tt::DevicePool::is_initialized()) {
34 auto& pool = tt::DevicePool::instance();
35 if (pool.is_device_active(device_id)) {
36 ptr = pool.get_active_device(device_id);
42 holder = std::unique_ptr<tt::tt_metal::IDevice, __daisy_DeviceDeleter>(ptr,
__daisy_DeviceDeleter(device_id));