Caffe

This is a benchmark of the Caffe deep learning framework and currently supports the AlexNet and Googlenet model and execution on both CPUs and NVIDIA GPUs.

To run this test with the Phoronix Test Suite, the basic command is: phoronix-test-suite benchmark caffe.

Test Created

14 November 2015

Last Updated

26 September 2020

Test Maintainer

Michael Larabel 

Test Type

System

Average Install Time

26 Seconds

Average Run Time

2 Minutes, 1 Second

Test Dependencies

C/C++ Compiler Toolchain + CMake + Python + BLAS (Basic Linear Algebra Sub-Routine) + C++ Boost + Linear Algebra Pack + Snappy Compression + GFlags + OpenCV + HDF5

Accolades

150k+ Downloads

Supported Platforms


Public Result Uploads *Reported Installs **Reported Test Completions **Test Profile Page Views ***OpenBenchmarking.orgEventsCaffe AlexNet Popularity Statisticspts/caffe2015.112016.022016.072016.102017.012017.042017.072017.102018.012018.042018.072018.102019.012019.042019.092020.032020.102021.012021.042021.072021.102022.012022.042022.072022.102023.012023.042023.072023.102024.012024.043K6K9K12K15K
* Uploading of benchmark result data to OpenBenchmarking.org is always optional (opt-in) via the Phoronix Test Suite for users wishing to share their results publicly.
** Data based on those opting to upload their test results to OpenBenchmarking.org and users enabling the opt-in anonymous statistics reporting while running benchmarks from an Internet-connected platform.
*** Test profile page view reporting began March 2021.
Data updated weekly as of 15 June 2024.
GoogleNet48.5%AlexNet51.5%Model Option PopularityOpenBenchmarking.org
NVIDIA CUDA 12.8%CPU87.2%Acceleration Option PopularityOpenBenchmarking.org
20045.4%100011.5%10043.0%Iterations Option PopularityOpenBenchmarking.org

Revision History

pts/caffe-1.5.0   [View Source]   Sat, 26 Sep 2020 21:35:45 GMT
Overhaul Caffe test profile with latest Git snapshot, switch to CMake build system, clean up test options, etc.

pts/caffe-1.4.0   [View Source]   Sat, 29 Dec 2018 11:15:41 GMT
Update Caffe to latest Git snapshot to hopefully workaround build problems on newer distros.

pts/caffe-1.3.3   [View Source]   Sun, 01 Apr 2018 18:50:19 GMT
Basic fix for OpenCV 3.4.

pts/caffe-1.3.2   [View Source]   Wed, 04 Jan 2017 11:07:36 GMT
Fix for OpenCV 3.2.

pts/caffe-1.3.1   [View Source]   Wed, 28 Dec 2016 20:36:42 GMT
Don't show title string of "Caffe AlexNet" but "Caffe" with recent test profile versions supporting more than just AlexNet.

pts/caffe-1.3.0   [View Source]   Wed, 28 Dec 2016 20:34:27 GMT
Update to latest Git snapshot to fix OpenCV compatibility.

pts/caffe-1.2.0   [View Source]   Mon, 15 Aug 2016 16:11:16 GMT
Add Googlenet support, decrease CPU only iteration count.

pts/caffe-1.1.1   [View Source]   Sun, 12 Jun 2016 18:32:44 GMT
Add OpenCV and OpenBLAS support.

pts/caffe-1.1.0   [View Source]   Sat, 11 Jun 2016 19:32:55 GMT
Update

pts/caffe-1.0.0   [View Source]   Sat, 14 Nov 2015 15:29:45 GMT
Initial commit of Caffe deep learning framework and with this benchmark using the AlexNet model for benchmarking.

Suites Using This Test

Machine Learning

HPC - High Performance Computing

NVIDIA GPU Compute


Performance Metrics

Analyze Test Configuration:

Caffe 2020-02-13

Model: AlexNet - Acceleration: CPU - Iterations: 100

