summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/solver/nld_solver.cpp
diff options
context:
space:
mode:
author couriersud <couriersud@gmx.org>2017-01-12 22:23:08 +0100
committer couriersud <couriersud@gmx.org>2017-01-12 23:20:23 +0100
commit5cd17c361fe2def9ec99a2c95b54e01646f172c5 (patch)
tree32cf115917a072596c29ec812c78c7ef772de7bc /src/lib/netlist/solver/nld_solver.cpp
parentb1c358678964630c1282953c1a80407997eae203 (diff)
Fix seldom used conditional build options.
- Fixed OPENMP compile For congo bongo, using Solver.PARALLEL=1 significantly increases performance from 270% to 380%. However, this has to be taken with a grain of salt. Enabling this on predominantly logic netlists can severly kill performance. - Increased readability of timed queue code.
Diffstat (limited to 'src/lib/netlist/solver/nld_solver.cpp')
-rw-r--r--src/lib/netlist/solver/nld_solver.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/netlist/solver/nld_solver.cpp b/src/lib/netlist/solver/nld_solver.cpp
index a5c85ef8cc5..52cccfd8419 100644
--- a/src/lib/netlist/solver/nld_solver.cpp
+++ b/src/lib/netlist/solver/nld_solver.cpp
@@ -95,13 +95,13 @@ NETLIB_UPDATE(solver)
const std::size_t t_cnt = m_mat_solvers.size();
if (m_parallel())
{
- omp_set_num_threads(3);
+ //omp_set_num_threads(3);
//omp_set_dynamic(0);
#pragma omp parallel
{
#pragma omp for
for (int i = 0; i < t_cnt; i++)
- if (m_mat_solvers[i]->has_timestep_devices())
+ if (m_mat_solvers[i]->has_timestep_devices() || force_solve)
{
// Ignore return value
ATTR_UNUSED const netlist_time ts = m_mat_solvers[i]->solve();
@@ -110,7 +110,7 @@ NETLIB_UPDATE(solver)
}
else
for (int i = 0; i < t_cnt; i++)
- if (m_mat_solvers[i]->has_timestep_devices())
+ if (m_mat_solvers[i]->has_timestep_devices() || force_solve)
{
// Ignore return value
ATTR_UNUSED const netlist_time ts = m_mat_solvers[i]->solve();