The Installation Manual describes installation of the Amsterdam Modeling Suite (AMS) on the supported platforms. For optimal performance, some system specific tuning may be needed. Therefore, it is strongly recommended to also read the additional information and known issues .
The Amsterdam Modeling Suite consists of the following main classes of programs:
- Computational engines: ADF, BAND, COSMO-RS, DFTB, UFF, ReaxFF and MOPAC. Each of the engines has its own (text-based) input and output and can be used from scripts and the command line. New in the AMS2018 release is the AMS driver program, which houses the BAND, DFTB, UFF and ReaxFF engines. Within this manual we try to use the word AMS for all the computational engines, and ADF for the molecular DFT program.
- Utilities and property programs. These are used primarily for pre- and post-processing data of the computational engines.
- Graphical user interface (GUI), which is used to prepare input for computational engines and to visually present their results.
You will always install the complete AMS package at once and your license file will determine which of the functionality may be used.
The whole AMS package is written with the Unix-like environment in mind. Some knowledge of Unix may or may not be required depending on the operating system on which you are going to use AMS. It also depends on whether you are going to use AMS via the GUI only or also from the command line. For example, if you are going to use AMS from within the GUI on Windows or Mac OS X, then you do not need to know anything about Unix. If you are going to use AMS from the command line then you will need to know how to write shell scripts and have some knowledge of the environment variables. If you are the one who is going to install the package on a Unix-like system, such as Linux, then you need to know how to modify shell resource files such as .bashrc.
Important changes since ADF2017¶
Some of the technical changes made since ADF2017:
- No more support for 32-bit Windows: almost all PCs nowadays run on 64-bit processors and 64-bit Operating Systems. If you need a 32-bit version, we advise you to use ADF2017 instead.
- Automated OpenGL fallback mode for GUI on older graphics: available on 64-bit Windows and Linux.
- No more support for CentOS 5 on Linux: The Intel ifort 18 compiler unfortunately introduces an unavoidable GLIBC 2.11 requirement, which means AMS2018 no longer works on older Linux systems.
- Linux binaries for AMD Zen processors: AMS2018 is available with OpenBLAS instead of MKL, optimized for the AMD Zen architecture. These binaries should be used on AMD Ryzen / Threadripper and Eypc CPUs for better performance.
- Updated Python stack: Our python stack is now based on the Enthought Python v3.6 stack, most included modules have also been updated.
- AVX-512 support: AMS2018 is compiled with AVX-512 optimizations for the latest Intel Xeon Scalable Processors (Skylake SP).
AMS2018 can be used on anything from a simple laptop to big Linux cluster environments, and is tested on a wide variety of hardware.
Recommended minimum hardware specification:
- Intel i5 or better 64bit CPU
- 8GB RAM
- 250GB SSD
- OpenGL 3.2 graphics
Absolute minimum hardware specification:
- 64bit CPU
- 2GB RAM
- 6GB storage for installation
- OpenGL 1.4 graphics
Supported Operating Systems:
- Windows 7/8/10
- OSX 10.9, but OSX10.11 or newer is recommended
- Linux with GLIBC v2.11 or higher: CentOS/RHEL 6 or 7, Debian 6 or newer, SUSE 11.3 or newer, Ubuntu 10.04 or newer, etc.
Specific hardware and software requirements for the AMS package depend on the platform. The list of supported platforms, including information on the operating system, parallel environment (MPI), and compilers used is available in the Download section of our web site.
Detailed Hardware requirements¶
AMS2018 runs on any x86_64 CPU, but performs best on modern Intel CPUs with AVX or AVX-512 instruction sets. Intel CPUs in general have better floating point performance compared to AMD processors, and AMS spends most time on floating point operations. However, AMS2018 is also available in an OpenBLAS flavor optimized for running on AMD Zen architecture (Ryzen/Threadripper/Epyc CPUs).
In a parallel calculation, the total amount of memory used by the job is a sum of that used by each process. Starting from ADF2010, some large chunks of data are placed in the shared memory so the sum rule does not strictly hold. In principle, it is more correct to count memory per process but since AMS is an MPI program it runs most efficiently when the number of processes corresponds to the number of physical processors cores. Therefore, all memory amounts below are per processor core.
The amount of RAM per core needed to run AMS depends greatly on the kind of calculation you perform. For small calculations, 256 MB will be sufficient, but if there is a lot of memory available AMS may run significantly faster. A large amount memory also reduces the load on the disks, which may speed up your calculation depending on the I/O sub-system and the operating system.
The memory requirement increases with the system size. For example, for a molecule containing 100 atoms with a DZ basis set it may be sufficient to have 256 MB but for a molecule with 1000 atoms up to 8 gigabytes may be required. Also, if you are going to perform TDDFT, relativistic spin-orbit or analytical frequency calculations then the amount of memory should be larger. As an indication, an analytical vibrational frequency calculation of a organometallic complex containing 105 atoms with a TZP basis set uses up to 1GB of RAM per process but it can be done with less, even though not as efficiently.
For installation of the package on Linux/Unix you need from about 5GB (without sources) to 8GB (with sources and compiled objects). The run-time (scratch) disk space requirements greatly depend on what type of calculation you perform. For the ADF program, it may range from a few megabytes for a small molecule up to a hundred gigabytes for a large molecule with a large basis set, the amount scaling quadratically with the system size. Using a Solid State Drive (SSD) helps performance, especially for bigger calculations.
First of all, a network card must be present in the computer as its hardware MAC address is used as the computer’s ID for the licensing.
In order to enable MPI on a standalone Windows computer, one may need to create a dummy network connection by adding a network “card” called Microsoft Loopback Adapter. This interface will be assigned an IP address from a private range.
Multi-host parallel performance.
As far as performance concerned, a switched Gigabit Ethernet network is typically sufficient for good parallel performance on up to four nodes if the nodes do not have too many CPU cores per node. If you are going to use more nodes, or nodes with high core count (>16 cores per node), you may need faster communication hardware, such as Infiniband, to get good performance. Please note that multi-host execution is not supported on Windows.
Starting with ADF2017, the GUI requires OpenGL 3.2 to run. For Linux and Windows users there is an OpenGL1 fallback mode availble for older hardware, please read more about it in the Remote GUI documentation.
The package runs on Windows and on the following Unix variants: Linux, Mac OS X.
On the Apple systems the Mac OS X 10.9 and newer is supported, but we recommend using OS X 10.11 or newer.
On linux both the compute engines, python scripting environment and GUI require a GLIBC version of 2.11 or higher. AMS is compiled on CentOS 6, the code gets tested daily on CentOS 6, Ubuntu 16.04, Ubuntu 18.04 and Arch.
The Windows version of AMS is supported on Windows 7, 8, 8.1 and 10.
Certain version of AMS will require different libraries to be installed on the system depending on the MPI library used.
In order to run the the graphical user interface (GUI) the computer needs to have an OpenGL-capable graphics subsystem (hardware, drivers and libraries). Besides that, on Linux the following (or equivalent) packages must be installed:
fontconfig freetype libdrm libICE libSM libstdc++ libX11 libXau libXdmcp libXext libXft libXrender libXScrnSaver (Ubuntu users may need to install libXss1) libXt libXxf86vm mesa-libGL mesa-libGLU
The GUI will not able to start without shared libraries provided by these packages.
NOTE: If you receive an error about libXss (libXss.so.1: cannot open shared object file: No such file or directory), you need to install libXScrnSaver (redhat/centos: yum install libXScrnSaver) or libxss1 (ubuntu/debian: sudo apt install libxss1).
If you have a license for the source code, you can compile the source yourself, with or without your own modifications.
The source consists mainly of Fortran95/2003 code, with some small parts written in C. Some of the Fortran2003 features are also used so a compiler supporting it is required. You must use object-compatible Fortran and C compilers to those we are using on the same platform, since some parts of the code are available only as object modules. For all x86 platforms it is currently Intel Fortran 18 or newer. It is very unlikely that other compilers, or even a different major version of the same compiler, will work with these object modules. We cannot support compilers different from what we are using ourselves.
To check which compiler to use, check the detailed machine information on the Download section of our web site.