GraphicsMagick

This is a test of GraphicsMagick with its OpenMP implementation that performs various imaging tests on a sample high resolution (currently 15400 x 6940) JPEG image.

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

Project Site

graphicsmagick.org

Test Created

6 December 2010

Last Updated

6 April 2024

Test Maintainer

Michael Larabel 

Test Type

Processor

Test Dependencies

C/C++ Compiler Toolchain + Zlib + JPEG Library

Accolades

300k+ Downloads + 10k+ Public Benchmark Results + Recently Updated Test Profile

Supported Platforms


Public Result Uploads *Reported Test Completions **Reported Installs **Test Profile Page Views ***OpenBenchmarking.orgEventsGraphicsMagick Popularity Statisticspts/graphics-magick2010.122011.052011.102012.032012.082013.012013.062013.112014.042014.092015.022015.072015.122016.052016.102017.032017.082018.012018.062018.112019.042019.092020.022020.072020.122021.052021.102022.032022.082023.012023.062023.112024.0460K120K180K240K300K
* 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 21 April 2024.
Rotate14.1%HWB Color Space14.1%Noise-Gaussian14.4%Sharpen14.5%Swirl14.5%Enhanced14.4%Resizing14.0%Operation Option PopularityOpenBenchmarking.org

Revision History

pts/graphics-magick-2.2.0   [View Source]   Sat, 06 Apr 2024 14:09:58 GMT
Update against GM 1.3.43 upstream.

pts/graphics-magick-2.1.0   [View Source]   Sun, 21 Aug 2022 19:45:46 GMT
Update against GraphicsMagick 1.3.38 upstream.

pts/graphics-magick-2.0.2   [View Source]   Fri, 11 Dec 2020 16:23:16 GMT
BSD fix.

pts/graphics-magick-2.0.1   [View Source]   Tue, 17 Sep 2019 16:28:32 GMT
Update dependency handling with now using a JPEG image input file rather than PNG.

pts/graphics-magick-2.0.0   [View Source]   Tue, 17 Sep 2019 15:39:02 GMT
Update against upstream 1.3.33. Also incorporate feedback from upstream GM over using MPC format. Also modernize the sample input image being used.

pts/graphics-magick-1.8.0   [View Source]   Sat, 28 Jul 2018 11:10:40 GMT
Update against latest upstream packages, add some new imaging tests.

pts/graphics-magick-1.7.0   [View Source]   Sun, 04 Mar 2018 12:18:00 GMT
Update against upstream GraphicsMagick 1.3.28, add Windows support.

pts/graphics-magick-1.6.1   [View Source]   Sat, 12 Apr 2014 10:56:37 GMT
Update download links against latest upstream sources...

pts/graphics-magick-1.6.0   [View Source]   Mon, 27 Jan 2014 21:47:34 GMT
Update against upstream GraphicsMagick and libpng.

pts/graphics-magick-1.5.1   [View Source]   Wed, 03 Oct 2012 23:43:42 GMT
Update against upstream GraphicsMagick 1.3.16.

pts/graphics-magick-1.4.1   [View Source]   Mon, 06 Dec 2010 14:51:56 GMT
Initial import into OpenBenchmarking.org

pts/graphics-magick-1.4.0   [View Source]   Mon, 06 Dec 2010 14:25:58 GMT
Initial import into OpenBenchmarking.org

Suites Using This Test

C/C++ Compiler Tests

Multi-Core

Imaging

CPU Massive

Creator Workloads


Performance Metrics

Analyze Test Configuration:

GraphicsMagick 1.3.33

Operation: Enhanced

OpenBenchmarking.org metrics for this test profile configuration based on 2,047 public results since 17 September 2019 with the latest data as of 1 August 2023.

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
Iterations Per Minute (Average)
100th
14
1451 +/- 15
100th
8
1324 +/- 22
96th
14
1048 +/- 22
93rd
7
895 +/- 23
93rd
6
882 +/- 14
89th
25
751 +/- 27
85th
12
627 +/- 50
83rd
12
569 +/- 23
82nd
12
534 +/- 1
80th
8
507 +/- 8
77th
17
428 +/- 19
Mid-Tier
75th
< 421
73rd
4
402 +/- 12
71st
16
381 +/- 9
71st
44
376 +/- 52
66th
11
330 +/- 3
64th
21
320 +/- 24
62nd
12
302 +/- 2
59th
7
276 +/- 18
57th
3
249 +/- 13
57th
6
246 +/- 2
56th
51
239 +/- 34
55th
12
227 +/- 11
54th
7
225 +/- 6
54th
5
220 +/- 6
52nd
4
208 +/- 18
51st
6
207 +/- 15
51st
3
207 +/- 1
51st
11
202 +/- 19
Median
50th
201
49th
9
195 +/- 1
48th
4
182 +/- 4
47th
6
173 +/- 1
44th
8
151 +/- 1
42nd
9
145 +/- 9
42nd
3
141 +/- 2
42nd
8
138 +/- 6
42nd
3
137 +/- 5
40th
11
128 +/- 19
39th
6
119 +/- 14
38th
4
116 +/- 2
38th
6
114 +/- 14
38th
18
113 +/- 10
38th
8
112 +/- 10
37th
7
103 +/- 12
36th
13
98 +/- 4
33rd
18
87 +/- 3
32nd
5
83 +/- 4
31st
3
77 +/- 1
30th
3
76 +/- 1
30th
14
74 +/- 9
29th
4
71 +/- 4
29th
3
71 +/- 1
28th
11
68 +/- 3
27th
19
63 +/- 6
27th
4
60 +/- 5
27th
5
59 +/- 3
26th
6
56 +/- 4
Low-Tier
25th
< 56
25th
7
53 +/- 1
23rd
3
50 +/- 2
22nd
3
43 +/- 2
22nd
3
43 +/- 1
21st
3
38 +/- 5
20th
7
34 +/- 4
20th
7
33 +/- 1
18th
3
29 +/- 1
13th
7
20 +/- 1
7th
4
11 +/- 1
OpenBenchmarking.orgDistribution Of Public Results - Operation: Enhanced2047 Results Range From 2 To 1521 Iterations Per Minute241801191581972362753143533924314705095485876266657047437828218608999389771016105510941133117212111250128913281367140614451484152390180270360450

