Friday 9 October SCM developers Hans & Alexei answered various questions on hardware and performance tips for the Amsterdam Modeling Suite. Their insights are summarized below.
- usually more cores is better
- get enough RAM, 2GB / CPU core, 4GB / core if you can afford it
- get a sizable SSD if you can afford it. The latter is more important for large systems and I/O intensive calculations like TDDFT in ADF
- Linux typically runs faster than Windows on both small and bigger desktops
- ADF and other modules should not be run with hyperthreading / simultaneous multi threading
- Chrome can be a big memory and CPU interferer, especially on Windows
- Any antivirus software can have a large impact on performance. Built-in Windows Defender is usually less problematic than 3rd party AV solutions
- To use AMD Zen processors efficiently (see also best hardware option question below), download the relevant AMD Zen AMS binary
- For ReaxFF on Windows, consider using NSCM=1 which then enables OpenMP parallelization. This is more efficient when other processes run simultaneously
- For ReaxFF, try to use at least 1000 atoms per each CPU core. E.g. for a 3000 atoms simulation on a quad-core, consider only using 2 cores (and maybe run 2 jobs at the same time)
- Long trajectories can get large, so consider getting a large disk for storage
What hardware do you recommend (desktop/laptop, large desktop, cluster)?
1) Up to ~3000 USD: Get a Ryzen 7 / 9 (e.g. 3950X) or Intel i7 / i9 (e.g. 10900K) with 64GB of RAM, something like 1TB NVMe SSD for OS and scratch data, 8TB HDD for longer term storage
2) Up to ~20000 USD single workstation machine, with 1 or 2 CPU chips. Probably best bet is 1x 32, 2×32 or 2×64 cores AMD Zen2 Epyc (Rome). With Intel Xeon SP you can get 2×28 = 56 cores. Aim for 4GB RAM per core (try to populate all memory channels) and sufficient disc space (e.g. 4 TB SSD + HDD for file storage)
3) Cluster setup: front node (simple 8-core CPU usually suffices, but it should have enough room for HDDs as the front node usually runs the file system) + compute nodes, e.g. with 32 or 48 cores per node. Fast infiniband is necessary for multi-node calculations. Again, make sure you have at least 2GB RAM/CPU core. Rocks + CentOS is usually relatively easy to set up, but be aware it takes time for set up and maintenance. Heterogeneous clusters (nodes with different CPUs) are not recommended
How do I run the GUI efficiently on my remote Linux cluster?
Visualization of large systems will be slower when running remotely via X forwarding, due to latency and OpenGL compatibility. So instead, we recommend using a local GUI instead. This can be on Windows, as the GUI works cross-platform for the Amsterdam Modeling Suite.
You can set up the GUI to submit to remote queues and collect results when done. You need an ssh key pair for this, see the manual and a video on how to set it up from Windows.
Contact us at email@example.com if you want to set up a local GUI to use with your cluster license for the calculations. If this is not an option, then consider setting up a remote desktop environment on the cluster using for example RDP or VNC via SSH tunnel.
How well does the Amsterdam Modeling Suite scale in parallel?
It depends on the type of calculation, system size, and hardware configuration. We have a few timing and scaling examples for benchmark calculations on relatively common cluster hardware on our HPC page.
How do I run the Amsterdam Modeling Suite in the cloud?
In principle it can run on any cloud service. Contact us at firstname.lastname@example.org if you want to try out cloud computing so we can activate a cloud license.
Using AMSjobs you can submit automatically to AWS (we need to activate your license and give you access to the Amsterdam Modeling Suite AMI on Amazon).
Note that AMS does not run multi-node jobs yet in the cloud.
Also make sure you close down your cloud instance at the end of your job.
What GPU acceleration does AMS have?
The graphical user interface can benefit from any GPU. From our computational engines, only ADF has been partially GPU accelerated (GGAs only, and only energies, forces and Hessians). From AMS2020 you can use Tesla P100, V100, A100, Titan V, or Quadro GP100/GV100 for this GPU acceleration. In general, though, getting more CPU cores will usually still be a better investment at this time.