View Single Post
Old 2020-10-15, 00:02   #1
M344587487
 
M344587487's Avatar
 
"Composite as Heck"
Oct 2017

3·263 Posts
Default Ryzen 4700u Benchmarks

The usual benchmarking has been done in the usual threads but it's been too long since I've properly fondled some hardware so I plan to bench this to hell and back. The hardware is an Asus PN50 SFF PC paired with 2x16GB SO-DIMM DDR4 3200 CL22 DR and a 1TB NVMe TLC M.2 SSD. The bios is extremely basic with no overclocking options or much of anything, so the RAM is what it is AFAIK and the CPU/GPU can only be fiddled with using whatever tools exist for Linux.

ryzenadj ( https://github.com/FlyGoat/RyzenAdj ) seems to work well at setting power targets for the CPU, so that's how I've tested underclocking with M60721417:
Code:
CPU Clock     Power    Power At
  (MHz)     Target (W)  Wall (W)  ms/it   it/s   j/it  Command
  2825        20         33.5      4.87  205.3  0.163  "ryzenadj --stapm-limit=20000 --fast-limit=20000 --slow-limit=20000"
  2400        15         27        4.93  203.0  0.133  "ryzenadj --stapm-limit=15000 --fast-limit=15000 --slow-limit=15000"
  2025        13         24        5.01  199.6  0.120  "ryzenadj --stapm-limit=13000 --fast-limit=13000 --slow-limit=13000"
  1730        12         23        5.15  194.1  0.118  "ryzenadj --stapm-limit=12000 --fast-limit=12000 --slow-limit=12000"
  1450        11.5       21.5      5.52  181.1  0.118  "ryzenadj --stapm-limit=11500 --fast-limit=11500 --slow-limit=11500"
  1400        11         21        5.55  180.1  0.116  "ryzenadj --stapm-limit=11000 --fast-limit=11000 --slow-limit=11000"
  1375        10.5       20.5      5.85  170.9  0.119  "ryzenadj --stapm-limit=10500 --fast-limit=10500 --slow-limit=10500"
  1350        10         20        6.14  162.8  0.122  "ryzenadj --stapm-limit=10000 --fast-limit=10000 --slow-limit=10000"
  1250         8.5       17.5      7.77  128.7  0.135  "ryzenadj --stapm-limit=8500 --fast-limit=8500 --slow-limit=8500"
   630         7         15       10.15   98.5  0.152  "ryzenadj --stapm-limit=7000 --fast-limit=7000 --slow-limit=7000"
   400         5         11.5     16.90   59.1  0.194  "ryzenadj --stapm-limit=5000 --fast-limit=5000 --slow-limit=5000"
Stock settings appear to target 25W for a few minutes, settling down to a 15W target for a sustained workload, so the 15W target figure above is representative of stock settings. The clock, power at the wall and ms/it are all eyeballed, most of the clocks were variable within a few hundred MHz (except the 1400 and 400 ones, they remained solid). The wall power figures have the potential to be lower than shown, the NVMe drive is potentially power hungry and there's twice as many RAM chips than is necessary if you can find dual rank 2x8 SO-DIMMs. Wifi was on, bluetooth may have been, and Ubuntu 20.04 is stock with no power saving measures attempted yet.

Tried to run FlopsCL ( http://olab.is.s.u-tokyo.ac.jp/~kami.../projects.html ) to measure the GFlops of the iGPU, it compiled after setting OPENCL_LIBRARY_DIR = /opt/rocm/lib/ and OPENCL_INCLUDE_DIR = /opt/rocm/opencl/include/ in the Makefile, but the kernels fail. It might be because the rocm install doesn't appear to include OpenCL 2.0? /opt/rocm/opencl/lib/made no difference:
Code:
pn50@pn50:~/FlopsCL_src_linux$ ./flops

        1 OpenCL platform(s) detected:

        Platform 0: Advanced Micro Devices, Inc. AMD Accelerated Parallel Processing OpenCL 2.0 AMD-APP (3186.0), FULL_PROFILE

                1 device(s) found supporting OpenCL:

                Device 0:
                        CL_DEVICE_NAME = gfx900
                        CL_DEVICE_VENDOR = Advanced Micro Devices, Inc.
                        CL_DEVICE_VERSION = OpenCL 2.0 
                        CL_DRIVER_VERSION = 3186.0 (HSA1.1,LC)
                        CL_DEVICE_MAX_COMPUTE_UNITS = 27
                        CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS = 3
                        CL_DEVICE_MAX_WORK_ITEM_SIZES = 1024 / 1024 / 1024 
                        CL_DEVICE_MAX_WORK_GROUP_SIZE = 256
                        CL_DEVICE_MAX_CLOCK_FREQUENCY = 1600 MHz
                        CL_DEVICE_GLOBAL_MEM_SIZE = 512 MB
                        CL_DEVICE_ERROR_CORRECTION_SUPPORT = NO
                        CL_DEVICE_LOCAL_MEM_SIZE = 64 kB
                        CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE = 445644 kB
                                Compiling...
                                Starting tests...
ERROR: clEnqueueNDRangeKernel failed, cl_invalid_work_group_size
                                [float   ] Time: 0.016776s, 16385.00 GFLOP/s
ERROR: clEnqueueNDRangeKernel failed, cl_invalid_work_group_size
                                 [float2  ] Time: 0.016776s, 32770.00 GFLOP/s
The 27 CU figure looks suspect and there are 7 GPU cores that don't look like they're represented, but it could be legit for all I know. If you squint real hard it almost looks like a 16 TFlops iGPU exists so that's fun.
M344587487 is offline   Reply With Quote