Explanation of Solver Options
Question: What it the difference between standard solver, advanced solver and multi-threaded solver?
Answer: Please see below.
Solver Options:
- Standard solver
- best for small problems
- utilizes only single core/CPU,
- provides full instability information (good to check if the model is unstable before running long analyses)
- Advanced solver
- default setting
- best for medium to large problems
- can utilize all cores/CPUs
- provides limited instability information
- Multi-threaded solver
- best for medium to large problems
- fully utilizes all cores/CPUs
- provides little to none instability information
Analysis Process Options:
- GUI process
- best for small problems
- Analysis runs within SAFE.exe
- the benefit is it does less disk operations (I/O)
- the drawback is SAFE.exe itself consumes memory, leaving less memory to analysis, slowing it down and preventing to run larger models
- Separate Process
- best for medium to large problems
- Analysis model is written to disk and read by csigo.exe(32bit systems) / csigo2.exe (64bit systems) and the analysis is run within csigo.exe/csigo2.exe.
- The benefit is that the analysis engine has access to more memory and larger problems can be solved & analysis runs faster.
- The drawback is that there's time lost to write & read the analysis model.
- Auto
- default setting
- The analysis estimates how much memory it will need and compares it to available physical ram. If enough ram is available, the analysis runs in GUI process. If not, it is shelled out to csigo.exe/csigo2.exe.
Other Options:
- Always run analysis as 32-bit
- Only applies to "Separate Process" (and "Auto" when it shells out the analysis). When running in "GUI Process", always the 32bit version of the analysis is used.
- On a 64bit system (64bit CPU & 64bit OS), by default, the analysis runs the 64bit version of itself when shelled out (csigo2.exe). If the user wants to run the 32bit version (csigo.exe), this option must be checked.
- 64bit version of the analysis is faster & can solve larger problems, so it is not advised to force 32bit unless there is a good reason.
Parallel Processing for Multiple Cores/CPUs
As of V14.1.0, multi-cores are used when factoring the stiffness matrix and solving the load vectors. This would occur during linear static analysis, Eigen and Ritz analysis, nonlinear static and direct-integration time-history, and influence-line analysis. Once the modes are found, modal time-history analysis currently uses a single core. Similarly, moving-load analysis uses a single core. Adding additional parallel processing capabilities for different parts of the program is planned for a future releases. See also parallel processing in Ritz vector analysis.
Solver