|
发表于 2017-1-13 10:30:43
|
显示全部楼层
Sorry for English reply. Hope this helps!
Problem: sdevice only use 1 CPU.
Solution: 2 steps to fix the problem!
1. I use the ParDiSo (direct solver) because I know it can use all CPU. I have not tried SUPER or ILS solvers, so I do not know if they work the same way. To force sdevice to use ParDiSo, put these lines in Math{} section of your sdevice command file:
Math{
Method = Blocked
SubMethod = ParDiSo
}
2. Add these environment variables to your ./.bashrc (shell startup) script:
SDEVICE_NUMBER_OF_SOLVER_THREADS=maximum
export SDEVICE_NUMBER_OF_SOLVER_THREADS
SDEVICE_NUMBER_OF_THREADS=maximum
export SDEVICE_NUMBER_OF_THREADS
SNPS_NUMBER_OF_THREADS=maximum
export SNPS_NUMBER_OF_THREADS
You can use an integer value (1,2,3,...) instead of 'maximum' if you do not want all CPU assigned to sdevice. When I start swb from a terminal window, sde and snmesh still run on 1 CPU, but when sdevice starts, it uses all 8 CPU on my system. |
|