Help is available by moving the cursor above any
symbol or by checking MAQAO website.
- r0: run_1_thread
- r1: run_2_threads
- r2: run_4_threads
- r3: run_8_threads
- r4: run_16_threads
- r5: run_32_threads
- r6: run_48_threads
- r7: run_64_threads
- r8: run_80_threads
- r9: run_96_threads
| Metric | r0 | r1 | r2 | r3 | r4 | r5 | r6 | r7 | r8 | r9 |
|---|
| Total Time (s) | 89.65 | 51.11 | 29.59 | 18.24 | 13.67 | 10.57 | 9.54 | 9.09 | 8.88 | 8.72 |
| Max (Thread Active Time) (s) | 89.42 | 50.53 | 28.82 | 18.15 | 12.50 | 10.10 | 9.26 | 8.88 | 8.66 | 8.52 |
| Average Active Time (s) | 89.42 | 45.81 | 22.55 | 11.16 | 5.90 | 2.96 | 2.02 | 1.56 | 1.34 | 1.18 |
| Activity Ratio (%) | 99.7 | 89.6 | 76.2 | 61.2 | 43.2 | 28.0 | 21.2 | 17.2 | 15.1 | 13.6 |
| Average number of active threads | 0.997 | 1.793 | 3.048 | 4.897 | 6.906 | 8.948 | 10.162 | 10.997 | 12.052 | 13.025 |
| Affinity Stability (%) | 100.0 | 99.6 | 99.1 | 98.0 | 97.5 | 96.8 | 96.5 | 96.3 | 96.1 | 96.0 |
| GFLOPS | 3.732 | 6.718 | 11.438 | 18.486 | 26.334 | 34.698 | 39.244 | 44.300 | 49.091 | 52.982 |
| Time in analyzed loops (%) | 100.0 | 100.0 | 100.0 | 100.0 | 99.9 | 99.7 | 99.7 | 99.7 | 99.6 | 99.5 |
| Time in analyzed innermost loops (%) | 97.1 | 97.1 | 97.4 | 97.5 | 97.1 | 97.0 | 97.1 | 97.0 | 96.6 | 96.8 |
| Time in user code (%) | 100 | 100 | 100.0 | 100.0 | 99.9 | 99.8 | 99.7 | 99.7 | 99.6 | 99.5 |
| Compilation Options Score (%) | 75.0 | 75.0 | 75.0 | 75.0 | 75.0 | 75.0 | 75.0 | 75.0 | 75.0 | 75.0 |
| Array Access Efficiency (%) | 25.0 | 25.0 | 25.0 | 25.0 | 25.0 | 25.0 | 25.0 | 25.0 | 25.0 | 25.0 |
|
| Potential Speedups |  |
| Perfect Flow Complexity | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
| Perfect OpenMP + MPI + Pthread | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
| Perfect OpenMP + MPI + Pthread + Perfect Load Distribution | 1.00 | 1.10 | 1.28 | 1.63 | 2.12 | 3.42 | 4.60 | 5.71 | 6.50 | 7.23 |
| Scalability - Gap | 1.00 | 1.14 | 1.32 | 1.63 | 2.44 | 3.77 | 5.11 | 6.49 | 7.93 | 9.34 |
| No Scalar Integer | Potential Speedup | 3.06 | 3.06 | 3.08 | 3.08 | 3.07 | 3.07 | 3.08 | 3.08 | 3.06 | 3.09 |
| Nb Loops to get 80% | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| FP Vectorised | Potential Speedup | 1.63 | 1.63 | 1.64 | 1.64 | 1.64 | 1.63 | 1.64 | 1.64 | 1.64 | 1.64 |
| Nb Loops to get 80% | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| Fully Vectorised | Potential Speedup | 1.31 | 1.31 | 1.31 | 1.31 | 1.31 | 1.31 | 1.30 | 1.30 | 1.30 | 1.30 |
| Nb Loops to get 80% | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| Only FP Arithmetic | Potential Speedup | 2.32 | 2.31 | 2.32 | 2.33 | 2.31 | 2.31 | 2.31 | 2.31 | 2.29 | 2.30 |
| Nb Loops to get 80% | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| Source Object | Issue |
| ▼kmeans-gcc-O3-vectorize– | |
| ▼main.cpp– | |
| ○ | -funroll-loops is missing. |
| Source Object | Issue |
| ▼kmeans-gcc-O3-vectorize– | |
| ▼main.cpp– | |
| ○ | -funroll-loops is missing. |
| Source Object | Issue |
| ▼kmeans-gcc-O3-vectorize– | |
| ▼main.cpp– | |
| ○ | -funroll-loops is missing. |
| Source Object | Issue |
| ▼kmeans-gcc-O3-vectorize– | |
| ▼main.cpp– | |
| ○ | -funroll-loops is missing. |
| Source Object | Issue |
| ▼kmeans-gcc-O3-vectorize– | |
| ▼main.cpp– | |
| ○ | -funroll-loops is missing. |
| Source Object | Issue |
| ▼kmeans-gcc-O3-vectorize– | |
| ▼main.cpp– | |
| ○ | -funroll-loops is missing. |
| Source Object | Issue |
| ▼kmeans-gcc-O3-vectorize– | |
| ▼main.cpp– | |
| ○ | -funroll-loops is missing. |
| Source Object | Issue |
| ▼kmeans-gcc-O3-vectorize– | |
| ▼main.cpp– | |
| ○ | -funroll-loops is missing. |
| Source Object | Issue |
| ▼kmeans-gcc-O3-vectorize– | |
| ▼main.cpp– | |
| ○ | -funroll-loops is missing. |
| Source Object | Issue |
| ▼kmeans-gcc-O3-vectorize– | |
| ▼main.cpp– | |
| ○ | -funroll-loops is missing. |
| r0 | r1 | r2 | r3 | r4 | r5 | r6 | r7 | r8 | r9 |
| Experiment Name | K-Means scalability gcc-O3-vectorize 100000000 | K-Means scalability gcc-O3-vectorize 100000000 | K-Means scalability gcc-O3-vectorize 100000000 | K-Means scalability gcc-O3-vectorize 100000000 | K-Means scalability gcc-O3-vectorize 100000000 | K-Means scalability gcc-O3-vectorize 100000000 | K-Means scalability gcc-O3-vectorize 100000000 | K-Means scalability gcc-O3-vectorize 100000000 | K-Means scalability gcc-O3-vectorize 100000000 | K-Means scalability gcc-O3-vectorize 100000000 |
| Application | ./kmeans/kmeans-gcc-O3-vectorize | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| Timestamp | 2025-06-24 09:49:32 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| Experiment Type | Sequential | OpenMP; | same as r1 | same as r1 | same as r1 | same as r1 | same as r1 | same as r1 | same as r1 | same as r1 |
| Machine | ip-172-31-47-249.ec2.internal | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| Architecture | aarch64 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| Micro Architecture | ARM_NEOVERSE_V2 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| Model Name | | | | | | | | | | |
| Cache Size | | | | | | | | | | |
| Number of Cores | | | | | | | | | | |
| Maximal Frequency | 0 GHz | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| OS Version | Linux 6.1.109-118.189.amzn2023.aarch64 #1 SMP Tue Sep 10 08:58:40 UTC 2024 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| Architecture used during static analysis | aarch64 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| Micro Architecture used during static analysis | ARM_NEOVERSE_V2 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| Compilation Options |
kmeans-gcc-O3-vectorize: GNU C++14 14.2.0 -mlittle-endian -mabi=lp64 -mcpu=neoverse-v2+crc+sve2-aes+sve2-sha3+nossbs -g -O3 -std=c++14 -fno-omit-frame-pointer -fopenmp -ftree-vectorize | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| Number of processes observed | 1 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| Number of threads observed | 1 | 2 | 4 | 8 | 16 | 32 | 48 | 64 | 80 | 96 |
| Frequency Driver | NA | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| Frequency Governor | NA | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| Huge Pages | madvise | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| Hyperthreading | off | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| Number of sockets | 1 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| Number of cores per socket | 96 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| MAQAO version | 2025.1.0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| MAQAO build | 1cd8232d3b2009bc695f526f903b266bda9bb996::20250623-181852 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |
| Comments | AWS Graviton 4 (Neoverse V2) CPU, 1-96 threads runs | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 | same as r0 |