This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

An increase of cycles with optimization when using OpenMP



I measured cycles of project using OpenMP on TMDSEVM6678L. The project is 512sample convolution process.

At First, I measured cycles without optimization.The result is as follow.

1core
(without openMP)

84884856cycles
1core(using openMP) 84303228cycles
2cores(using openMP) 43867970cycles
3cores(using openMP) 33688320cycles
4cores(using openMP) 23475722cycles
5cores(using openMP) 23613656cycles
6cores(using openMP) 18571906cycles
7cores(using openMP) 18762366cycles
8cores(using openMP) 13808076cycles

This is the result of as expected.

Second, I set optimization level 3 and mt option. And I measured cycles.

1core
(without openMP)

2930930cycles
1core(using openMP) 6405540cycles
2cores(using openMP) 4941541cycles
3cores(using openMP) 4454739cycles
4cores(using openMP) 3990873cycles
5cores(using openMP) 4107885cycles
6cores(using openMP) 3954131cycles
7cores(using openMP) 4175821cycles
8cores(using openMP) 4055629cycles

My question is as follow.

1.Why do the cycles of 1core using openMP increase compared with 1core without openMP?

2.Why the cycles of multi core using openMP do not decrease? I expected that t cycles are reduced in accordance with the number of cores.

Many thanks.