OpenBenchmarking.org metrics for this test profile configuration based on 593 public results since 26 September 2020 with the latest data as of 13 May 2024.

Below is an overview of the generalized performance for components where there is sufficient statistically significant data based upon user-uploaded results. It is important to keep in mind particularly in the Linux/open-source space there can be vastly different OS configurations, with this overview intended to offer just general guidance as to the performance expectations.

Component
Percentile Rank
# Compatible Public Results
Milli-Seconds (Average)
99th
6
26346 +/- 1357
97th
5
30515 +/- 283
95th
3
31313 +/- 140
94th
3
32010 +/- 67
94th
3
32397 +/- 27
93rd
12
33106 +/- 2611
91st
11
34498 +/- 2825
89th
3
34822 +/- 9
88th
10
35102 +/- 789
85th
18
36960 +/- 2697
85th
3
37173 +/- 22
84th
4
37366 +/- 34
82nd
3
37955 +/- 132
82nd
15
38312 +/- 2455
82nd
3
38315 +/- 72
79th
7
39617 +/- 443
78th
5
39924 +/- 210
78th
3
40100 +/- 99
76th
7
40411 +/- 5457
Mid-Tier
75th
> 40660
75th
3
40696 +/- 46
74th
7
41490 +/- 228
72nd
10
42438 +/- 811
72nd
3
42896 +/- 16
71st
4
43033 +/- 98
71st
4
43703 +/- 1085
70th
3
44032 +/- 123
68th
3
46908 +/- 38
67th
3
48030 +/- 65
65th
6
49030 +/- 55
64th
3
50195 +/- 92
63rd
3
51637 +/- 187
63rd
4
51649 +/- 260
63rd
6
51822 +/- 2121
59th
4
53293 +/- 1907
59th
3
53894 +/- 254
59th
5
53938 +/- 2643
58th
3
54246 +/- 97
57th
3
54528 +/- 194
57th
3
54762 +/- 50
56th
3
55743 +/- 343
54th
3
57031 +/- 72
52nd
3
58792 +/- 45
51st
3
59244 +/- 55
Median
50th
59712
50th
6
59844 +/- 767
50th
4
59847 +/- 31
49th
3
60383 +/- 85
47th
3
60847 +/- 97
45th
4
61414 +/- 2732
45th
3
61442 +/- 484
43rd
3
62756 +/- 661
42nd
7
63592 +/- 3987
41st
4
64167 +/- 112
40th
4
64360 +/- 4536
40th
6
64670 +/- 1103
39th
3
65462 +/- 825
39th
3
65525 +/- 14
37th
3
66966 +/- 92
37th
3
67388 +/- 194
35th
3
68781 +/- 164
32nd
12
69338 +/- 471
30th
9
70420 +/- 1606
30th
4
70911 +/- 127
29th
3
71502 +/- 272
28th
3
71788 +/- 91
27th
3
73006 +/- 157
Low-Tier
25th
> 74361
24th
8
75063 +/- 162
20th
4
76325 +/- 1670
18th
3
79454 +/- 240
17th
4
81789 +/- 576
12th
9
85526 +/- 1817
11th
3
86210 +/- 644
11th
4
87122 +/- 120
8th
5
95251 +/- 13722
8th
3
96699 +/- 6657
8th
3
103280 +/- 3062
4th
3
121367 +/- 4283
4th
3
124930 +/- 1779
3rd
3
127752 +/- 382
3rd
3
151504 +/- 48
OpenBenchmarking.orgDistribution Of Public Results - Model: AlexNet - Acceleration: CPU - Iterations: 100593 Results Range From 23122 To 650940 Milli-Seconds23122356794823660793733508590798464111021123578136135148692161249173806186363198920211477224034236591249148261705274262286819299376311933324490337047349604362161374718387275399832412389424946437503450060462617475174487731500288512845525402537959550516563073575630588187600744613301625858638415650972306090120150

