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
|
||||
}
|
||||
|
||||
# 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 \
|
||||
thread \
|
||||
release
|
||||
|
|
|
@ -992,15 +992,6 @@ static CTimingMeas JitterMeas ( 1000, "test2.dat" ); JitterMeas.Measure(); // TE
|
|||
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++ )
|
||||
{
|
||||
int iClientFrameSizeSamples = 0; // initialize to avoid a compiler warning
|
||||
|
|
Loading…
Reference in a new issue