diff --git a/src/infinicore/context/context_impl.cc b/src/infinicore/context/context_impl.cc index 4de56effb..cec1d820d 100644 --- a/src/infinicore/context/context_impl.cc +++ b/src/infinicore/context/context_impl.cc @@ -82,6 +82,16 @@ ContextImpl::ContextImpl() { } } + if constexpr (infini::rt::DeviceEnabled::value) { + infini::rt::set_runtime_device_type(bridge::infini::rt::translate_to(INFINI_DEVICE_ILUVATAR)); + INFINICORE_CHECK_ERROR(bridge::infini::rt::translate(infini::rt::runtime::GetDeviceCount(&device_counter[static_cast(Device::Type::ILUVATAR)]))); + runtime_table_[static_cast(Device::Type::ILUVATAR)].resize(device_counter[static_cast(Device::Type::ILUVATAR)]); + if (device_counter[static_cast(Device::Type::ILUVATAR)] > 0) { + runtime_table_[static_cast(Device::Type::ILUVATAR)][0] = std::unique_ptr(new Runtime(Device(Device::Type::ILUVATAR, 0))); + current_runtime_ = runtime_table_[static_cast(Device::Type::ILUVATAR)][0].get(); + } + } + if constexpr (infini::rt::DeviceEnabled::value) { infini::rt::set_runtime_device_type(bridge::infini::rt::translate_to(INFINI_DEVICE_ASCEND)); INFINICORE_CHECK_ERROR(bridge::infini::rt::translate(infini::rt::runtime::GetDeviceCount(&device_counter[static_cast(Device::Type::ASCEND)]))); diff --git a/xmake.lua b/xmake.lua index 960ad5dcd..9ec14e9ca 100644 --- a/xmake.lua +++ b/xmake.lua @@ -108,8 +108,8 @@ option_end() option("iluvatar_arch") set_default("ivcore20") set_showmenu(true) - set_description("Set Iluvatar GPU architecture (e.g. ivcore20)") - set_values("ivcore20") + set_description("Set Iluvatar GPU architecture") + set_values("ivcore11", "ivcore20") set_category("option") option_end()