Implementation notes: amd64, gpu, crypto_kem/ledakem33

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: ledakem33
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5601396? ? ?? ? ?portableoptgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019101020190816
5710146? ? ?? ? ?portableoptgcc_-funroll-loops_-O3_-fomit-frame-pointer2019101020190816
5726868? ? ?? ? ?portableoptgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019101020190816
5747922? ? ?? ? ?portableoptgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019101020190816
5810058? ? ?? ? ?portableoptgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019101020190816
5851272? ? ?? ? ?portableoptgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019101020190816
5900868? ? ?? ? ?portableoptgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019101020190816
5920479? ? ?? ? ?portableoptgcc_-m64_-O3_-fomit-frame-pointer2019101020190816
5922447? ? ?? ? ?portableoptgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019101020190816
5925585? ? ?? ? ?portableoptgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019101020190816
5951796? ? ?? ? ?portableoptgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019101020190816
5959974? ? ?? ? ?portableoptgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019101020190816
5996307? ? ?? ? ?portableoptgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019101020190816
6018546? ? ?? ? ?portableoptgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019101020190816
606942666721 0 0160208 776 1976portableoptclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019101020190816
6088863? ? ?? ? ?portableoptgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019101020190816
6116481? ? ?? ? ?portableoptgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019101020190816
6125745? ? ?? ? ?portableoptgcc_-march=k8_-O3_-fomit-frame-pointer2019101020190816
6127812? ? ?? ? ?portableoptgcc_-march=barcelona_-O3_-fomit-frame-pointer2019101020190816
6164328? ? ?? ? ?portableoptgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019101020190816
617168756788 0 0152064 776 1624portableoptclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019101020190816
6197148? ? ?? ? ?portableoptgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019101020190816
6220056? ? ?? ? ?portableoptgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019101020190816
622720856988 0 0153552 776 1624portableoptclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101020190816
6263976? ? ?? ? ?portableoptgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019101020190816
6273066? ? ?? ? ?portableoptgcc_-O3_-fomit-frame-pointer2019101020190816
6286398? ? ?? ? ?portableoptgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019101020190816
6296838? ? ?? ? ?portableoptgcc_-funroll-loops_-O2_-fomit-frame-pointer2019101020190816
634426256988 0 0153552 776 1624portableoptclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101020190816
6508473? ? ?? ? ?portableoptgcc_-funroll-loops_-O_-fomit-frame-pointer2019101020190816
6508482? ? ?? ? ?portableoptgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019101020190816
6566997? ? ?? ? ?portableoptgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019101020190816
6590883? ? ?? ? ?portableoptgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019101020190816
6628899? ? ?? ? ?portableoptgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019101020190816
6712680? ? ?? ? ?portableoptgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019101020190816
6740580? ? ?? ? ?portableoptgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019101020190816
675622556988 0 0153552 776 1624portableoptclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101020190816
6850020? ? ?? ? ?portableoptgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019101020190816
6880041? ? ?? ? ?portableoptgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019101020190816
6937152? ? ?? ? ?portableoptgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019101020190816
7062336? ? ?? ? ?portableoptgcc_-march=nocona_-O3_-fomit-frame-pointer2019101020190816
7207479? ? ?? ? ?portableoptgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019101020190816
7469022? ? ?? ? ?portableoptgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019101020190816
7510926? ? ?? ? ?portableoptgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019101020190816
7572453? ? ?? ? ?portableoptgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019101020190816
8007300? ? ?? ? ?portableoptgcc_-march=k8_-O2_-fomit-frame-pointer2019101020190816
8048853? ? ?? ? ?portableoptgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019101020190816
8129076? ? ?? ? ?portableoptgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019101020190816
8170029? ? ?? ? ?portableoptgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019101020190816
8172879? ? ?? ? ?portableoptgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019101020190816
8200725? ? ?? ? ?portableoptgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019101020190816
8213058? ? ?? ? ?portableoptgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019101020190816
8236284? ? ?? ? ?portableoptgcc_-march=barcelona_-O2_-fomit-frame-pointer2019101020190816
8277684? ? ?? ? ?portableoptgcc_-m64_-O2_-fomit-frame-pointer2019101020190816
8286915? ? ?? ? ?portableoptgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019101020190816
8328012? ? ?? ? ?portableoptgcc_-O2_-fomit-frame-pointer2019101020190816
8578323? ? ?? ? ?portableoptgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019101020190816
8644824? ? ?? ? ?portableoptgcc_-march=k8_-O_-fomit-frame-pointer2019101020190816
8690604? ? ?? ? ?portableoptgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019101020190816
8745453? ? ?? ? ?portableoptgcc_-march=barcelona_-O_-fomit-frame-pointer2019101020190816
8793633? ? ?? ? ?portableoptgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019101020190816
8816448? ? ?? ? ?portableoptgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019101020190816
8816454? ? ?? ? ?portableoptgcc_-m64_-O_-fomit-frame-pointer2019101020190816
8872578? ? ?? ? ?portableoptgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019101020190816
8881773? ? ?? ? ?portableoptgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019101020190816
8985996? ? ?? ? ?portableoptgcc_-O_-fomit-frame-pointer2019101020190816
8994699? ? ?? ? ?portableoptgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019101020190816
9130923? ? ?? ? ?portableoptgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019101020190816
9261369? ? ?? ? ?portableoptgcc_-march=nocona_-O2_-fomit-frame-pointer2019101020190816
9404367? ? ?? ? ?portableoptgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019101020190816
9426285? ? ?? ? ?portableoptgcc_-march=nocona_-O_-fomit-frame-pointer2019101020190816
9443202? ? ?? ? ?portableoptgcc_-m64_-Os_-fomit-frame-pointer2019101020190816
9469317? ? ?? ? ?portableoptgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019101020190816
9471030? ? ?? ? ?portableoptgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019101020190816
9492138? ? ?? ? ?portableoptgcc_-march=nocona_-Os_-fomit-frame-pointer2019101020190816
9553971? ? ?? ? ?portableoptgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019101020190816
9573834? ? ?? ? ?portableoptgcc_-march=barcelona_-Os_-fomit-frame-pointer2019101020190816
9584511? ? ?? ? ?portableoptgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019101020190816
9599985? ? ?? ? ?portableoptgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019101020190816
9605376? ? ?? ? ?portableoptgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019101020190816
9624447? ? ?? ? ?portableoptgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019101020190816
9660033? ? ?? ? ?portableoptgcc_-Os_-fomit-frame-pointer2019101020190816
9687156? ? ?? ? ?portableoptgcc_-march=k8_-Os_-fomit-frame-pointer2019101020190816
9699831? ? ?? ? ?portableoptgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019101020190816
9704493? ? ?? ? ?portableoptgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019101020190816
9714384? ? ?? ? ?portableoptgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019101020190816
9729831? ? ?? ? ?portableoptgcc_-funroll-loops_-Os_-fomit-frame-pointer2019101020190816
9778614? ? ?? ? ?portableoptgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019101020190816
9788313? ? ?? ? ?portableoptgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019101020190816
9922737? ? ?? ? ?portableoptgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019101020190816
9996168? ? ?? ? ?portableoptgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019101020190816
10039008? ? ?? ? ?portableoptgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019101020190816
10130376? ? ?? ? ?portableoptgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019101020190816
22545066? ? ?? ? ?portableoptgcc_-funroll-loops2019101020190816
22605885? ? ?? ? ?portableoptcc2019101020190816
22641435? ? ?? ? ?portableoptgcc2019101020190816