Based on OpenBenchmarking.org data, the selected test / test configuration (Caffe 2020-02-13 - Model: AlexNet - Acceleration: CPU - Iterations: 100) has an average run-time of 4 minutes. By default this test profile is set to run at least 3 times but may increase if the standard deviation exceeds pre-defined defaults or other calculations deem additional runs necessary for greater statistical accuracy of the result.

OpenBenchmarking.orgMinutesTime Required To Complete BenchmarkModel: AlexNet - Acceleration: CPU - Iterations: 100Run-Time510152025Min: 1 / Avg: 3.95 / Max: 21

Based on public OpenBenchmarking.org results, the selected test / test configuration has an average standard deviation of 0.3%.

OpenBenchmarking.orgPercent, Fewer Is BetterAverage Deviation Between RunsModel: AlexNet - Acceleration: CPU - Iterations: 100Deviation246810Min: 0 / Avg: 0.31 / Max: 6

Does It Scale Well With Increasing Cores?

No, based on the automated analysis of the collected public benchmark data, this test / test settings does not generally scale well with increasing CPU core counts. Data based on publicly available results for this test / test settings, separated by vendor, result divided by the reference CPU clock speed, grouped by matching physical CPU core count, and normalized against the smallest core count tested from each vendor for each CPU having a sufficient number of test samples and statistically significant data.

AMDIntelOpenBenchmarking.orgRelative Core Scaling To BaseCaffe AlexNet CPU Core ScalingModel: AlexNet - Acceleration: CPU - Iterations: 10046812162432640.67931.35862.03792.71723.3965

Notable Instruction Set Usage

Notable instruction set extensions supported by this test, based on an automatic analysis by the Phoronix Test Suite / OpenBenchmarking.org analytics engine.

Instruction Set
Support
Instructions Detected
SSE2 (SSE2)
Used by default on supported hardware.
 
PUNPCKLQDQ MOVDQA MOVDQU CVTSS2SD MOVD ADDSD DIVSD CVTTSD2SI MOVUPD CVTPS2PD CVTPD2PS CVTSD2SS PSHUFD XORPD SHUFPD SUBSD MULSD CVTSI2SD MOVAPD UCOMISD UNPCKLPD CVTDQ2PS COMISD CVTDQ2PD SQRTSD ANDPD ANDNPD CMPNLESD ORPD DIVPD MULPD MINSD MINPD MAXPD MAXSD CMPLTPD ADDPD CMPLTSD MOVHPD SUBPD MOVLPD UNPCKHPD PMULUDQ PSRLDQ
Requires passing a supported compiler/build flag (verified with targets: sandybridge, skylake, tigerlake, cascadelake, sapphirerapids, alderlake, znver2, znver3).
Found on Intel processors since Sandy Bridge (2011).
Found on AMD processors since Bulldozer (2011).

 
VZEROUPPER VINSERTF128 VEXTRACTF128 VPERM2F128 VPERMILPS VPERMILPD VBROADCASTSS VBROADCASTSD VMASKMOVPS
Requires passing a supported compiler/build flag (verified with targets: skylake, tigerlake, cascadelake, sapphirerapids, alderlake, znver2, znver3).
Found on Intel processors since Haswell (2013).
Found on AMD processors since Excavator (2016).

 
VPERM2I128 VPERMD VPERMPD VPBROADCASTQ VPBROADCASTD VPERMQ VGATHERQPS VEXTRACTI128 VPMASKMOVD VINSERTI128 VPGATHERDD VPBROADCASTW
FMA (FMA)
Requires passing a supported compiler/build flag (verified with targets: skylake, tigerlake, cascadelake, sapphirerapids, alderlake, znver2, znver3).
Found on Intel processors since Haswell (2013).
Found on AMD processors since Bulldozer (2011).

 
VFMADD132SS VFMADD132SD VFMSUB213PS VFMSUB132SS VFMSUB213PD VFMSUB132SD VFNMADD213SD VFNMADD213SS VFMADD231SS VFNMADD231SS VFMADD213SS VFNMADD132SS VFMADD231SD VFNMADD132SD VFMADD213SD VFMADD132PS VFMADD132PD VFNMADD132PD VFNMADD213PD VFNMADD132PS VFNMADD213PS VFMSUB231SD VFNMADD231SD VFMADD231PD
Advanced Vector Extensions 512 (AVX512)
Requires passing a supported compiler/build flag (verified with targets: cascadelake, sapphirerapids).
 
