Help is available by moving the cursor above any
symbol or by checking MAQAO website.
- r0: G++ O3 + Vectorize + Funroll + Ffastmath
- r1: Clang++ O3 + Ffastmath
- r2: ICPX O3 + More Aggressive Flags
Metric | r0 | r1 | r2 |
---|
Total Time (s) | 18.73 | 20.74 | 18.44 |
Max (Thread Active Time) (s) | 17.92 | 20.70 | 18.37 |
Average Active Time (s) | 11.83 | 18.00 | 15.25 |
Activity Ratio (%) | 63.2 | 86.8 | 82.8 |
Average number of active threads | 6.315 | 8.680 | 8.272 |
Affinity Stability (%) | 98.6 | 99.4 | 99.3 |
GFLOPS | 40.297 | 30.362 | 34.154 |
Time in analyzed loops (%) | 98.3 | 75.9 | 70.8 |
Time in analyzed innermost loops (%) | 91.5 | 74.0 | 70.1 |
Time in user code (%) | 98.3 | 75.9 | 70.8 |
Compilation Options Score (%) | 100 | 16.7 | 100 |
Array Access Efficiency (%) | 40.0 | 96.2 | 40.0 |
|
Potential Speedups |  |
Perfect Flow Complexity | 3.34 | 1.00 | 2.17 |
Perfect OpenMP + MPI + Pthread | 1.01 | 1.00 | 1.04 |
Perfect OpenMP + MPI + Pthread + Perfect Load Distribution | 1.54 | 1.52 | 1.70 |
No Scalar Integer | Potential Speedup | 1.23 | 1.18 | 1.07 |
Nb Loops to get 80% | 2 | 1 | 1 |
FP Vectorised | Potential Speedup | 1.81 | 1.75 | 1.53 |
Nb Loops to get 80% | 1 | 1 | 1 |
Fully Vectorised | Potential Speedup | 5.42 | 2.96 | 2.44 |
Nb Loops to get 80% | 3 | 2 | 1 |
Only FP Arithmetic | Potential Speedup | 1.67 | 1.45 | 1.29 |
Nb Loops to get 80% | 2 | 1 | 2 |
Source Object | Issue |
▼kmeans-gcc-O3-all– | |
▼main.cpp– | |
○ | |
Source Object | Issue |
▼kmeans-clang-O3-ffast-math– | |
▼main.cpp– | |
○ | -g is missing for some functions (possibly ones added by the compiler), but debug locations are available. Some analysis may be inaccurate. |
○ | -O2, -O3 or -Ofast is missing. |
○ | -march=(target) is missing. |
Source Object | Issue |
▼kmeans-icpx-O3-aggressive– | |
▼main.cpp– | |
○ | |
| r0 | r1 | r2 |
Experiment Name | K-Means scalability gcc-O3-all 100000000 | K-Means scalability clang-O3-ffast-math 100000000 | K-Means scalability icpx-O3-aggressive 100000000 |
Application | ./kmeans/kmeans-gcc-O3-all | ./kmeans/kmeans-clang-O3-ffast-math | ./kmeans/kmeans-icpx-O3-aggressive |
Timestamp | 2025-06-25 14:08:03 | 2025-06-26 12:08:30 | 2025-06-25 14:19:27 |
Experiment Type | OpenMP; | same as r0 | same as r0 |
Machine | otterfall | same as r0 | same as r0 |
Architecture | x86_64 | same as r0 | same as r0 |
Micro Architecture | SKYLAKE | same as r0 | same as r0 |
Model Name | Intel(R) Xeon(R) Silver 4210R CPU @ 2.40GHz | same as r0 | same as r0 |
Cache Size | 14080 KB | same as r0 | same as r0 |
Number of Cores | 10 | same as r0 | same as r0 |
Maximal Frequency | 3.2 GHz | same as r0 | same as r0 |
OS Version | Linux 6.12.1-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 22 Nov 2024 16:04:27 +0000 | same as r0 | same as r0 |
Architecture used during static analysis | x86_64 | same as r0 | same as r0 |
Micro Architecture used during static analysis | SKYLAKE | same as r0 | same as r0 |
Compilation Options |
kmeans-gcc-O3-all: GNU C++14 15.1.1 20250425 -march=cascadelake -mmmx -mpopcnt -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -mno-sse4a -mno-fma4 -mno-xop -mfma -mavx512f -mbmi -mbmi2 -maes -mpclmul -mavx512vl -mavx512bw -mavx512dq -mavx512cd -mno-avx512vbmi -mno-avx512ifma -mno-avx512vpopcntdq -mno-avx512vbmi2 -mno-gfni -mno-vpclmulqdq -mavx512vnni -mno-avx512bitalg -mno-avx512bf16 -mno-avx512vp2intersect -mno-3dnow -madx -mabm -mno-cldemote -mclflushopt -mclwb -mno-clzero -mcx16 -mno-enqcmd -mf16c -mfsgsbase -mfxsr -mno-hle -msahf -mno-lwp -mlzcnt -mmovbe -mno-movdir64b -mno-movdiri -mno-mwaitx -mno-pconfig -mpku -mprfchw -mno-ptwrite -mno-rdpid -mrdrnd -mrdseed -mno-rtm -mno-serialize -mno-sgx -mno-sha -mno-shstk -mno-tbm -mno-tsxldtrk -mno-vaes -mno-waitpkg -mno-wbnoinvd -mxsave -mxsavec -mxsaveopt -mxsaves -mno-amx-tile -mno-amx-int8 -mno-amx-bf16 -mno-uintr -mno-hreset -mno-kl -mno-widekl -mno-avxvnni -mno-avx512fp16 -mno-avxifma -mno-avxvnniint8 -mno-avxneconvert -mno-cmpccxadd -mno-amx-fp16 -mno-prefetchi -mno-raoint -mno-amx-complex -mno-avxvnniint16 -mno-sm3 -mno-sha512 -mno-sm4 -mno-apxf -mno-usermsr -mno-avx10.2 -mno-amx-avx512 -mno-amx-tf32 -mno-amx-transpose -mno-amx-fp8 -mno-movrs -mno-amx-movrs --param=l1-cache-size=32 --param=l1-cache-line-size=64 --param=l2-cache-size=14080 -mtune=cascadelake -g -O3 -std=c++14 -fno-omit-frame-pointer -fopenmp -ftree-vectorize -funroll-loops -ffast-math | kmeans-clang-O3-ffast-math: clang version 20.1.6 | kmeans-icpx-O3-aggressive: clang based Intel(R) oneAPI DPC++/C++ Compiler 2024.2.1 (2024.2.1.20240711) --driver-mode=g++ --intel -I . -MMD -MP -march=native -std=c++14 -g -fno-omit-frame-pointer -fiopenmp -O3 -x Host -funroll-loops -ffast-math -c -o main.o main.cpp -fveclib=SVML -faltmathlib=SVML -fheinous-gnu-extensions |
Number of processes observed | 1 | same as r0 | same as r0 |
Number of threads observed | 10 | same as r0 | same as r0 |
Frequency Driver | intel_pstate | same as r0 | same as r0 |
Frequency Governor | performance | same as r0 | same as r0 |
Huge Pages | always | same as r0 | same as r0 |
Hyperthreading | off | same as r0 | same as r0 |
Number of sockets | 1 | same as r0 | same as r0 |
Number of cores per socket | 10 | same as r0 | same as r0 |
MAQAO version | 2025.1.0 | same as r0 | same as r0 |
MAQAO build | 1cd8232d3b2009bc695f526f903b266bda9bb996::20250623-181852 | same as r0 | same as r0 |
Comments | Intel Xeon 42104R (Cascade Lake CPU), 1-10 threads runs | same as r0 | same as r0 |