System Requirements for QuantumATK S-2021.06

The requirements and details below apply to QuantumATK S-2021.06.

  1. QuantumATK should run well on any reasonably modern and updated 64-bit x86 computer with Windows or Linux operating systems. Note that the QuantumATK simulation engines and the NanoLab GUI both run fine on a laptop, but simulating or visualizing complex systems with many atoms can consume a large amount of computational or graphical resources.

  2. The ideal platform for running larger simulations is a cluster or a powerful workstation. Most QuantumATK simulations run best if executed in parallel on fairly recent 64-bit processors. A huge amount of nodes is not always needed; even parallelizing over 3-4 nodes gives a significant performance improvement. QuantumATK also takes full advantage of multicore processors. Note that MPI parallelization and multicore threading is available with both the Windows and Linux versions of QuantumATK.

  3. NanoLab runs best on a machine with a graphics card with hardware acceleration. A dedicated card from e.g. NVIDIA or AMD is best for proper 3D graphics performance, but also integrated cards like Intel HD work fine, as long as the corresponding vendor drivers are installed. On Linux, software-rendering using Mesa drivers will work, but can lead to poor performance in the builder tools.

If QuantumATK fails to run on your system, it is likely that a similar problem has already been reported and solved. The solution can then be found in the FAQ. If not, post your problem on the Forum, with as many details as possible, including the exact software version (for Linux, also the exact distribution) and any error messages that appear, and we will try to find a solution. More customer support can be found at Synopsys’s SolveNetPlus.

Detailed Requirements

CPU

QuantumATK runs on any modern 64-bit Intel/AMD architecture.

Memory

The memory required to run a QuantumATK simulation depends very strongly on simulation parameters and the system treated. For large-scale production simulations on a cluster or workstation, we recommend at least 8 to 16 GB memory per MPI-process.

Hard Drive Space

The QuantumATK package itself requires a little more than 2 GB of free space. Temporary files are created while simulations are running, and also the final data files can require substantial amounts of disk space.

Graphics

NanoLab relies on OpenGL and shader technology for fast rendering of 3D graphics, and optimal graphics performance requires a hardware accelerated OpenGL driver, using either a dedicated GPU or a motherboard-integrated card. Software-emulated OpenGL may be also be used to run NanoLab, but 3D performance may be worse in certain cases.

  • The minimal required version of the OpenGL shader library is 3.3.

  • Use vendor drivers (NVIDIA, AMD, Intel, etc.) for optimum shader support.

Note

  • If the graphics driver does not support shader technology, this option will be disabled (see the “Preferences” dialog, on the NanoLab “Graphics” tab) and the graphical performance will be reduced, but NanoLab will still operate.

  • Generally, if NanoLab does not run properly in terms of graphics, most likely it is caused by the driver, not by the hardware. Even an old or quite basic 3D graphics card with properly configured OpenGL driver should be able to run NanoLab.

  • A dedicated card with a GPU is better than a motherboard-integrated card, but not a strict requirement.

Specifically for Linux

  • Vendor-specific drivers supporting hardware-accelerated OpenGL should always be preferred over generic drivers shipped with the OS, such as the MesaGL drivers.

  • So far, no Mesa drivers have been tested successfully for shader support (even version 10.1.3 which claims to support OpenGL 3.3).

  • The minimal version NanoLab has been tested on is Mesa version 6.4.2 (which provides OpenGL 1.5, which is insufficient for proper shader support).

On Linux, you can test your OpenGL installation by running the utility glxgears. If it fails, NanoLab will probably not run properly on your system and you should review the system configuration. Helpful information can be found from the output of glxinfo, as it will identify the driver used and it’s capabilities.

Software rendering on virtual machines and remote machines

Software rendering is available if running NanoLab on a Linux virtual machine or on a Linux remote machine through an SSH tunnel. For more info, see Running QuantumATK on a Virtual Machine.

Network

Running QuantumATK requires that TCP/IP networking is installed and enabled. By default, the SCL license system used by QuantumATK must be allowed to receive incoming connections on port 27020 (TCP+UDP). On Windows, the user will normally be asked to accept this exception to the Windows firewall rules the first time the application is launched, but if specific firewall software is used, you may need to create the rules manually. The latter may also be the case on Linux, especially if enhanced security features are enabled. QuantumATK and SCL also communicate through a second port, which by default is chosen dynamically for each session. To ease firewall configuration, this additional port may also be manually specified, see Installation guide for details.

Parallel Execution

