mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2026-06-08 17:04:41 -04:00
Use the OpenMp parallel decoding jt9 in WSJT-X
The temporary development version of jt9 called jt9_omp is now the default jt9. This means that parallel decoding of JT65 and JT9 is the default on platforms that support OpenMP. If parallel decoding is not required or desired, it can be constrained by setting the environment variable OMP_THREAD_LIMIT=1. In dual mode operating this will deliver all decodes of the current mode before any decodes of the other with the potential impact of taking up to twice as long to finish decoding. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4960 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
+13
-3
@@ -374,9 +374,19 @@ MainWindow::MainWindow(bool multiple, QSettings * settings, QSharedMemory *shdme
|
||||
QFile {m_config.temp_dir ().absoluteFilePath (".lock")}.open(QIODevice::ReadWrite);
|
||||
|
||||
QStringList jt9_args {
|
||||
"-s", QApplication::applicationName ()
|
||||
, "-w", "1" //FFTW patience
|
||||
, "-m", "1" //FFTW threads
|
||||
"-s", QApplication::applicationName () // shared memory key,
|
||||
// includes rig-name
|
||||
|
||||
, "-w", "2" //FFTW patience
|
||||
|
||||
// The number of threads for FFTW specified here is chosen as
|
||||
// three because that gives the best throughput of the large
|
||||
// FFTs used in jt9. The count is the minimum of (the number
|
||||
// available CPU threads less one) and three. This ensures that
|
||||
// there is always at least one free CPU thread to run the other
|
||||
// mode decoder in parallel.
|
||||
, "-m", QString::number (qMin (qMax (QThread::idealThreadCount () - 1, 1), 3)) //FFTW threads
|
||||
|
||||
, "-e", QDir::toNativeSeparators (m_appDir)
|
||||
, "-a", QDir::toNativeSeparators (m_dataDir.absolutePath ())
|
||||
, "-t", QDir::toNativeSeparators (m_config.temp_dir ().absolutePath ())
|
||||
|
||||
Reference in New Issue
Block a user