10-14-2010, 04:16 PM
Hi,
I believe version 10 didn't support multi-threading.
As of v14, SAP2000 can use many processors/cores, even all processes avaliable, quoting from wiki.csiberkeley.com
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 future releases.
Parallel Processing in Ritz Vector Analysis
Prior to beginning Ritz analysis, the stiffness matrix is factored, and that uses multiple cores. During Ritz analysis, there are four main operations: (1) Solving for new vectors, (2) Cleaning new vectors with respect to previous vectors, (3) Orthogonalizing the final Ritz vector set, and (4) Postprocessing and saving the vectors. Only the first step uses multi-cores. This step dominates for problems where the model is large and a fair number of vectors are requested. Steps (2) and (3) are not parallelized, and they dominate as the number of vectors is increased. Step (4) is linear in time with the number of vectors. When large number is Ritz vectors is being requested, steps (2) and (3) will dominate, and will increase exponentially with more vectors.
However, the usual intention for using Ritz or eigen vectors is that they reduce the number of degrees of freedom in the system, so that the essential behavior can be captured more efficiently. If you need much more than about 20 to 25% of the DOF as Ritz vectors, you may want to consider direct-integration.
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
o best for small problems
o utilizes only single core/CPU,
o provides full instability information (good to check if the model is unstable before running long analyses)
* Advanced solver
o default setting
o best for medium to large problems
o can utilize all cores/CPUs
o provides limited instability information
* Multi-threaded solver
o best for medium to large problems
o fully utilizes all cores/CPUs
o provides little to none instability information
Analysis Process Options:
* GUI process
o best for small problems
o Analysis runs within the program (such as SAFE.exe)
o the benefit is it does less disk operations (I/O)
o the drawback is the program itself (such as SAFE.exe) consumes memory, leaving less memory to analysis, slowing it down and preventing to run larger models
* Separate Process
o best for medium to large problems
o 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.
o The benefit is that the analysis engine has access to more memory and larger problems can be solved & analysis runs faster.
o The drawback is that there's time lost to write & read the analysis model.
* Auto
o default setting
o 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
o 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.
o 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.
o 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.
I believe version 10 didn't support multi-threading.
As of v14, SAP2000 can use many processors/cores, even all processes avaliable, quoting from wiki.csiberkeley.com
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 future releases.
Parallel Processing in Ritz Vector Analysis
Prior to beginning Ritz analysis, the stiffness matrix is factored, and that uses multiple cores. During Ritz analysis, there are four main operations: (1) Solving for new vectors, (2) Cleaning new vectors with respect to previous vectors, (3) Orthogonalizing the final Ritz vector set, and (4) Postprocessing and saving the vectors. Only the first step uses multi-cores. This step dominates for problems where the model is large and a fair number of vectors are requested. Steps (2) and (3) are not parallelized, and they dominate as the number of vectors is increased. Step (4) is linear in time with the number of vectors. When large number is Ritz vectors is being requested, steps (2) and (3) will dominate, and will increase exponentially with more vectors.
However, the usual intention for using Ritz or eigen vectors is that they reduce the number of degrees of freedom in the system, so that the essential behavior can be captured more efficiently. If you need much more than about 20 to 25% of the DOF as Ritz vectors, you may want to consider direct-integration.
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
o best for small problems
o utilizes only single core/CPU,
o provides full instability information (good to check if the model is unstable before running long analyses)
* Advanced solver
o default setting
o best for medium to large problems
o can utilize all cores/CPUs
o provides limited instability information
* Multi-threaded solver
o best for medium to large problems
o fully utilizes all cores/CPUs
o provides little to none instability information
Analysis Process Options:
* GUI process
o best for small problems
o Analysis runs within the program (such as SAFE.exe)
o the benefit is it does less disk operations (I/O)
o the drawback is the program itself (such as SAFE.exe) consumes memory, leaving less memory to analysis, slowing it down and preventing to run larger models
* Separate Process
o best for medium to large problems
o 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.
o The benefit is that the analysis engine has access to more memory and larger problems can be solved & analysis runs faster.
o The drawback is that there's time lost to write & read the analysis model.
* Auto
o default setting
o 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
o 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.
o 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.
o 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.