diff --git a/rocclr/device/pal/palsettings.cpp b/rocclr/device/pal/palsettings.cpp index 936bb81cec..41d03af263 100644 --- a/rocclr/device/pal/palsettings.cpp +++ b/rocclr/device/pal/palsettings.cpp @@ -193,6 +193,8 @@ bool Settings::create(const Pal::DeviceProperties& palProp, enableXNACK_ = enableXNACK; hsailExplicitXnack_ = enableXNACK; + bool useWavefront64 = false; + std::string appName = {}; std::string appPathAndName = {}; amd::Os::getAppPathAndFileName(appName, appPathAndName); @@ -213,6 +215,14 @@ bool Settings::create(const Pal::DeviceProperties& palProp, case Pal::AsicRevision::Navi23: case Pal::AsicRevision::Navi22: case Pal::AsicRevision::Navi21: + // set wavefront 64 for Geekbench 5 + { + if (appName == "Geekbench 5.exe" || + appName == "geekbench_x86_64.exe" || + appName == "geekbench5.exe") { + useWavefront64 = true; + } + } // Fall through for Navi1x ... case Pal::AsicRevision::Navi14: case Pal::AsicRevision::Navi12: @@ -232,6 +242,9 @@ bool Settings::create(const Pal::DeviceProperties& palProp, if (!flagIsDefault(GPU_ENABLE_WAVE32_MODE)) { enableWave32Mode_ = GPU_ENABLE_WAVE32_MODE; } + if (useWavefront64) { + enableWave32Mode_ = 0; + } lcWavefrontSize64_ = !enableWave32Mode_; if (palProp.gfxLevel == Pal::GfxIpLevel::GfxIp10_1) { // GFX10.1 HW doesn't support custom pitch. Enable double copy workaround