Both the Linux and Windows versions of QuantumATK are compiled against the Intel MPI library and support OpenMP. Running QuantumATK in parallel should preferentially be done using the Intel mpiexec.hydra binary that is shipped with the software. Alternatively, we have successfully tested parallel operation under

as well as Cray MPI (aprun), although it requires some special tweaking.

Specific Platform Requirements

In general, QuantumATK follows the software foundation and Qualified System Configuration (QSC) to which all Synopsys products adhere. The current QSC specification can be found on the Synopsys web page. The S-2021.06 release of QuantumATK follows the QSC-S foundation.

Windows

QuantumATK has been successfully tested on 64-bit editions of Microsoft Windows 10.

Note

Windows 7 is no longer supported.

It is not possible to run a terminal-based QuantumATK session via a remote network connection.

Linux

The QSC-S specifications linked above guarantee the support of the following OS:

  • CentOS 7.3.1611+; 8+

  • Red Hat Enterprise Linux: 7.3+; 8+

  • Suse Linux Enterprise Server 12.4+; 15+

Note that in the up-coming QSC-T specifications the support for CentOS 8 is likely to be dropped.

Additionally, QuantumATK typically runs on all modern Linux distributions without problems, provided all the latest updates are installed, and has been successfully tested on the following popular Linux distributions:

  • CentOS 7.9, 8.2

  • Ubuntu 16.04 LTS, 18.04 LTS, 20.04 LTS

  • Debian 9.13, 10.9.0

  • openSuse 13.2, 15.2

  • Fedora 34

Note

  • Long term support (LTS) versions are always recommended.

  • Red Hat 5 and derived distributions are not supported.

The QuantumATK package is fully self-contained, and in general you should not need to install any additional libraries. However, some required libraries may not be present by default on all Linux installations. These may typically be installed using the system package manager.

Distribution specific installation steps

CentOS 7.3.1611 / RHEL 7.3

On a completely unpatched, default desktop installation of CentOS 7.3.1611, the following command installs needed system libraries for quantumatk:

sudo yum install libxkbcommon libxkbcommon-x11 freetype

Note that QuantumATK needs freetype of version >= 2.6. You can check the package version with

yum info freetype

If the above install command does not install an appropriate version, you can download the following RPM packages from the official CentOS Vault repositories:

and install them manually with

rpm -U libxkbcommon-0.7.1-1.el7.x86_64.rpm

rpm -U libxkbcommon-x11-0.7.1-1.el7.x86_64.rpm

rpm -U freetype-2.8-12.el7.x86_64.rpm

Ubuntu 18+

On modern Ubuntu systems, libsensors.so.4 is not easily available, but creating a symlink from /usr/lib/x86_64-linux-gnu/libsensors.so.5 to <QuantumATK installation directory>/lib/libsensors.so.4 will work.

On other modern Linux systems, libtinfo.so.5 could be missing as well. If it is not available through an official package, creating a symlink from /usr/lib/x86_64-linux-gnu/libtinfo.so.6 to <QuantumATK installation directory>/lib/libtinfo.so.5 will work.

Both libsensors.so.4 and libtinfo.so.5 are only required when using software rendering.

LIBC version

Make sure your Linux system has glibc 2.17 or later available.

Full list of required system libraries

QuantumATK links dynamically to a number of system libraries, which are not included in the package, but are normally included out-of-the-box in the supported Linux distributions. In case of a missing dynamic library, the program displays a descriptive error message on startup.

In the following we give lists of system libraries system needed for different execution modes of QuantumATK. The first one is a minimal set of libraries needed to start atkpyhon interactively in the command prompt, i.e. forgoing the GUI. The second lists additional libraries loaded when running quantumatk using the GUI and builder. The last list is for libraries not necessarily used in every environment and serves as an additional point of help in case of issues.

If you intend to set up a minimal OS environment, say for a cluster compute node, use the first list and in case of errors consult the others.

Starting atkpython on CentOS 7.3.1611 interactively, not using the GUI with quantumatk, the following system libraries are loaded:

  • ld-linux-x86-64.so.2

  • libattr.so.1

  • libbz2.so.1

  • libc.so.6

  • libcap.so.2

  • libcrypt.so.1

  • libdbus-1.so.3

  • libdbus-glib-1.so.2

  • libdw.so.1

  • libelf.so.1

  • libexslt.so.0

  • libfreebl3.so

  • libfreetype.so.6

  • libgcrypt.so.11

  • libgio-2.0.so.0

  • libglib-2.0.so.0

  • libgmodule-2.0.so.0

  • libgobject-2.0.so.0

  • libgpg-error.so.0

  • liblzma.so.5

  • libm.so.6

  • libnuma.so.1

  • libpcre.so.1

  • libpng15.so.15

  • libpthread.so.0

  • libresolv.so.2

  • librt.so.1

  • libselinux.so.1

  • libudev.so.1

  • libutil.so.1

  • libuuid.so.1

  • libxslt.so.1

  • libz.so.1