Test failure

Implementation: portableopt
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
error 111
crypto_kem_dec does not match k

Number of similar (compiler,implementation) pairs: 19, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments portableopt
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments portableopt
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments portableopt
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer portableopt
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer portableopt
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer portableopt
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer portableopt
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer portableopt
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer portableopt
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer portableopt
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer portableopt
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer portableopt
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer portableopt
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer portableopt
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer portableopt
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv portableopt
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv portableopt
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv portableopt
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv portableopt

Test failure

Implementation: portableopt
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 portableopt
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer portableopt
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer portableopt

Compiler output

Implementation: portableopt
Security model: unknown
Compiler: cc
measure.c: /usr/bin/ld: /home/z/supercop/supercop-20190816/supercop-data/gpu/amd64/lib/fastrandombytes.o: relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
measure.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
measure.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 87, namely:
CompilerImplementations
cc portableopt
gcc portableopt
gcc -O2 -fomit-frame-pointer portableopt
gcc -O3 -fomit-frame-pointer portableopt
gcc -O -fomit-frame-pointer portableopt
gcc -Os -fomit-frame-pointer portableopt
gcc -fno-schedule-insns -O2 -fomit-frame-pointer portableopt
gcc -fno-schedule-insns -O3 -fomit-frame-pointer portableopt
gcc -fno-schedule-insns -O -fomit-frame-pointer portableopt
gcc -fno-schedule-insns -Os -fomit-frame-pointer portableopt
gcc -funroll-loops portableopt
gcc -funroll-loops -O2 -fomit-frame-pointer portableopt
gcc -funroll-loops -O3 -fomit-frame-pointer portableopt
gcc -funroll-loops -O -fomit-frame-pointer portableopt
gcc -funroll-loops -Os -fomit-frame-pointer portableopt
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer portableopt
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer portableopt
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer portableopt
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer portableopt
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer portableopt
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer portableopt
gcc -funroll-loops -m64 -O -fomit-frame-pointer portableopt
gcc -funroll-loops -m64 -Os -fomit-frame-pointer portableopt
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer portableopt
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer portableopt
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer portableopt
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer portableopt
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer portableopt
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer portableopt
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer portableopt
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer portableopt
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer portableopt
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer portableopt
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer portableopt
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer portableopt
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer portableopt
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer portableopt
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer portableopt
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer portableopt
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer portableopt
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer portableopt
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer portableopt
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer portableopt
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer portableopt
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer portableopt
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer portableopt
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer portableopt
gcc -m64 -O2 -fomit-frame-pointer portableopt
gcc -m64 -O3 -fomit-frame-pointer portableopt
gcc -m64 -O -fomit-frame-pointer portableopt
gcc -m64 -Os -fomit-frame-pointer portableopt
gcc -m64 -march=core2 -O2 -fomit-frame-pointer portableopt
gcc -m64 -march=core2 -O3 -fomit-frame-pointer portableopt
gcc -m64 -march=core2 -O -fomit-frame-pointer portableopt
gcc -m64 -march=core2 -Os -fomit-frame-pointer portableopt
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer portableopt
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer portableopt
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer portableopt
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer portableopt
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer portableopt
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer portableopt
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer portableopt
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer portableopt
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer portableopt
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer portableopt
gcc -m64 -march=corei7 -O -fomit-frame-pointer portableopt
gcc -m64 -march=corei7 -Os -fomit-frame-pointer portableopt
gcc -m64 -march=k8 -O2 -fomit-frame-pointer portableopt
gcc -m64 -march=k8 -O3 -fomit-frame-pointer portableopt
gcc -m64 -march=k8 -O -fomit-frame-pointer portableopt
gcc -m64 -march=k8 -Os -fomit-frame-pointer portableopt
gcc -m64 -march=nocona -O2 -fomit-frame-pointer portableopt
gcc -m64 -march=nocona -O3 -fomit-frame-pointer portableopt
gcc -m64 -march=nocona -O -fomit-frame-pointer portableopt
gcc -m64 -march=nocona -Os -fomit-frame-pointer portableopt
gcc -march=barcelona -O2 -fomit-frame-pointer portableopt
gcc -march=barcelona -O3 -fomit-frame-pointer portableopt
gcc -march=barcelona -O -fomit-frame-pointer portableopt
gcc -march=barcelona -Os -fomit-frame-pointer portableopt
gcc -march=k8 -O2 -fomit-frame-pointer portableopt
gcc -march=k8 -O3 -fomit-frame-pointer portableopt
gcc -march=k8 -O -fomit-frame-pointer portableopt
gcc -march=k8 -Os -fomit-frame-pointer portableopt
gcc -march=nocona -O2 -fomit-frame-pointer portableopt
gcc -march=nocona -O3 -fomit-frame-pointer portableopt
gcc -march=nocona -O -fomit-frame-pointer portableopt
gcc -march=nocona -Os -fomit-frame-pointer portableopt

Compiler output

Implementation: portableopt
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
measure.c: /usr/bin/ld: /home/z/supercop/supercop-20190816/supercop-data/gpu/amd64/lib/fastrandombytes.o: relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
measure.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
measure.c: collect2: error: ld returned 1 exit status
measure.c: /usr/bin/ld: /home/z/supercop/supercop-20190816/supercop-data/gpu/amd64/lib/fastrandombytes.o: relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
measure.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
measure.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer portableopt
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer portableopt
gcc -m64 -march=barcelona -O -fomit-frame-pointer portableopt
gcc -m64 -march=barcelona -Os -fomit-frame-pointer portableopt