I am running Creo Parametric/Simulate 3.0 M070. We recently upgraded our PCs and we now have 16Gb RAM, 500 GB Solid State Hard drive running Win 7 64. The processor is an intel i7-4790 @ 3.6 GHz.
What config.pro settings need to be set to optimize Simulate performance? Any recommendations of specific of values for the settings below or are the default values OK for our setup?
cpus_to_use
sim_solver_memory_allocation
Thanks in Advance.
Bill
Solved! Go to Solution.
There does not seem to be a clear answer if these config settings actually improve performance. These are not hidden settings in Creo 3.0. Following the advise in one of the threads and in the above presentation (PTC Creo Simulate Update 10 Tips and Tricks) I set:
sim_solver_memory_allocation 8192 (which is 1/2 of the physical memory)
Although it was not mentioned in the presentation I did set:
cpus_to_use 4
Yet to be determined if things are better or indifferent with these settings.
Tad gives an excellent explanation here: https://community.ptc.com/t5/System-Administration/Mechanica-limiting-critical-hardware/td-p/118895#160574
Thew limits that Tad give are outdated however.
We've had numerous discussions here, but no real clue to current limts (Tad's post is from 2011)
He writes:
The maximum of memory that one application can use on a 64 bit Window OS is much much more than 3.2 GB, we've seen 60 GB used by Creo-simulate
Solram seems to be limited to 16 Gb
While the answer is dated, the information really isn't. You'll notice that Tad focuses on discussing the different scenarios (instead of just giving a number) because what the "best" is depends on the specifics of the problem.
Yes, sim_solver_memory_allocation seems to be situation specific, perhaps a better answer is leave sim_solver_memory_allocation set to the default unless you have a need to limit this. Tad's explanation is good to understand proper usage on this.
It seems that simulate will use the max number of cores as default, so I am not sure not sure what the purpose of "cpus_to_use". This is also probably best left set the the default.
I would suggest that the main point of using fewer CPUs (or threads) is to keep the system more responsive for other tasks during an analysis.
Particularly with a hyperthreaded CPU (4 physical cores, reporting 8 cores to Windows) using only as many threads as physical cores seems to yield most of the performance. Note that with more threads, reported CPU time increases due to overheads, but total elapsed time (ET) reduces only very slightly.
I hadn't seen the 'cpus_to_use' option - I picked up an older one, which didn't work properly in 2.0:
Interesting - I've never played with the sim_solver_memory_allocation (hidden) config option, although interestingly our set-up has it set to 512 instead of the reported default of 128, despite not being apparent in the config.pro.
Searching the site here, there's a recommendation to set it to 8192:
PTC Creo Simulate Update 10 Tips and Tricks - PTC Community (with some other interesting hidden options too - see P13)
and a report of setting it to 65536 with no apparent effect:
Re: What do you do when your model reaches Simula... - PTC Community
I've just run a couple of analyses myself (taking between 650 MB and 7 GB of RAM as reported by Task Manager - or 13.25 GB in all cases as reported by Mechanica) and I've seen no significant differences between settings of 128 and 8192. The run-to-run variations are greater!
I'll continue to not worry about it, then...
There does not seem to be a clear answer if these config settings actually improve performance. These are not hidden settings in Creo 3.0. Following the advise in one of the threads and in the above presentation (PTC Creo Simulate Update 10 Tips and Tricks) I set:
sim_solver_memory_allocation 8192 (which is 1/2 of the physical memory)
Although it was not mentioned in the presentation I did set:
cpus_to_use 4
Yet to be determined if things are better or indifferent with these settings.
I wanted to share that a "best practice article" was just released on this subject. Link is listed below. The recommended setting of sim_solver_memory_allocation is between 20-50% of physical RAM.
The more specific guidelines are:
https://support.ptc.com/appserver/cs/view/solution.jsp?source=subscription&n=CS51761
Aha, so sim_solver_memory_allocation appears to set the default for the SOLRAM setting.
"You can change this default value by setting the config.pro option sim_solver_memory_allocation to a different number."
This explains why I wasn't seeing any meaningful differences, as I always set the SOLRAM value manually!
What I can't see in the links is how to control "the RAM allocation for element data" - presuming that "block solver RAM" is SOLRAM.