diff --git a/dnn/src/rocm/sleep/opr_impl.cpp b/dnn/src/rocm/sleep/opr_impl.cpp index ce2a9521..71aa3c04 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 ec6651e8..98e3dc2a 100644 --- a/src/core/impl/utils/persistent_cache.cpp +++ b/src/core/impl/utils/persistent_cache.cpp @@ -122,6 +122,17 @@ std::string PersistentCache::make_category_from_comp_node(CompNode comp_node) { 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"; default: