Perfect OpenMP + MPI + Pthread + Perfect Load Distribution
1.00
1.06
1.17
1.41
1.83
2.71
3.57
4.10
Scalability - Gap
1.00
1.25
1.76
2.80
4.87
9.12
17.73
35.40
No Scalar Integer
Potential Speedup
1.07
1.09
1.09
1.09
1.09
1.09
1.07
1.04
Nb Loops to get 80%
9
9
9
9
9
8
8
8
FP Vectorised
Potential Speedup
1.03
1.03
1.03
1.03
1.03
1.02
1.02
1.01
Nb Loops to get 80%
4
4
4
4
4
4
4
4
Fully Vectorised
Potential Speedup
1.50
1.54
1.55
1.56
1.56
1.54
1.44
1.26
Nb Loops to get 80%
24
25
25
26
25
24
21
20
Only FP Arithmetic
Potential Speedup
1.20
1.22
1.22
1.23
1.23
1.22
1.16
1.11
Nb Loops to get 80%
22
22
23
23
23
22
21
20
Scalability Speedup
Cumulated Speedup If No Scalar Integer
Cumulated Speedup If FP Vectorized
Cumulated Speedup If Fully Vectorized
Cumulated Speedup If Only FP Arithmetic
Loop Based Profiles
Innermost / Single Loops
Inbetween Loops
Outermost Loops
Cumulated Coverage With All Loops
Innermost Loop Based Profiles
Coverage
Count
Application Categorization
Time
Coverage
Compilation Options
Source Object
Issue
▼libasolve_test_helpers.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼[vdso]–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼libfinite_elements.so–
▼GeneralMatrixMatrix.h–
○
▼InverseImpl.h–
○
▼element_U.tpp–
○
▼TensorDeviceDefault.h–
○
▼TensorMap.h–
○
▼AssignEvaluator.h–
○
▼GeneralProduct.h–
○
▼Matrix.h–
○
▼generic_elements.hpp–
○
▼GeneralBlockPanelKernel.h–
○
▼stl_vector.h–
○
▼GeneralMatrixVector.h–
○
▼material_brick.hpp–
○
▼MapBase.h–
○
▼PlainObjectBase.h–
○
▼libmesh.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼libdofs.so–
▼dof.cpp–
○
▼dof_list.cpp–
○
▼MapBase.h–
○
▼stl_vector.h–
○
▼multithreading_assembly_perf_test–
▼basic_string.tcc–
○
▼parallel_for.h–
○
▼enumerable_thread_specific.h–
○
▼assembler.hpp–
○
▼sparse_matrix_utilities.hpp–
○
▼partitioner.h–
○
▼finite_elements.hpp–
○
▼stl_iterator.h–
○
▼multithreading_assembly_perf_test.cpp–
○
▼vector.tcc–
○
▼basic_string.h–
○
▼sparse_matrix.hpp–
○
▼libfe_space.so–
▼stl_tree.h–
○
▼libproblem.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
Source Object
Issue
▼libasolve_test_helpers.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼[vdso]–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼libfinite_elements.so–
▼GeneralMatrixMatrix.h–
○
▼InverseImpl.h–
○
▼element_U.tpp–
○
▼TensorDeviceDefault.h–
○
▼TensorMap.h–
○
▼AssignEvaluator.h–
○
▼GeneralProduct.h–
○
▼Matrix.h–
○
▼generic_elements.hpp–
○
▼GeneralBlockPanelKernel.h–
○
▼stl_vector.h–
○
▼GeneralMatrixVector.h–
○
▼material_brick.hpp–
○
▼MapBase.h–
○
▼PlainObjectBase.h–
○
▼libmesh.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼libdofs.so–
▼dof.cpp–
○
▼dof_list.cpp–
○
▼MapBase.h–
○
▼stl_vector.h–
○
▼multithreading_assembly_perf_test–
▼basic_string.tcc–
○
▼parallel_for.h–
○
▼enumerable_thread_specific.h–
○
▼assembler.hpp–
○
▼sparse_matrix_utilities.hpp–
○
▼partitioner.h–
○
▼finite_elements.hpp–
○
▼stl_iterator.h–
○
▼multithreading_assembly_perf_test.cpp–
○
▼vector.tcc–
○
▼basic_string.h–
○
▼sparse_matrix.hpp–
○
▼libfe_space.so–
▼stl_tree.h–
○
▼libproblem.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
Source Object
Issue
▼libasolve_test_helpers.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼[vdso]–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼libfinite_elements.so–
▼GeneralMatrixMatrix.h–
○
▼InverseImpl.h–
○
▼element_U.tpp–
○
▼TensorDeviceDefault.h–
○
▼TensorMap.h–
○
▼AssignEvaluator.h–
○
▼GeneralProduct.h–
○
▼Matrix.h–
○
▼generic_elements.hpp–
○
▼GeneralBlockPanelKernel.h–
○
▼stl_vector.h–
○
▼GeneralMatrixVector.h–
○
▼material_brick.hpp–
○
▼MapBase.h–
○
▼PlainObjectBase.h–
○
▼libmesh.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼libdofs.so–
▼dof.cpp–
○
▼dof_list.cpp–
○
▼MapBase.h–
○
▼stl_vector.h–
○
▼multithreading_assembly_perf_test–
▼basic_string.tcc–
○
▼parallel_for.h–
○
▼enumerable_thread_specific.h–
○
▼assembler.hpp–
○
▼sparse_matrix_utilities.hpp–
○
▼partitioner.h–
○
▼finite_elements.hpp–
○
▼stl_iterator.h–
○
▼multithreading_assembly_perf_test.cpp–
○
▼vector.tcc–
○
▼basic_string.h–
○
▼sparse_matrix.hpp–
○
▼libfe_space.so–
▼stl_tree.h–
○
▼libproblem.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
Source Object
Issue
▼libasolve_test_helpers.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼[vdso]–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼libfinite_elements.so–
▼GeneralMatrixMatrix.h–
○
▼InverseImpl.h–
○
▼element_U.tpp–
○
▼TensorDeviceDefault.h–
○
▼TensorMap.h–
○
▼AssignEvaluator.h–
○
▼GeneralProduct.h–
○
▼Matrix.h–
○
▼generic_elements.hpp–
○
▼GeneralBlockPanelKernel.h–
○
▼stl_vector.h–
○
▼GeneralMatrixVector.h–
○
▼material_brick.hpp–
○
▼MapBase.h–
○
▼PlainObjectBase.h–
○
▼libmesh.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼libdofs.so–
▼dof.cpp–
○
▼dof_list.cpp–
○
▼MapBase.h–
○
▼stl_vector.h–
○
▼multithreading_assembly_perf_test–
▼basic_string.tcc–
○
▼parallel_for.h–
○
▼enumerable_thread_specific.h–
○
▼assembler.hpp–
○
▼sparse_matrix_utilities.hpp–
○
▼partitioner.h–
○
▼finite_elements.hpp–
○
▼stl_iterator.h–
○
▼multithreading_assembly_perf_test.cpp–
○
▼vector.tcc–
○
▼basic_string.h–
○
▼sparse_matrix.hpp–
○
▼libfe_space.so–
▼stl_tree.h–
○
▼libproblem.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
Source Object
Issue
▼libasolve_test_helpers.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼[vdso]–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼libfinite_elements.so–
▼GeneralMatrixMatrix.h–
○
▼InverseImpl.h–
○
▼element_U.tpp–
○
▼TensorDeviceDefault.h–
○
▼TensorMap.h–
○
▼AssignEvaluator.h–
○
▼GeneralProduct.h–
○
▼Matrix.h–
○
▼generic_elements.hpp–
○
▼GeneralBlockPanelKernel.h–
○
▼stl_vector.h–
○
▼GeneralMatrixVector.h–
○
▼material_brick.hpp–
○
▼MapBase.h–
○
▼PlainObjectBase.h–
○
▼libmesh.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼libdofs.so–
▼dof.cpp–
○
▼dof_list.cpp–
○
▼MapBase.h–
○
▼stl_vector.h–
○
▼multithreading_assembly_perf_test–
▼basic_string.tcc–
○
▼parallel_for.h–
○
▼enumerable_thread_specific.h–
○
▼assembler.hpp–
○
▼sparse_matrix_utilities.hpp–
○
▼partitioner.h–
○
▼finite_elements.hpp–
○
▼stl_iterator.h–
○
▼multithreading_assembly_perf_test.cpp–
○
▼vector.tcc–
○
▼basic_string.h–
○
▼sparse_matrix.hpp–
○
▼libfe_space.so–
▼stl_tree.h–
○
▼libproblem.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
Source Object
Issue
▼libasolve_test_helpers.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼[vdso]–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼libfinite_elements.so–
▼GeneralMatrixMatrix.h–
○
▼InverseImpl.h–
○
▼element_U.tpp–
○
▼TensorDeviceDefault.h–
○
▼TensorMap.h–
○
▼AssignEvaluator.h–
○
▼GeneralProduct.h–
○
▼Matrix.h–
○
▼generic_elements.hpp–
○
▼GeneralBlockPanelKernel.h–
○
▼stl_vector.h–
○
▼GeneralMatrixVector.h–
○
▼material_brick.hpp–
○
▼MapBase.h–
○
▼PlainObjectBase.h–
○
▼libmesh.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼libdofs.so–
▼dof.cpp–
○
▼dof_list.cpp–
○
▼MapBase.h–
○
▼stl_vector.h–
○
▼multithreading_assembly_perf_test–
▼basic_string.tcc–
○
▼parallel_for.h–
○
▼enumerable_thread_specific.h–
○
▼assembler.hpp–
○
▼sparse_matrix_utilities.hpp–
○
▼partitioner.h–
○
▼finite_elements.hpp–
○
▼stl_iterator.h–
○
▼multithreading_assembly_perf_test.cpp–
○
▼vector.tcc–
○
▼basic_string.h–
○
▼sparse_matrix.hpp–
○
▼libfe_space.so–
▼stl_tree.h–
○
▼libproblem.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
Source Object
Issue
▼libasolve_test_helpers.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼[vdso]–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼libfinite_elements.so–
▼GeneralMatrixMatrix.h–
○
▼InverseImpl.h–
○
▼element_U.tpp–
○
▼TensorDeviceDefault.h–
○
▼TensorMap.h–
○
▼AssignEvaluator.h–
○
▼GeneralProduct.h–
○
▼Matrix.h–
○
▼generic_elements.hpp–
○
▼GeneralBlockPanelKernel.h–
○
▼stl_vector.h–
○
▼GeneralMatrixVector.h–
○
▼material_brick.hpp–
○
▼MapBase.h–
○
▼PlainObjectBase.h–
○
▼libmesh.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼libdofs.so–
▼dof.cpp–
○
▼dof_list.cpp–
○
▼MapBase.h–
○
▼stl_vector.h–
○
▼multithreading_assembly_perf_test–
▼basic_string.tcc–
○
▼parallel_for.h–
○
▼enumerable_thread_specific.h–
○
▼assembler.hpp–
○
▼sparse_matrix_utilities.hpp–
○
▼partitioner.h–
○
▼finite_elements.hpp–
○
▼stl_iterator.h–
○
▼multithreading_assembly_perf_test.cpp–
○
▼vector.tcc–
○
▼basic_string.h–
○
▼sparse_matrix.hpp–
○
▼libfe_space.so–
▼stl_tree.h–
○
▼libproblem.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
Source Object
Issue
▼libasolve_test_helpers.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼[vdso]–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼libfinite_elements.so–
▼GeneralMatrixMatrix.h–
○
▼InverseImpl.h–
○
▼element_U.tpp–
○
▼TensorDeviceDefault.h–
○
▼TensorMap.h–
○
▼AssignEvaluator.h–
○
▼GeneralProduct.h–
○
▼Matrix.h–
○
▼generic_elements.hpp–
○
▼GeneralBlockPanelKernel.h–
○
▼stl_vector.h–
○
▼GeneralMatrixVector.h–
○
▼material_brick.hpp–
○
▼MapBase.h–
○
▼PlainObjectBase.h–
○
▼libmesh.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
▼libdofs.so–
▼dof.cpp–
○
▼dof_list.cpp–
○
▼MapBase.h–
○
▼stl_vector.h–
○
▼multithreading_assembly_perf_test–
▼basic_string.tcc–
○
▼parallel_for.h–
○
▼enumerable_thread_specific.h–
○
▼assembler.hpp–
○
▼sparse_matrix_utilities.hpp–
○
▼partitioner.h–
○
▼finite_elements.hpp–
○
▼stl_iterator.h–
○
▼multithreading_assembly_perf_test.cpp–
○
▼vector.tcc–
○
▼basic_string.h–
○
▼sparse_matrix.hpp–
○
▼libfe_space.so–
▼stl_tree.h–
○
▼libproblem.so–
▼–
○
-g is missing for some functions (possibly ones added by the compiler), it is needed to have more accurate reports. Other recommended flags are: -O2/-O3, -march=(target)
○
-O2, -O3 or -Ofast is missing.
○
-march=(target) is missing.
Path Count Profiles
Coverage
Count
Low Iteration Count Profiles
Coverage
Count
Average Number of Active Threads
Run 1 - tbb_1
Run 2 - tbb_2
Run 3 - tbb_4
Run 4 - tbb_8
Run 5 - tbb_16
Run 6 - tbb_32
Run 7 - tbb_64
Run 8 - tbb_128
Experiment Summaries
r0
r1
r2
r3
r4
r5
r6
r7
Application
./multithreading_assembly_perf_test
same as r0
same as r0
same as r0
same as r0
same as r0
same as r0
same as r0
Timestamp
2025-06-10 15:51:27
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
Machine
be-seq022
same as r0
same as r0
same as r0
same as r0
same as r0
same as r0
same as r0
Architecture
x86_64
same as r0
same as r0
same as r0
same as r0
same as r0
same as r0
same as r0
Micro Architecture
ZEN_V4
same as r0
same as r0
same as r0
same as r0
same as r0
same as r0
same as r0
Model Name
AMD EPYC 9534 64-Core Processor
same as r0
same as r0
same as r0
same as r0
same as r0
same as r0
same as r0
Cache Size
1024 KB
same as r0
same as r0
same as r0
same as r0
same as r0
same as r0
same as r0
Number of Cores
64
same as r0
same as r0
same as r0
same as r0
same as r0
same as r0
same as r0
Maximal Frequency
3.718066 GHz
same as r0
same as r0
same as r0
same as r0
same as r0
same as r0
same as r0
OS Version
Linux 4.18.0-477.10.1.el8_8.x86_64 #1 SMP Wed Apr 5 13:35:01 EDT 2023