Fem: Set default CalculiX number of threads to Qt idealThreadCount
This commit is contained in:
@@ -301,10 +301,10 @@
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Set to zero to automatically use maximum number of available cores</string>
|
||||
<string>Number of threads used for analysis</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="prefEntry" stdset="0">
|
||||
<cstring>AnalysisNumCPUs</cstring>
|
||||
|
||||
@@ -45,9 +45,6 @@ DlgSettingsFemCcxImp::DlgSettingsFemCcxImp(QWidget* parent)
|
||||
// set ranges
|
||||
ui->dsb_ccx_analysis_time->setMaximum(FLOAT_MAX);
|
||||
ui->dsb_ccx_initial_time_step->setMaximum(FLOAT_MAX);
|
||||
// determine number of CPU cores
|
||||
int processor_count = QThread::idealThreadCount();
|
||||
ui->sb_ccx_numcpu->setMaximum(processor_count);
|
||||
|
||||
connect(ui->fc_ccx_binary_path,
|
||||
&Gui::PrefFileChooser::fileNameChanged,
|
||||
@@ -117,6 +114,11 @@ void DlgSettingsFemCcxImp::loadSettings()
|
||||
|
||||
ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath(
|
||||
"User parameter:BaseApp/Preferences/Mod/Fem/Ccx");
|
||||
|
||||
// determine number of CPU threads
|
||||
int processor_count = hGrp->GetInt("AnalysisNumCPUs", QThread::idealThreadCount());
|
||||
ui->sb_ccx_numcpu->setValue(processor_count);
|
||||
|
||||
int index = hGrp->GetInt("Solver", 0);
|
||||
if (index > -1) {
|
||||
ui->cmb_solver->setCurrentIndex(index);
|
||||
|
||||
@@ -381,11 +381,8 @@ class _TaskPanel:
|
||||
# Set up for multi-threading. Note: same functionality as ccx_tools.py/start_ccx()
|
||||
ccx_prefs = FreeCAD.ParamGet(self.PREFS_PATH)
|
||||
env = QtCore.QProcessEnvironment.systemEnvironment()
|
||||
num_cpu_pref = ccx_prefs.GetInt("AnalysisNumCPUs", 0)
|
||||
if num_cpu_pref >= 1:
|
||||
env.insert("OMP_NUM_THREADS", str(num_cpu_pref))
|
||||
else:
|
||||
env.insert("OMP_NUM_THREADS", str(QtCore.QThread.idealThreadCount()))
|
||||
num_cpu_pref = ccx_prefs.GetInt("AnalysisNumCPUs", QtCore.QThread.idealThreadCount())
|
||||
env.insert("OMP_NUM_THREADS", str(num_cpu_pref))
|
||||
self.Calculix.setProcessEnvironment(env)
|
||||
|
||||
self.cwd = QtCore.QDir.currentPath()
|
||||
|
||||
Reference in New Issue
Block a user