Additional libraries are loaded when running the graphical interface using quantumatk on CentOS 7.3.1611:

  • libatk-1.0.so.0

  • libatk-bridge-2.0.so.0

  • libatspi.so.0

  • libbluray.so.1

  • libcairo-gobject.so.2

  • libcairo.so.2

  • libcanberra-gtk3-module.so

  • libcanberra-gtk3.so.0

  • libcanberra.so.0

  • libdconfsettings.so

  • libdl.so.2

  • libdrm.so.2

  • libEGL.so.1

  • libexpat.so.1

  • libfontconfig.so.1

  • libgbm.so.1

  • libgdk-3.so.0

  • libgdk_pixbuf-2.0.so.0

  • libGLU.so.1

  • libgraphite2.so.3

  • libgthread-2.0.so.0

  • libgtk-3.so.0

  • libgvfscommon.so

  • libgvfsdbus.so

  • libharfbuzz.so.0

  • libICE.so.6

  • libjbig.so.2.0

  • libjpeg.so.62

  • libltdl.so.7

  • libncursesw.so.5

  • libnss_sss.so.2

  • libogg.so.0

  • libpango-1.0.so.0

  • libpangocairo-1.0.so.0

  • libpangoft2-1.0.so.0

  • libpixman-1.so.0

  • libpk-gtk-module.so

  • libreadline.so.6

  • libsensors.so.4

  • libSM.so.6

  • libtdb.so.1

  • libtiff.so.5

  • libtinfo.so.5

  • libvorbis.so.0

  • libvorbisfile.so.3

  • libX11-xcb.so.1

  • libX11.so.6

  • libXau.so.6

  • libxcb-dri2.so.0

  • libxcb-dri3.so.0

  • libxcb-glx.so.0

  • libxcb-present.so.0

  • libxcb-randr.so.0

  • libxcb-render.so.0

  • libxcb-shape.so.0

  • libxcb-shm.so.0

  • libxcb-sync.so.1

  • libxcb-xfixes.so.0

  • libxcb-xkb.so.1

  • libxcb.so.1

  • libXcomposite.so.1

  • libXcursor.so.1

  • libXdamage.so.1

  • libXext.so.6

  • libXfixes.so.3

  • libXft.so.2

  • libXi.so.6

  • libXinerama.so.1

  • libxkbcommon-x11.so.0

  • libxkbcommon.so.0

  • libXmu.so.6

  • libXrandr.so.2

  • libXrender.so.1

  • libxshmfence.so.1

  • libXt.so.6

Finally, there are additional optional or system-dependent libraries listed here for completeness’s sake:

  • libGL.so.1

  • libGLdispatch.so.0

  • libavahi-client.so.3

  • libavahi-common.so.3

  • libblkid.so.1

  • libcom_err.so.2

  • libcrypto.so.10

  • libcups.so.2

  • libepoxy.so.0

  • libfribidi.so.0

  • libgcc_s.so.1

  • libgdk-x11-2.0.so.0

  • libgssapi_krb5.so.2

  • libgtk-x11-2.0.so.0

  • libinfinipath.so.4

  • libk5crypto.so.3

  • libkeyutils.so.1

  • libkrb5.so.3

  • libkrb5support.so.0

  • liblber-2.4.so.2

  • libldap_r-2.4.so.2

  • liblz4.so.1

  • libmng.so.1

  • libmount.so.1

  • libnspr4.so

  • libnss3.so

  • libnssutil3.so

  • libodbc.so.2

  • libpanelw.so.5

  • libplc4.so

  • libplds4.so

  • libpq.so.5

  • libpsm2.so.2

  • libpsm_infinipath.so.1

  • libsasl2.so.3

  • libsmime3.so

  • libssl.so.10

  • libssl3.so

  • libstdc++.so.6

  • libsystemd.so.0

  • libthai.so.0

  • libwayland-client.so.0

  • libwayland-cursor.so.0

  • libwayland-egl.so.1

  • libnsl.so.1