Raspberry Pi 5 GPU Benchmarks Raspberry Pi 5 vs. Raspberry Pi 4 graphics benchmarks by Michael Larabel for a future article. ARMv8 Cortex-A72 testing with a BCM2835 Raspberry Pi 400 Rev 1.0 and vc4drmfb on Debian 11 via the Phoronix Test Suite.
HTML result view exported from: https://openbenchmarking.org/result/2309287-NE-2309280NE47&grt .
Raspberry Pi 5 GPU Benchmarks Processor Motherboard Memory Disk Graphics Monitor Network Chipset OS Kernel Display Server OpenGL Compiler File-System Screen Resolution Desktop Raspberry Pi 5 Raspberry Pi 4 ARMv8 Cortex-A76 @ 2.40GHz (4 Cores) BCM2835 Raspberry Pi 5 Model B Rev 1.0 8GB 32GB SL32G V3D 7.1 8GB DELL P2415Q Device 1de4:0001 Debian 12 6.1.0-rpi3-rpi-2712 (aarch64) X Server + Wayland 3.1 Mesa 23.2.0~rc3-1+rpt3 GCC 12.2.0 ext4 3840x2160 ARMv8 Cortex-A72 @ 1.80GHz (4 Cores) BCM2835 Raspberry Pi 400 Rev 1.0 Broadcom BCM2711 4096MB 128GB SF128 vc4drmfb DELL P2210H Debian 11 5.15.84-v8+ (aarch64) LXDE X Server 1.20.11 2.1 Mesa 20.3.5 GCC 10.2.1 20210110 1920x1080 OpenBenchmarking.org Kernel Details - Raspberry Pi 5: cfg80211.ieee80211_regdom=US - Raspberry Pi 4: snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 Compiler Details - Raspberry Pi 5: --build=aarch64-linux-gnu --disable-libquadmath --disable-libquadmath-support --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-fix-cortex-a53-843419 --enable-gnu-unique-object --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --enable-libphobos-checking=release --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-nls --enable-objc-gc=auto --enable-plugin --enable-shared --enable-threads=posix --host=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu- --target=aarch64-linux-gnu --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-target-system-zlib=auto -v - Raspberry Pi 4: --build=aarch64-linux-gnu --disable-libquadmath --disable-libquadmath-support --disable-werror --enable-bootstrap --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-fix-cortex-a53-843419 --enable-gnu-unique-object --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --enable-libphobos-checking=release --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-link-mutex --enable-multiarch --enable-nls --enable-objc-gc=auto --enable-plugin --enable-shared --enable-threads=posix --host=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu- --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-target-system-zlib=auto -v Processor Details - Scaling Governor: cpufreq-dt ondemand Python Details - Raspberry Pi 5: Python 3.11.2 - Raspberry Pi 4: Python 3.9.2 Security Details - Raspberry Pi 5: gather_data_sampling: Not affected + itlb_multihit: Not affected + l1tf: Not affected + mds: Not affected + meltdown: Not affected + mmio_stale_data: Not affected + retbleed: Not affected + spec_rstack_overflow: Not affected + spec_store_bypass: Mitigation of SSB disabled via prctl + spectre_v1: Mitigation of __user pointer sanitization + spectre_v2: Mitigation of CSV2 BHB + srbds: Not affected + tsx_async_abort: Not affected - Raspberry Pi 4: itlb_multihit: Not affected + l1tf: Not affected + mds: Not affected + meltdown: Not affected + mmio_stale_data: Not affected + retbleed: Not affected + spec_store_bypass: Vulnerable + spectre_v1: Mitigation of __user pointer sanitization + spectre_v2: Vulnerable + srbds: Not affected + tsx_async_abort: Not affected
Raspberry Pi 5 GPU Benchmarks glmark2: 1920 x 1080 ncnn: Vulkan GPU - mobilenet ncnn: Vulkan GPU-v2-v2 - mobilenet-v2 ncnn: Vulkan GPU-v3-v3 - mobilenet-v3 ncnn: Vulkan GPU - shufflenet-v2 ncnn: Vulkan GPU - mnasnet ncnn: Vulkan GPU - efficientnet-b0 ncnn: Vulkan GPU - blazeface ncnn: Vulkan GPU - googlenet ncnn: Vulkan GPU - vgg16 ncnn: Vulkan GPU - resnet18 ncnn: Vulkan GPU - alexnet ncnn: Vulkan GPU - resnet50 ncnn: Vulkan GPU - yolov4-tiny ncnn: Vulkan GPU - squeezenet_ssd ncnn: Vulkan GPU - regnety_400m ncnn: Vulkan GPU - vision_transformer ncnn: Vulkan GPU - FastestDet yquake2: OpenGL 3.x - On - On - 1920 x 1080 yquake2: OpenGL 3.x - Off - On - 1920 x 1080 yquake2: OpenGL 3.x - On - Off - 1920 x 1080 yquake2: OpenGL 3.x - Off - Off - 1920 x 1080 yquake2: OpenGL ES 3.x - On - On - 1920 x 1080 yquake2: OpenGL ES 3.x - Off - On - 1920 x 1080 yquake2: OpenGL ES 3.x - On - Off - 1920 x 1080 yquake2: OpenGL ES 3.x - Off - Off - 1920 x 1080 Raspberry Pi 5 Raspberry Pi 4 211 49.95 13.94 9.63 3.64 9.08 15.75 1.60 34.42 169.70 25.25 26.99 59.19 59.31 43.62 12.49 649.12 6.09 230.0 239.0 236.0 237.6 30.1 31.2 71.8 77.1 49 198.54 66.17 49.39 26.15 54.96 79.39 9.05 123.26 564.78 131.17 80.16 273.48 223.68 137.59 67.05 2008.62 40.83 87.4 88.2 88.3 89.6 8.6 8.9 16.1 16.5 OpenBenchmarking.org
GLmark2 Resolution: 1920 x 1080 OpenBenchmarking.org Score, More Is Better GLmark2 2023.01 Resolution: 1920 x 1080 Raspberry Pi 5 Raspberry Pi 4 50 100 150 200 250 211 49
NCNN Target: Vulkan GPU - Model: mobilenet OpenBenchmarking.org ms, Fewer Is Better NCNN 20230517 Target: Vulkan GPU - Model: mobilenet Raspberry Pi 5 Raspberry Pi 4 40 80 120 160 200 SE +/- 0.10, N = 3 SE +/- 1.94, N = 3 49.95 198.54 -fopenmp - MIN: 49.19 / MAX: 53.8 -O3 -lgomp -lpthread -pthread - MIN: 194.17 / MAX: 219.31 1. (CXX) g++ options: -rdynamic
NCNN Target: Vulkan GPU-v2-v2 - Model: mobilenet-v2 OpenBenchmarking.org ms, Fewer Is Better NCNN 20230517 Target: Vulkan GPU-v2-v2 - Model: mobilenet-v2 Raspberry Pi 5 Raspberry Pi 4 15 30 45 60 75 SE +/- 0.05, N = 3 SE +/- 1.02, N = 3 13.94 66.17 -fopenmp - MIN: 13.53 / MAX: 14.41 -O3 -lgomp -lpthread -pthread - MIN: 64.34 / MAX: 97.37 1. (CXX) g++ options: -rdynamic
NCNN Target: Vulkan GPU-v3-v3 - Model: mobilenet-v3 OpenBenchmarking.org ms, Fewer Is Better NCNN 20230517 Target: Vulkan GPU-v3-v3 - Model: mobilenet-v3 Raspberry Pi 5 Raspberry Pi 4 11 22 33 44 55 SE +/- 0.04, N = 3 SE +/- 0.86, N = 3 9.63 49.39 -fopenmp - MIN: 9.39 / MAX: 10.03 -O3 -lgomp -lpthread -pthread - MIN: 47.7 / MAX: 57.96 1. (CXX) g++ options: -rdynamic
NCNN Target: Vulkan GPU - Model: shufflenet-v2 OpenBenchmarking.org ms, Fewer Is Better NCNN 20230517 Target: Vulkan GPU - Model: shufflenet-v2 Raspberry Pi 5 Raspberry Pi 4 6 12 18 24 30 SE +/- 0.04, N = 3 SE +/- 0.55, N = 3 3.64 26.15 -fopenmp - MIN: 3.51 / MAX: 3.91 -O3 -lgomp -lpthread -pthread - MIN: 25.17 / MAX: 38.68 1. (CXX) g++ options: -rdynamic
NCNN Target: Vulkan GPU - Model: mnasnet OpenBenchmarking.org ms, Fewer Is Better NCNN 20230517 Target: Vulkan GPU - Model: mnasnet Raspberry Pi 5 Raspberry Pi 4 12 24 36 48 60 SE +/- 0.08, N = 3 SE +/- 0.72, N = 3 9.08 54.96 -fopenmp - MIN: 8.59 / MAX: 9.49 -O3 -lgomp -lpthread -pthread - MIN: 53.41 / MAX: 82.61 1. (CXX) g++ options: -rdynamic
NCNN Target: Vulkan GPU - Model: efficientnet-b0 OpenBenchmarking.org ms, Fewer Is Better NCNN 20230517 Target: Vulkan GPU - Model: efficientnet-b0 Raspberry Pi 5 Raspberry Pi 4 20 40 60 80 100 SE +/- 0.12, N = 3 SE +/- 1.00, N = 3 15.75 79.39 -fopenmp - MIN: 15.31 / MAX: 16.35 -O3 -lgomp -lpthread -pthread - MIN: 77.6 / MAX: 88.49 1. (CXX) g++ options: -rdynamic
NCNN Target: Vulkan GPU - Model: blazeface OpenBenchmarking.org ms, Fewer Is Better NCNN 20230517 Target: Vulkan GPU - Model: blazeface Raspberry Pi 5 Raspberry Pi 4 3 6 9 12 15 SE +/- 0.00, N = 3 SE +/- 0.18, N = 3 1.60 9.05 -fopenmp - MIN: 1.54 / MAX: 1.78 -O3 -lgomp -lpthread -pthread - MIN: 8.67 / MAX: 11.18 1. (CXX) g++ options: -rdynamic
NCNN Target: Vulkan GPU - Model: googlenet OpenBenchmarking.org ms, Fewer Is Better NCNN 20230517 Target: Vulkan GPU - Model: googlenet Raspberry Pi 5 Raspberry Pi 4 30 60 90 120 150 SE +/- 0.03, N = 3 SE +/- 2.18, N = 3 34.42 123.26 -fopenmp - MIN: 33.91 / MAX: 34.89 -O3 -lgomp -lpthread -pthread - MIN: 120.08 / MAX: 141.42 1. (CXX) g++ options: -rdynamic
NCNN Target: Vulkan GPU - Model: vgg16 OpenBenchmarking.org ms, Fewer Is Better NCNN 20230517 Target: Vulkan GPU - Model: vgg16 Raspberry Pi 5 Raspberry Pi 4 120 240 360 480 600 SE +/- 0.20, N = 3 SE +/- 2.50, N = 3 169.70 564.78 -fopenmp - MIN: 166.31 / MAX: 177.27 -O3 -lgomp -lpthread -pthread - MIN: 549.85 / MAX: 609.28 1. (CXX) g++ options: -rdynamic
NCNN Target: Vulkan GPU - Model: resnet18 OpenBenchmarking.org ms, Fewer Is Better NCNN 20230517 Target: Vulkan GPU - Model: resnet18 Raspberry Pi 5 Raspberry Pi 4 30 60 90 120 150 SE +/- 0.10, N = 3 SE +/- 2.68, N = 3 25.25 131.17 -fopenmp - MIN: 24.66 / MAX: 39.94 -O3 -lgomp -lpthread -pthread - MIN: 127.45 / MAX: 147.5 1. (CXX) g++ options: -rdynamic
NCNN Target: Vulkan GPU - Model: alexnet OpenBenchmarking.org ms, Fewer Is Better NCNN 20230517 Target: Vulkan GPU - Model: alexnet Raspberry Pi 5 Raspberry Pi 4 20 40 60 80 100 SE +/- 0.06, N = 3 SE +/- 1.04, N = 3 26.99 80.16 -fopenmp - MIN: 26.46 / MAX: 48.25 -O3 -lgomp -lpthread -pthread - MIN: 77.99 / MAX: 94.43 1. (CXX) g++ options: -rdynamic
NCNN Target: Vulkan GPU - Model: resnet50 OpenBenchmarking.org ms, Fewer Is Better NCNN 20230517 Target: Vulkan GPU - Model: resnet50 Raspberry Pi 5 Raspberry Pi 4 60 120 180 240 300 SE +/- 0.11, N = 3 SE +/- 0.19, N = 3 59.19 273.48 -fopenmp - MIN: 58.06 / MAX: 68.62 -O3 -lgomp -lpthread -pthread - MIN: 271.84 / MAX: 295.4 1. (CXX) g++ options: -rdynamic
NCNN Target: Vulkan GPU - Model: yolov4-tiny OpenBenchmarking.org ms, Fewer Is Better NCNN 20230517 Target: Vulkan GPU - Model: yolov4-tiny Raspberry Pi 5 Raspberry Pi 4 50 100 150 200 250 SE +/- 0.16, N = 3 SE +/- 0.29, N = 3 59.31 223.68 -fopenmp - MIN: 58.45 / MAX: 104.55 -O3 -lgomp -lpthread -pthread - MIN: 220.49 / MAX: 246.88 1. (CXX) g++ options: -rdynamic
NCNN Target: Vulkan GPU - Model: squeezenet_ssd OpenBenchmarking.org ms, Fewer Is Better NCNN 20230517 Target: Vulkan GPU - Model: squeezenet_ssd Raspberry Pi 5 Raspberry Pi 4 30 60 90 120 150 SE +/- 0.02, N = 3 SE +/- 0.21, N = 3 43.62 137.59 -fopenmp - MIN: 42.99 / MAX: 44.47 -O3 -lgomp -lpthread -pthread - MIN: 136.58 / MAX: 156.34 1. (CXX) g++ options: -rdynamic
NCNN Target: Vulkan GPU - Model: regnety_400m OpenBenchmarking.org ms, Fewer Is Better NCNN 20230517 Target: Vulkan GPU - Model: regnety_400m Raspberry Pi 5 Raspberry Pi 4 15 30 45 60 75 SE +/- 0.08, N = 3 SE +/- 0.96, N = 3 12.49 67.05 -fopenmp - MIN: 12.19 / MAX: 13.12 -O3 -lgomp -lpthread -pthread - MIN: 65.14 / MAX: 85.91 1. (CXX) g++ options: -rdynamic
NCNN Target: Vulkan GPU - Model: vision_transformer OpenBenchmarking.org ms, Fewer Is Better NCNN 20230517 Target: Vulkan GPU - Model: vision_transformer Raspberry Pi 5 Raspberry Pi 4 400 800 1200 1600 2000 SE +/- 0.51, N = 3 SE +/- 15.11, N = 3 649.12 2008.62 -fopenmp - MIN: 626.69 / MAX: 668.91 -O3 -lgomp -lpthread -pthread - MIN: 1900.59 / MAX: 2112.98 1. (CXX) g++ options: -rdynamic
NCNN Target: Vulkan GPU - Model: FastestDet OpenBenchmarking.org ms, Fewer Is Better NCNN 20230517 Target: Vulkan GPU - Model: FastestDet Raspberry Pi 5 Raspberry Pi 4 9 18 27 36 45 SE +/- 0.08, N = 3 SE +/- 0.17, N = 3 6.09 40.83 -fopenmp - MIN: 5.85 / MAX: 6.7 -O3 -lgomp -lpthread -pthread - MIN: 40.04 / MAX: 62.82 1. (CXX) g++ options: -rdynamic
yquake2 Renderer: OpenGL 3.x - AF: On - MSAA: On - Resolution: 1920 x 1080 OpenBenchmarking.org Frames Per Second, More Is Better yquake2 8.10 Renderer: OpenGL 3.x - AF: On - MSAA: On - Resolution: 1920 x 1080 Raspberry Pi 5 Raspberry Pi 4 50 100 150 200 250 SE +/- 1.86, N = 3 SE +/- 0.66, N = 3 230.0 87.4 1. (CC) gcc options: -shared -lm -ldl -rdynamic -lSDL2 -O2 -pipe -fomit-frame-pointer -std=gnu99 -fno-strict-aliasing -fwrapv -fvisibility=hidden -MMD -fPIC
yquake2 Renderer: OpenGL 3.x - AF: Off - MSAA: On - Resolution: 1920 x 1080 OpenBenchmarking.org Frames Per Second, More Is Better yquake2 8.10 Renderer: OpenGL 3.x - AF: Off - MSAA: On - Resolution: 1920 x 1080 Raspberry Pi 5 Raspberry Pi 4 50 100 150 200 250 SE +/- 2.81, N = 4 SE +/- 0.46, N = 3 239.0 88.2 1. (CC) gcc options: -shared -lm -ldl -rdynamic -lSDL2 -O2 -pipe -fomit-frame-pointer -std=gnu99 -fno-strict-aliasing -fwrapv -fvisibility=hidden -MMD -fPIC
yquake2 Renderer: OpenGL 3.x - AF: On - MSAA: Off - Resolution: 1920 x 1080 OpenBenchmarking.org Frames Per Second, More Is Better yquake2 8.10 Renderer: OpenGL 3.x - AF: On - MSAA: Off - Resolution: 1920 x 1080 Raspberry Pi 5 Raspberry Pi 4 50 100 150 200 250 SE +/- 1.30, N = 3 SE +/- 0.32, N = 3 236.0 88.3 1. (CC) gcc options: -shared -lm -ldl -rdynamic -lSDL2 -O2 -pipe -fomit-frame-pointer -std=gnu99 -fno-strict-aliasing -fwrapv -fvisibility=hidden -MMD -fPIC
yquake2 Renderer: OpenGL 3.x - AF: Off - MSAA: Off - Resolution: 1920 x 1080 OpenBenchmarking.org Frames Per Second, More Is Better yquake2 8.10 Renderer: OpenGL 3.x - AF: Off - MSAA: Off - Resolution: 1920 x 1080 Raspberry Pi 5 Raspberry Pi 4 50 100 150 200 250 SE +/- 0.99, N = 3 SE +/- 0.35, N = 3 237.6 89.6 1. (CC) gcc options: -shared -lm -ldl -rdynamic -lSDL2 -O2 -pipe -fomit-frame-pointer -std=gnu99 -fno-strict-aliasing -fwrapv -fvisibility=hidden -MMD -fPIC
yquake2 Renderer: OpenGL ES 3.x - AF: On - MSAA: On - Resolution: 1920 x 1080 OpenBenchmarking.org Frames Per Second, More Is Better yquake2 8.10 Renderer: OpenGL ES 3.x - AF: On - MSAA: On - Resolution: 1920 x 1080 Raspberry Pi 5 Raspberry Pi 4 7 14 21 28 35 SE +/- 0.00, N = 3 SE +/- 0.03, N = 3 30.1 8.6 1. (CC) gcc options: -shared -lm -ldl -rdynamic -lSDL2 -O2 -pipe -fomit-frame-pointer -std=gnu99 -fno-strict-aliasing -fwrapv -fvisibility=hidden -MMD -fPIC
yquake2 Renderer: OpenGL ES 3.x - AF: Off - MSAA: On - Resolution: 1920 x 1080 OpenBenchmarking.org Frames Per Second, More Is Better yquake2 8.10 Renderer: OpenGL ES 3.x - AF: Off - MSAA: On - Resolution: 1920 x 1080 Raspberry Pi 5 Raspberry Pi 4 7 14 21 28 35 SE +/- 0.03, N = 3 SE +/- 0.03, N = 3 31.2 8.9 1. (CC) gcc options: -shared -lm -ldl -rdynamic -lSDL2 -O2 -pipe -fomit-frame-pointer -std=gnu99 -fno-strict-aliasing -fwrapv -fvisibility=hidden -MMD -fPIC
yquake2 Renderer: OpenGL ES 3.x - AF: On - MSAA: Off - Resolution: 1920 x 1080 OpenBenchmarking.org Frames Per Second, More Is Better yquake2 8.10 Renderer: OpenGL ES 3.x - AF: On - MSAA: Off - Resolution: 1920 x 1080 Raspberry Pi 5 Raspberry Pi 4 16 32 48 64 80 SE +/- 0.00, N = 3 SE +/- 0.12, N = 3 71.8 16.1 1. (CC) gcc options: -shared -lm -ldl -rdynamic -lSDL2 -O2 -pipe -fomit-frame-pointer -std=gnu99 -fno-strict-aliasing -fwrapv -fvisibility=hidden -MMD -fPIC
yquake2 Renderer: OpenGL ES 3.x - AF: Off - MSAA: Off - Resolution: 1920 x 1080 OpenBenchmarking.org Frames Per Second, More Is Better yquake2 8.10 Renderer: OpenGL ES 3.x - AF: Off - MSAA: Off - Resolution: 1920 x 1080 Raspberry Pi 5 Raspberry Pi 4 20 40 60 80 100 SE +/- 0.07, N = 3 SE +/- 0.09, N = 3 77.1 16.5 1. (CC) gcc options: -shared -lm -ldl -rdynamic -lSDL2 -O2 -pipe -fomit-frame-pointer -std=gnu99 -fno-strict-aliasing -fwrapv -fvisibility=hidden -MMD -fPIC
Phoronix Test Suite v10.8.5