This should hopefully be a pretty self explanatory post. What would be the best desktop setup to run PLAXIS 3D as fast as possible without being wasteful?
Currently I'm thinking:
AMD Ryzen 9 7900X 12 Cores (my understanding is PLAXIS 3D can't really make use of more than 8 cores, is this correct?)
Corasir RAM 2 x 16 gb 6000mhz CL30 (is there any benefit to faster RAM?)
For storage I was going to go with a 1tb or 2 tb NVMe SSD. Is there any benefit to going with PCIe Gen 5 over a cheaper Gen 4?
Your computer specifications seem to be quite good. If there is no restriction on resources, following spec will bring about a lot of computing power.
Processor: AMD Ryzen Threadripper 3970X 32-Core, 64-Thread Unlocked Desktop Processor
Operating System: Windows 10 Pro 64-bit
Memory: Large projects: 64 GB
Disk Space: Large projects: 1 TB SSD. For best performance, ensure that the TEMP directory and the project directory reside on the same partition.
Display Graphics Card: Required: GPU with 256 MB OpenGL 1.3. Bentley recommends avoiding simple onboard graphics chips in favor of a discrete GPU from the nVidia GeForce or Quadro range with at least 128-bit bus and 1 GB of RAM, or equivalent solution from ATI/AMD.
Video: Required: 1024 x 768 pixels 32-bit color palette, Recommended: 1920 x 1080 pixels 32-bit color palette
Usually with the increase in the processor speed and the number of cores, the decrease of computational time is NOT linearly proportional. It depends on how much portion of the code is parallelized. Above all there is the overhead cost of message passing while computing on multiple cores/processors. So you get faster computation but not as you expected.
To get quick operations in the program:
If you need to make a choice between more CPU cores or faster CPU cores, I would go for the faster cores if your main concern is the Plaxis calculation speed. We have seen once you have at least quad-core processors, you benefit more from a faster CPU than from more cores.
PLAXIS does not enforce limits on the number of items in a 3D calculation, but of course, the more elements you have, the more memory the program needs, and then you can run into hardware limitations.
Of course, this is the experience we have with the current program.
See more details here:
Thank you for your response though frankly I had read most of that as that's the basic information provided by Bentley. I was hoping for a more in depth understanding including benchmarking results.
I am also not sure about the recommendation for a Threadripper. Our benchmarking showed limited increase in performance with more cores. I actually had a Ryzen 7600X out perform a 12900KF. Mind you that was only after we disabled the e-cores as for some reason PLAXIS 3D cannot handle latest gen intel it seems.
Has Bentley performed any proper in depth benchmarking analysis? Is that published anywhere? Given the significance of CPU performance has RAM scaling been assessed? How would 5600 mhz CL40 RAM impact the result instead of say 6000 Mhz CL30? Are the calculations in anyway benefited from additional L3 Cache on Ryzen X3D parts?
From my own experience with larger 3D modelling in Plaxis and other software:
- CPU: More than 8 cores are a good choice, but also the max GHz you can get from the core matters. As far as I know Plaxis has no problem with utilizing more than 8 cores during calculations and it is good to have more if you want to run more than one phase in parallel (e.g. when branching out with different scenarios or ULS checks). I am not sure if there is any significant difference between AMD and Inter CPUs. However, some calculation softwares tend to be optimized for calculations with Intel Xeon processors - I wonder myself how it is with Plaxis.
Note: Calculations are one thing and Plaxis seems to handle multiple cores well for that; however, things like creating geometry for staged construction, meshing, the calculations "in between" the main calculations (e.g. pore pressures based on phreatic levels) do not utilize stronger, multicore processors that well. I had a case of a larger 3D model where preparing for calculations between phases took about 10 min (with CPU barely utilized) and the main calculations took about 3 min per phase (that is where the CPU matters). Plaxis is far from being well optimized for large models.
- RAM: For larger models, 32 GB is a minimum in my opinion. The system and background processes will use up about 10 GB probably. A model with 200k-300k if you switch to Pardiso solver will use up about 15-20 GB. Unfortunately, Plaxis does not allow for running multiple instances and calculating few things at a time, but on another software I used in the past, I needed even 128 GB to run the calculations smoothly with two models running at the same time.
- Disk space: Larger models with results can take up 50-100 GB of space for a single model (unpacked). Rarely you will do the calculations once without the need for backing up the older files or alternative solutions. 1 TB SDD is good for storing the calculations you are currently working on, but for backups and archiving you might want an additional drive.
Many years ago we did a benchmark and we did not see that much of increase in performance above 8 cores. The difference was bigger when going from a few cores to more, but from 16 cores to 32 cores, I would not expect the same improvement in performance.
We do not have any benchmarks and we most certainly cannot test all the CPUs that exist out there.
If you can provide us some detailed statistics about your computational time, would be of big help to other users as well. Like, type of problem you solved (with Number of nodes and elements, model used, total number of phases), computer configuration details, cost involved. We can publish this data in our Community page (with your reference of course) if you consent.
No one is asking Bentley to test all CPUs, you just need to test the latest mainstream desktop cpus. You guys could easily offload that to a 3rd party company to run the benchmarks for you. It is very disappointing situation to have a software developer charging tens of thousands of dollars for a software package whilst providing zero benchmarking data. Has Bentley ever looked into hiring a company that specializes in benchmarking the performance of software on various hardware configurations?
Why should we, the users, provide Bentley with benchmarking data for free? It takes time and effort from our employees to produce that data which should be spent undertaking billable work.