Implementation notes: amd64, gpu, crypto_hash/essence512

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_hash
Primitive: essence512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
7695620265 3168 033765 3944 808gccgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082220190816
7933634615 3168 050222 3952 808gccgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019082220190816
8263520207 3168 033733 3944 808gccgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082220190816
8430825882 3168 038302 3952 808gccgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082220190816
8448025722 3168 038326 3952 808gccgcc_-m64_-O3_-fomit-frame-pointer2019082220190816
8603620207 3168 033733 3944 808gccgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019082220190816
8612022517 3168 035102 3952 808gccgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019082220190816
861689631 3168 019789 3944 808gccgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082220190816
8674425722 3168 038326 3952 808gccgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082220190816
873529367 3168 019605 3944 808gccgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019082220190816
8776427125 3168 039942 3952 808gccgcc_-march=k8_-O3_-fomit-frame-pointer2019082220190816
8801222509 3168 035182 3952 808gccgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019082220190816
8806835031 3168 050502 3952 808gccgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019082220190816
8815622509 3168 035182 3952 808gccgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019082220190816
8884832385 3168 047302 3952 808gccgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019082220190816
8932435031 3168 050502 3952 808gccgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019082220190816
9020820165 3168 033501 3944 808gccgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019082220190816
9086026054 3168 038278 3952 808gccgcc_-march=nocona_-O3_-fomit-frame-pointer2019082220190816
9089220165 3168 033501 3944 808gccgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019082220190816
9128020060 6336 020533 3944 808gccgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082220190816
9190420265 3168 033765 3944 808gccgcc_-funroll-loops_-O2_-fomit-frame-pointer2019082220190816
920769471 3168 019717 3944 808gccgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019082220190816
922389367 3168 019605 3944 808gccgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082220190816
9224025898 3168 038382 3952 808gccgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019082220190816
9249225537 3168 037990 3952 808gccgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019082220190816
9280433924 3168 048454 3952 808gccgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082220190816
9324034615 3168 050222 3952 808gccgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082220190816
9344117719 3168 032213 3936 1136gccclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082220190816
9348420265 3168 033765 3944 808gccgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019082220190816
9470432385 3168 047302 3952 808gccgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082220190816
9482853636 6336 039822 3952 808gccgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082220190816
953328306 3168 017553 3928 776gccgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019082220190816
9563219149 3168 032485 3944 808gccgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082220190816
962048091 3168 017313 3928 776gccgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082220190816
9660018875 3168 034045 3936 1136gccclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082220190816
9660032385 3168 047302 3952 808gccgcc_-funroll-loops_-O3_-fomit-frame-pointer2019082220190816
9758819149 3168 032485 3944 808gccgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019082220190816
9790819228 3168 032757 3944 808gccgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082220190816
9798822509 3168 035182 3952 808gccgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082220190816
9806419228 3168 032757 3944 808gccgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019082220190816
9877625722 3168 038326 3952 808gccgcc_-O3_-fomit-frame-pointer2019082220190816
9885610030 3168 020533 3944 808gccgcc_-march=barcelona_-O2_-fomit-frame-pointer2019082220190816
9941220036 3168 033093 3944 808gccgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082220190816
9941227125 3168 039942 3952 808gccgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019082220190816
9954817719 3168 032213 3936 1136gccclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082220190816
10033626818 3168 039822 3952 808gccgcc_-march=barcelona_-O3_-fomit-frame-pointer2019082220190816
10095625882 3168 038366 3952 808gccgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082220190816
10158026054 3168 038278 3952 808gccgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082220190816
1017849671 3168 019837 3944 808gccgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019082220190816
10261619571 3168 033029 3944 808gccgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019082220190816
1029089367 3168 019605 3944 808gccgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019082220190816
1031128106 3168 017329 3928 776gccgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019082220190816
10319218465 3168 036013 3936 752gccclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082220190816
10332019251 3168 032781 3944 808gccgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019082220190816
10382420036 3168 033093 3944 808gccgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019082220190816
1042688091 3168 017313 3928 776gccgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019082220190816
1047518222 3168 017473 3928 776gccgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019082220190816
1048808097 3168 017313 3928 776gccgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082220190816
1064808222 3168 017473 3928 776gccgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019082220190816
1070528181 3168 017409 3928 776gccgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019082220190816
10716033924 3168 048454 3952 808gccgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019082220190816
1078409566 3168 019749 3944 808gccgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019082220190816
1085369591 3168 019813 3944 808gccgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019082220190816
1086888222 3168 017473 3928 776gccgcc_-funroll-loops_-Os_-fomit-frame-pointer2019082220190816
1089009671 3168 019909 3944 808gccgcc_-m64_-O2_-fomit-frame-pointer2019082220190816
1089049566 3168 019749 3944 808gccgcc_-march=k8_-O2_-fomit-frame-pointer2019082220190816
1089929631 3168 019789 3944 808gccgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082220190816
1091608222 3168 017473 3928 776gccgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082220190816
11024018409 3168 034629 3936 752gccclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019082220190816
1111168854 3168 018941 3944 808gccgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019082220190816
1116408855 3168 018941 3944 808gccgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019082220190816
1116928097 3168 017313 3928 776gccgcc_-m64_-Os_-fomit-frame-pointer2019082220190816
1117888099 3168 017313 3928 776gccgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019082220190816
1121529671 3168 019909 3944 808gccgcc_-O2_-fomit-frame-pointer2019082220190816
11228019571 3168 033029 3944 808gccgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019082220190816
11243618465 3168 036013 3936 752gccclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082220190816
11310418465 3168 036013 3936 752gccclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082220190816
1132248097 3168 017313 3928 776gccgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019082220190816
11469218875 3168 034045 3936 1136gccclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019082220190816
11471219228 3168 032757 3944 808gccgcc_-funroll-loops_-O_-fomit-frame-pointer2019082220190816
1147248181 3168 017409 3928 776gccgcc_-march=k8_-Os_-fomit-frame-pointer2019082220190816
11508819251 3168 032781 3944 808gccgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019082220190816
1153288097 3168 017313 3928 776gccgcc_-march=barcelona_-Os_-fomit-frame-pointer2019082220190816
1158248854 3168 018941 3944 808gccgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019082220190816
1167969130 3168 019213 3944 808gccgcc_-m64_-O_-fomit-frame-pointer2019082220190816
1174208097 3168 017313 3928 776gccgcc_-Os_-fomit-frame-pointer2019082220190816
1174288222 3168 017473 3928 776gccgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082220190816
1175529139 3168 018989 3944 808gccgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082220190816
1178048306 3168 017553 3928 776gccgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019082220190816
11841616194 6336 017313 3928 776gccgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082220190816
1185569102 3168 019181 3944 808gccgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019082220190816
1193688854 3168 018941 3944 808gccgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082220190816
1195129671 3168 019909 3944 808gccgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082220190816
1196689081 3168 019165 3944 808gccgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019082220190816
1224528088 3168 017313 3928 776gccgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082220190816
12321617978 6336 019093 3944 808gccgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082220190816
1240288088 3168 017313 3928 776gccgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082220190816
1260888091 3168 017313 3928 776gccgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019082220190816
1265089171 3168 019317 3944 808gccgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019082220190816
1269569224 3168 019341 3944 808gccgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019082220190816
1270009130 3168 019213 3944 808gccgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082220190816
1270409102 3168 019181 3944 808gccgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082220190816
1276929139 3168 018989 3944 808gccgcc_-march=nocona_-O2_-fomit-frame-pointer2019082220190816
1290049224 3168 019341 3944 808gccgcc_-march=nocona_-O_-fomit-frame-pointer2019082220190816
1296049171 3168 019317 3944 808gccgcc_-march=k8_-O_-fomit-frame-pointer2019082220190816
1296448989 3168 019093 3944 808gccgcc_-march=barcelona_-O_-fomit-frame-pointer2019082220190816
1297689128 3168 019213 3944 808gccgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019082220190816
1338608217 3168 017457 3928 776gccgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019082220190816
1339569130 3168 019213 3944 808gccgcc_-O_-fomit-frame-pointer2019082220190816
1433488092 3168 017313 3928 776gccgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082220190816
1435808092 3168 017313 3928 776gccgcc_-march=nocona_-Os_-fomit-frame-pointer2019082220190816
1498528217 3168 017457 3928 776gccgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082220190816
39621621059 3168 032526 3936 768gccgcc_-funroll-loops2019082220190816
39716821059 3168 032526 3936 768gcccc2019082220190816
42017621059 3168 032526 3936 768gccgcc2019082220190816

