diff --git a/dnn/src/rocm/sleep/opr_impl.cpp b/dnn/src/rocm/sleep/opr_impl.cpp index ce2a952100330085c69ff3687c2b677cde18a364..71aa3c044a94a3b70c44b351ddb46a14181579a3 100644 --- a/dnn/src/rocm/sleep/opr_impl.cpp +++ b/dnn/src/rocm/sleep/opr_impl.cpp @@ -22,7 +22,7 @@ void SleepForwardImpl::exec() { double seconds = m_param.time; megdnn_assert(seconds > 0); auto hdl = static_cast(handle()); - sleep(hdl->stream(), hdl->device_prop().clockRate * 18.01 * seconds); + sleep(hdl->stream(), hdl->device_prop().clockRate * 1000 * seconds); } } // namespace rocm diff --git a/src/core/impl/utils/persistent_cache.cpp b/src/core/impl/utils/persistent_cache.cpp index ec6651e86d3294634197784b17d0fc1b0b2eecd3..98e3dc2ad6dce91e1b680991ff4364c1044ea466 100644 --- a/src/core/impl/utils/persistent_cache.cpp +++ b/src/core/impl/utils/persistent_cache.cpp @@ -121,6 +121,17 @@ std::string PersistentCache::make_category_from_comp_node(CompNode comp_node) { prop.name, prop.major, prop.minor, drv, cuda_rt); break; } +#endif +#if MGB_ROCM + case CompNode::DeviceType::ROCM: { + int drv = -1, hip_rt = -1; + MGB_ROCM_CHECK(hipDriverGetVersion(&drv)); + MGB_ROCM_CHECK(hipRuntimeGetVersion(&hip_rt)); + auto&& prop = env.rocm_env().device_prop; + return ssprintf("plat=rocm;dev=%s;cap=%d.%d,drv=%d;runtime=%d", + prop.name, prop.major, prop.minor, drv, hip_rt); + break; + } #endif case CompNode::DeviceType::CPU: return "plat=cpu";