Differences

This shows you the differences between two versions of the page.

Link to this comparison view

gnucap:user:queuesandoptbypass [2015/12/11 15:39] (current)
Line 1: Line 1:
 +=== Queues and OPT::bypass ===
  
 +To improve speed GNucap solver uses device queues, most queues are activated when OPT::bypass is set to true.
 +
 +This section will create analysis  of how this is implemented.
 +
 +== No bypass (OPT::bypass==false) ==
 +
 +Looking at code of SIM::evaluate_models() - if (OPT::bypass==false) then 
 +only _late_evalq queue is used.
 +
 +  * first for all devices do_tr() is performed (no queues);
 +  * then - for devices in _late_evalq queue is executed method do_tr_last();
 +
 +
 +Same approach is used in TRANSIENT::sweep():
 +
 +  * for all devices is executed do_tr()
 +  * for _late_evalq is executed do_tr_last()
 +
 +_late_evalq itself is declared in u_sim_data.h
 +
 +elements can be added to _late_evalq are:
 +
 +  * d_cccs
 +  * d_ccvs
 +  * d_coil
 +
 +== bypass (OPT::bypass==true) ==
 +TBD
gnucap/user/queuesandoptbypass.txt · Last modified: 2015/12/11 15:39 (external edit)
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Run by Debian Driven by DokuWiki