Hardware recommendations

Friday 9 October 2020, SCM developers Hans & Alexei answered various questions on hardware and performance tips for the Amsterdam Modeling Suite. Their insights are summarized below.
30 May 2023 we added some recommendations to align with new hardware developments, including Intel 12th gen and latest AMD Ryzen.

General Recommendations

  • Usually, more cores is better
  • Do not use Windows 10 on a machine with more than 64 logical processors (32 cores with SMT/hyperthreading or 64 without)
  • 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
  • On Intel 12th gen and newer AMS by default only uses the Performance (P) cores in this hybrid CPU architecture. When calculations are forced to the Efficient (E) cores, they run much slower.

ReaxFF Recommendations

  • 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. 7950X) or Intel i7 / i9 (e.g. 13700K) with 64GB of RAM, something like 1TB NVMe SSD for OS and scratch data, 8TB HDD for longer term storage

2) Up to ~30000 USD single workstation machine, with 1 or 2 CPU chips. Probably best bet is 1x 32/48, 2×32/48 or 2×64/96 cores AMD Zen4 Epyc (Genoa), or Zen3 Epyc (Milan). With Intel Xeon Scalable Processors (SP) there are also plenty of options here, but the higher core count CPUs are quite expensive. Aim for 4GB RAM per core (make sure 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 and/or SSDs as the front node usually runs the file system) + compute nodes, e.g. with 32/48/64/96/128/192 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. Take note that Rocks Clusters do not natively support the latest generations of hardware, as it is currently based on CentOS 7. Heterogeneous clusters (nodes with different CPUs) are not recommended for multi-node calculations.

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. Using ThinLinc for remote GUI will usually provide a faster and smoother user experience.
You can also use a local GUI. 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 protected] 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 [email protected] 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. Most of our compute engines are CPU-optimized. The ML potentials and force field via LAMMPS can be offloaded to GPUs.