remove the "multithreading" qmake CONFIG parameter since OMP does not work for the Jamulus server because of too much threading overhead
This commit is contained in:
parent
f67dbd1290
commit
73ad939352
2 changed files with 0 additions and 20 deletions
11
Jamulus.pro
11
Jamulus.pro
|
@ -6,17 +6,6 @@ contains(CONFIG, "noupcasename") {
|
||||||
TARGET = jamulus
|
TARGET = jamulus
|
||||||
}
|
}
|
||||||
|
|
||||||
# support multi-threading with OMP if requested
|
|
||||||
contains(CONFIG, "multithreading") {
|
|
||||||
unix {
|
|
||||||
message(The OpenMP multithreading is enabled.)
|
|
||||||
message(NOTE THAT THE OpenMP IMPLEMENTATION IS STILL EXPERIMENTAL AND MAY NOT BE STABLE.)
|
|
||||||
DEFINES += USE_OMP
|
|
||||||
QMAKE_CXXFLAGS += -fopenmp
|
|
||||||
QMAKE_LFLAGS += -fopenmp
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CONFIG += qt \
|
CONFIG += qt \
|
||||||
thread \
|
thread \
|
||||||
release
|
release
|
||||||
|
|
|
@ -992,15 +992,6 @@ static CTimingMeas JitterMeas ( 1000, "test2.dat" ); JitterMeas.Measure(); // TE
|
||||||
vecChannelLevels );
|
vecChannelLevels );
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef USE_OMP
|
|
||||||
// TODO This does not work as expected, the CPU is at high levels even if not much work is to be done. So we
|
|
||||||
// have an issue using OMP in the OnTimer() function. Even if #pragma omp parallel for is used on a trivial
|
|
||||||
// for loop for testing, still the CPU usage goes to very high values -> What is the cause of this issue?
|
|
||||||
// NOTE Most probably it is the overhead of threads creation/destruction which causes this effect.
|
|
||||||
// See https://software.intel.com/content/www/us/en/develop/articles/performance-obstacles-for-threading-how-do-they-affect-openmp-code.html
|
|
||||||
// "[...] overhead numbers are high enough that it doesn’t make sense to thread that code. In those cases, we’re better off leaving the code in its original serial form."
|
|
||||||
# pragma omp parallel for
|
|
||||||
#endif
|
|
||||||
for ( int i = 0; i < iNumClients; i++ )
|
for ( int i = 0; i < iNumClients; i++ )
|
||||||
{
|
{
|
||||||
int iClientFrameSizeSamples = 0; // initialize to avoid a compiler warning
|
int iClientFrameSizeSamples = 0; // initialize to avoid a compiler warning
|
||||||
|
|
Loading…
Add table
Reference in a new issue