Based on OpenBenchmarking.org data, the selected test / test configuration (GraphicsMagick 1.3.33 - Operation: Enhanced) 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 BenchmarkOperation: EnhancedRun-Time3691215Min: 2 / Avg: 3.04 / Max: 8

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

OpenBenchmarking.orgPercent, Fewer Is BetterAverage Deviation Between RunsOperation: EnhancedDeviation246810Min: 0 / Avg: 0.15 / Max: 5

Does It Scale Well With Increasing Cores?

Yes, based on the automated analysis of the collected public benchmark data, this test / test settings does 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.

IntelAMDOpenBenchmarking.orgRelative Core Scaling To BaseGraphicsMagick CPU Core ScalingOperation: Enhanced2468121618243248641283691215

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.
 
CVTSI2SD MULSD DIVSD CVTTSD2SI COMISD ADDSD SUBSD MOVAPD MINSD UCOMISD SQRTSD ANDPD CVTSS2SD CVTSD2SS XORPD CMPLTSD ANDNPD ORPD CMPNLESD MOVDQA MAXSD MOVD MOVDQU CMPNLTSD CMPLESD
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).

 
VINSERTF128 VZEROUPPER VEXTRACTF128 VBROADCASTSS VPERM2F128 VPERMILPD VBROADCASTSD VMASKMOVPS VPERMILPS
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).

 
VPBROADCASTD VPERMQ VEXTRACTI128 VPERM2I128 VINSERTI128 VPBROADCASTQ VPBROADCASTB VPERMPD VPERMD VPBLENDD VPSRLVD VPSLLVD VPBROADCASTW VGATHERQPD
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).

 
VFMADD213SD VFMADD132SD VFNMADD132SD VFMSUB132SD VFMADD231SD VFMADD132PD VFMADD231SS VFNMADD213SD VFNMSUB213SD VFMADD231PD VFMADD213PD VFMSUB231SD VFMSUB132PD VFNMADD231SD VFMSUB213SD VFMADD132SS VFMADD132PS
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: 6 April 2024

This test profile binary relies on the shared libraries libheif.so.1, libtiff.so.5, libjbig.so.0, libwebpmux.so.3, libwebp.so.7, libfreetype.so.6, libjpeg.so.8, liblcms2.so.2, libXext.so.6, libX11.so.6, libxml2.so.2, libzstd.so.1, libbz2.so.1.0, libz.so.1, libm.so.6, libgomp.so.1, libc.so.6, libaom.so.3, libde265.so.0, libx265.so.199, libdav1d.so.5, liblzma.so.5, libdeflate.so.0, libpng16.so.16, libbrotlidec.so.1, libxcb.so.1, libicuuc.so.70, libnuma.so.1, libbrotlicommon.so.1, libXau.so.6, libXdmcp.so.6, libicudata.so.70, libbsd.so.0, libmd.so.0.

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)
SPARC64
sparc64
(Many Processors)
IBM Z
s390x
(Many Processors)
RISC-V 64-bit
riscv64
SiFive RISC-V, rv64imafdc, rv64imafdcsu
IBM POWER (PowerPC) 64-bit
ppc64le
POWER9 4-Core, POWER9 44-Core
MIPS 64-bit
mips64
Loongson-3A R4
Intel / AMD x86 32-bit
i686
(Many Processors)
ARMv7 32-bit
armv7l
ARMv7 4-Core, ARMv7 Cortex-A15 8-Core, ARMv7 Cortex-A53 4-Core, ARMv7 Cortex-A72 4-Core
DEC Alpha
alpha
Alpha
ARMv8 64-bit
aarch64
ARMv8 Cortex-A53 4-Core, ARMv8 Cortex-A55 4-Core, ARMv8 Cortex-A57 4-Core, ARMv8 Cortex-A72 16-Core, ARMv8 Cortex-A72 4-Core, ARMv8 Cortex-A72 6-Core, ARMv8 Cortex-A73 6-Core, ARMv8 Neoverse-N1 32-Core, ARMv8 Neoverse-N1 64-Core, ARMv8 Neoverse-N1 8-Core, ARMv8 Neoverse-N1 80-Core, ARMv8 Neoverse-V1, ARMv8 rev 3 6-Core, Amlogic ARMv8 Cortex-A53 4-Core, Ampere Altra ARMv8 Neoverse-N1 160-Core, Ampere eMAG ARMv8 32-Core, Apple M1, Apple M2, HUAWEI Kunpeng 920 2249K, Phytium FT-2000, Rockchip ARMv8 Cortex-A53 4-Core, Rockchip ARMv8 Cortex-A76 8-Core