(ZMM REGISTER USE)
The test / benchmark does honor compiler flag changes.
Last automated analysis: 17 January 2022

This test profile binary relies on the shared libraries libcaffe.so.1.0.0, libglog.so.0, libgflags.so.2.2, libprotobuf.so.23, libc.so.6, libm.so.6, liblmdb.so.0, libopenblas.so.0, libunwind.so.8, libpthread.so.0, libz.so.1, libcrypto.so.3, libcurl.so.4, libsz.so.2, libgfortran.so.5, liblzma.so.5, libnghttp2.so.14, libidn2.so.0, librtmp.so.1, libssh.so.4, libpsl.so.5, libssl.so.3, libldap-2.5.so.0, liblber-2.5.so.0, libzstd.so.1, libbrotlidec.so.1, libaec.so.0, libquadmath.so.0, libunistring.so.2, libgnutls.so.30, libhogweed.so.6, libnettle.so.8, libgmp.so.10, libkrb5.so.3, libk5crypto.so.3, libkrb5support.so.0, libsasl2.so.2, libbrotlicommon.so.1, libp11-kit.so.0, libtasn1.so.6, libkeyutils.so.1, libresolv.so.2, libffi.so.8.

Tested CPU Architectures

This benchmark has been successfully tested on the below mentioned architectures. The CPU architectures listed is where successful OpenBenchmarking.org result uploads occurred, namely for helping to determine if a given test is compatible with various alternative CPU architectures.

CPU Architecture
Kernel Identifier
Verified On
Intel / AMD x86 64-bit
x86_64
(Many Processors)
IBM POWER (PowerPC) 64-bit
ppc64le
POWER9 44-Core
Loongson LoongArch 64-bit
loongarch64
Loongson-3A5000LL
ARMv7 32-bit
armv7l
ARMv7 Cortex-A72 4-Core
ARMv8 64-bit
aarch64
AArch64 rev 4, Ampere eMAG ARMv8 32-Core

Recent Test Results

OpenBenchmarking.org Results Compare

1 System - 6 Benchmark Results

AMD Ryzen 9 7950X3D 16-Core - MSI MAG X670E TOMAHAWK WIFI - AMD Device 14d8

Linuxmint 21.3 - 6.5.0-1022-oem - Cinnamon 6.0.4

1 System - 341 Benchmark Results

AMD Ryzen 9 7950X 16-Core - ASUS ProArt X670E-CREATOR WIFI - AMD Device 14d8

Pop 22.04 - 6.6.10-76060610-generic - GNOME Shell 42.5

1 System - 304 Benchmark Results

AMD A4-5300 APU - ASRock FM2A88M-HD+ R3.0 - AMD 15h

Ubuntu 20.04 - 5.15.0-89-generic - GNOME Shell 3.36.9

1 System - 295 Benchmark Results

AMD Ryzen 9 7950X3D 16-Core - ASUS PRIME X670E-PRO WIFI - AMD Device 14d8

Ubuntu 22.04 - 6.2.0-39-generic - GNOME Shell 42.9

1 System - 301 Benchmark Results

AMD A8-9600 RADEON R7 10 COMPUTE CORES 4C+6G - ASRock A320M-HDV R4.0 - AMD 15h

Ubuntu 20.04 - 5.15.0-89-generic - GNOME Shell 3.36.9

Find More Test Results