Samsung uses program to underclock GPU when not performing benchmarks

The Galaxy S IV from Samsung Electronics Comp., Ltd. (KSC:005930) has generally been getting beat in reviews by HTC Corp.'s (TPE:2498) One flagship phone, although Samsung has a modest sales lead.

Beyond3D poster @AndreiF made an interesting accusation about the Samsung handset in late June, alleging that for some benchmarks the phone was purposely boosting to its maximum GPU clock speed --533 MHz -- while operating at a slower 480 MHz for all other benchmarks and games:
Was the accusation true?

It appears so.  Last week, AnandTech's Brian Klug and Anand Shimpi dug into the bizarre scheme by first monitoring using the debugger "/sys/module/pvrsrvkm/parameters/sgx_gpu_clk" -- a file that contains the clock speed.  They confirmed the behavior the previous poster had written on.

Samsung GS4 benchmark clocked Samsung Galaxy S IV, standard clock
Upclocked for a benchmark (left) versus normal clock for an unrecognized benchmark (right).
[Image Source: AnandTech]

The hack ran even deeper, AnandTech discovered, while monitoring the CPU clock speed with the System Monitor app.  While in the benchmarks of choice the CPU was chugging away at 1.2 GHz -- the speed of the four onboard Cortex-A15 cores.  But in other graphics intensive applications outside the select benchmarks it switched over to the four power-sipping Cortex-A7 cores clocked at 500 MHz.

Ultimately it was found that the Samsung phone was bumping the GPU and CPU clock in many of the top benchmarks -- GLBenchmark, AnTuTu, Linpack, Benchmark Pi, and Quadrant.  Moreover, AnandTech found the behavior was not exclusive to the "octacore" international version; the U.S.'s Qualcomm, Inc. (QCOMSnapdragon 600 equipped model was doing the same thing.

(The Unreal Engine and GFXBench benchmarks do not appear to be effected.)

The responsible app was a Samsung-exclusive program named TwDVFSApp.apk.  When viewed in a hex editor the app was found to have several "BENCH_BOOSTER..." strings, indicating clearly this manipulation was purposeful.
Samsung Galaxy S4 wide
AnandTech concluded:

You should be careful about comparing Exynos 5 Octa based Galaxy S 4s using any of the affected benchmarks to other devices and drawing conclusions based on that.... We’ve said for years now that the mobile revolution has/will mirror the PC industry, and thus it’s no surprise to see optimizations like this employed. Just because we’ve seen things like this happen in the past however doesn’t mean they should happen now.

What Samsung needs to do going forward is either open up these settings for all users/applications (e.g. offer a configurable setting that fixes the CPU governor in a high performance mode, and unlocks the 532MHz GPU frequency) or remove the optimization altogether. The risk of doing nothing is that we end up in an arms race between all of the SoC and device makers where non-insignificant amounts of time and engineering effort is spent on gaming the benchmarks rather than improving user experience. Optimizing for user experience is all that’s necessary, good benchmarks benefit indirectly - those that don’t will eventually become irrelevant.

It should be noted that PC graphics card makers such as Advanced Micro Devices, Inc. (AMD) and NVIDIA Corp. (NVDA) are believed to include special tweaks and adjustments in their GPU firmware to perform better in certain top games.  This is also somewhat misleading as a less high-profile title may not see the same strong performance as a hit.  However, what Samsung is doing is arguably even worse for the consumer as there's no gains to the consumer from these benchmark inflating tweaks.

Sources: AnandTech, Beyond3D

"Nowadays you can buy a CPU cheaper than the CPU fan." -- Unnamed AMD executive

Latest Blog Posts
Apple in the News
Saimin Nidarson - Apr 4, 2017, 9:03 AM

Copyright 2017 DailyTech LLC. - RSS Feed | Advertise | About Us | Ethics | FAQ | Terms, Conditions & Privacy Information | Kristopher Kubicki