Test failure

Implementation: gcc
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer gcc
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer gcc
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer gcc

Compiler output

Implementation: gcc
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
essence_L_tables.c: In file included from essence_L_tables.c:12:
essence_L_tables.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_L_tables.c: #ifndef _ESSENCE_API_H_
essence_L_tables.c: ^~~~~~~~~~~~~~~
essence_L_tables.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_L_tables.c: #define _ESSENCE_H_API_
essence_L_tables.c: ^~~~~~~~~~~~~~~
essence_L_tables.c: _ESSENCE_API_H_
essence_L_tables.c: 1 warning generated.
essence_api.c: In file included from essence_api.c:11:
essence_api.c: In file included from ./essence.h:11:
essence_api.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_api.c: #ifndef _ESSENCE_API_H_
essence_api.c: ^~~~~~~~~~~~~~~
essence_api.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_api.c: #define _ESSENCE_H_API_
essence_api.c: ^~~~~~~~~~~~~~~
essence_api.c: _ESSENCE_API_H_
essence_api.c: 1 warning generated.
essence_compress_256.c: In file included from essence_compress_256.c:11:
essence_compress_256.c: In file included from ./essence.h:11:
essence_compress_256.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_compress_256.c: #ifndef _ESSENCE_API_H_
essence_compress_256.c: ^~~~~~~~~~~~~~~
essence_compress_256.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_compress_256.c: #define _ESSENCE_H_API_
essence_compress_256.c: ^~~~~~~~~~~~~~~
essence_compress_256.c: _ESSENCE_API_H_
essence_compress_256.c: 1 warning generated.
essence_compress_256_dual.c: In file included from essence_compress_256_dual.c:11:
essence_compress_256_dual.c: In file included from ./essence.h:11:
essence_compress_256_dual.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_compress_256_dual.c: #ifndef _ESSENCE_API_H_
essence_compress_256_dual.c: ^~~~~~~~~~~~~~~
essence_compress_256_dual.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_compress_256_dual.c: #define _ESSENCE_H_API_
essence_compress_256_dual.c: ^~~~~~~~~~~~~~~
essence_compress_256_dual.c: _ESSENCE_API_H_
essence_compress_256_dual.c: 1 warning generated.
essence_compress_512.c: In file included from essence_compress_512.c:10:
essence_compress_512.c: In file included from ./essence.h:11:
essence_compress_512.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_compress_512.c: #ifndef _ESSENCE_API_H_
essence_compress_512.c: ^~~~~~~~~~~~~~~
essence_compress_512.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_compress_512.c: #define _ESSENCE_H_API_
essence_compress_512.c: ^~~~~~~~~~~~~~~
essence_compress_512.c: _ESSENCE_API_H_
essence_compress_512.c: 1 warning generated.
hash.c: In file included from hash.c:2:
hash.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
hash.c: #ifndef _ESSENCE_API_H_
hash.c: ^~~~~~~~~~~~~~~
hash.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
hash.c: #define _ESSENCE_H_API_
hash.c: ^~~~~~~~~~~~~~~
hash.c: _ESSENCE_API_H_
hash.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments gcc
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments gcc
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments gcc
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments gcc
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments gcc
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments gcc
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments gcc
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments gcc