Installation Instructions 4. Gromacs. Planning. You will need to install GROMACS and any prerequisites somewhere you have write access. If you have superuser privileges, then you will have the option of just installing to the default locations. If you have a site installation policy that prohibits this, or lack superuser privileges, or wish to maintain multiple GROMACS installations, then you will need to choose somewhere suitable to install. The gfortran command supports all the options supported by the gcc command. Only options specific to GNU Fortran are documented here. A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. For example, a compiler that runs on a Windows 7 PC but generates code that runs on Android. For example, user joe might wish to install FFTW to /home/joe/programs/fftw. GROMACS is able to compile as a set of shared libraries, which greatly reduces the disk footprint of the installation, but this can be tricky on some platforms. If you encounter problems at the linking stages below, it is recommended that you configure everything for static libraries (i. GROMACS can be compiled entirely in C, which means you should be able to get it running on essentially any UNIX- style computer in the world. However prior to version 4. Fortran to improve performance, so we strongly recommend you to use a Fortran compiler on those platforms if you can - it makes a huge difference! For modern Intel and AMD processors we provide faster loops written in assembler, so for those you should skip Fortran. Where assembly loops are in use, GROMACS performance is largely independent of the compiler used, so don't worry too much about it. The gcc 4. 1. x series of compilers shipped with some Linux workstation distributions are broken for GROMACS - do not attempt to compile GROMACS with them. DragonEgg - Using LLVM as a GCC backend. DragonEgg is a gcc plugin that replaces GCC's optimizers and code generators with those from the LLVM project. It works with gcc-4.5 or newer, can target the x86-32/x86-64 and ARM. It sounds like you're trying to link with your resulting object file with gcc instead of g++: Note that programs using C++ object files must always be linked with g++, in order to supply the appropriate C++ libraries. MXE (M cross environment) is a Makefile that compiles a cross compiler and cross compiles many free libraries such as SDL and Qt. Thus, it provides a nice cross compiling environment for various target. Mail Andy: [email protected] : G95 is a stable, production Fortran 95 compiler available for multiple cpu architectures and operating systems. Innovations and optimizations continue to be worked on. To enable the native GPU acceleration in GROMACS, CUDA v. The CUDA toolkit can be downloaded from the NVIDIA website. If you want to run in parallel across a network, you need MPI. If you are running on a supercomputer you probably already have an optimized MPI version installed - consult your documentation or ask your system administrator. See below for information about how to make use of MPI. Some older versions of MPICH and MVAPICH are unsuitable. Open. MPI is recommended. You need an FFT library to perform Fourier transforms. Its precision (double vs single) needs to match the precision with which you intend to compile GROMACS. Often a distro will provide only a double- precision version, and to get the full benefit of GROMACS performance you will need to install a single- precision version. Recent GROMACS versions support FFTW- 2. FFTW- 3. x, ACML, Intel Math Kernel (MKL) library version 6. FFTPACK built into GROMACS. FFTPACK is really slow, and if there's any possibility you will want to use the PME algorithm, you are strongly advised to use a better FFT library. We currently recommend that you use the free FFTW3 library (see http: //www. You may want X and Motif/Lesstif libraries and headers for building the optional built- in visualization software ngmx. Note that this may mean installing packages with . You may wish to do this if configure complains about FFT libraries, which are only available in double precision in some distributions. The precision of the FFTW libraries must match that of GROMACS. To compile a single- precision version of the libraries./configure - -enable- float. A few tips: Add - -enable- sse if your computers have i. By default, FFTW header files will be installed in /usr/local/include the library files in /usr/local/lib. If you do not like that (since you must have root permissions to write there), you can place them e. As an example, if you are Joe whose home directory is /home/joe, you might choose to set - -prefix=/home/joe/programs/fftw, the headers will go in /home/joe/programs/fftw/include and the library files in /home/joe/programs/fftw/lib. Don't take this example literally - install somewhere that makes sense for you on your system! If you get errors during GROMACS compilation (the . Another possibility: something may be broken in the GROMACS build process. This can be accomplished with: make distclean. Configuration. Using CMake. Starting with GROMACS 4. Cmake (cross- platform make) can be used to build GROMACS. It will be the only build system begining with 4. CMake packages for various platforms can be found on the CMake project's download page. Most Linux distributions come with packages available through their corresponding package manager. Make sure you have version is 2. Installation instructions for GROMACS using CMake can be found here. Using autoconf. After installing and necessary prerequisites (e. FFTW or MPI), you are ready to install GROMACS. The process is very simple. After unpacking the source code, configure the installation with./configure. This will check you system and automatically configure GROMACS with the default options and best optimizations for your type of computer. The script will let you know about any problems. If you don't want GROMACS installed in /usr/local/gromacs (since you have to be root to write there), select the path you want with the - -prefix option. For versions 4. 5. MPI, so choose one or the other. Threading is useful only when all your cores are real (i. Only the built- in visualization software ngmx uses X, and so if you plan not to use that (for instance, on clusters where you may only need mdrun), you don't need to worry about installing and linking X and Motif libraries. GROMACS tries to find FFTW and all optional libraries (like Lesstif and X) automatically, but this requires that they are present in the default places where the system searches for include files and libraries. If this is not the case (for instance, your system might not look in /usr/local/include and /usr/local/lib where FFTW is placed, or you may have configured FFTW with - -prefix to install to a location of your choice) you can tell configure to include these locations by using the environment variables CPPFLAGS and LDFLAGS for includes and libraries, respectively. These variables can be specified separately, in advance of configuration, or on the ./configure command line. Assuming that you have configured and installed FFTW with - -prefix=/home/joe/programs/fftw, if your shell is tcsh, you set: setenv CPPFLAGS - I/home/joe/programs/fftw/include. LDFLAGS - L/home/joe/programs/fftw/lib. If your shell is bash: export CPPFLAGS=. On Intel systems with Intel compilers, mabraham observed MKL to be only a few percent faster than FFTW3, so you can save yourself some pain by using FFTW3.)Other notes: If you don't like the compilers configure detects, just set them with the variables CC and/or F7. MPICC for the MPI C compiler). You can add extra libraries (- llibrary) in the LIBS variable. The configure script automatically detects not only your architecture, but also the specific CPU version of your computer to optimize as much as possible. Different CPU types will be installed in subdirectories below the architecture directory. If you don't want this, you can select an explicit location for binaries and libraries with - -exec- prefix. If you have many similar machines, but with slightly different CPUs, it might be a good idea to compile one full version of GROMACS without CPU- specific optimizations or MPI parallelization (this version will be located in the main architecture directory), and then only compile mdrun for each CPU type. Static libraries also result in binaries that are more portable (you won't have to install the libraries if you want to make a test run on a computer without GROMACS). On the other hand, shared libraries will decrease the installation size from 1. Mb to 1. 0Mb, so you might want to try using it with - -enable- shared. The large number of GROMACS utility programs show the greatest benefit from that, but these do not benefit at all from - -enable- mpi (see below). So if you have problems with shared libraries and MPI together, then do two installations, one with - -enable- shared for the tools and one with - -enable- mpi for mdrun. It compiles amazingly fast on a 1. SMP machine! Otherwise - sit back and wait for the package to compile. Once it's done you might want to check the output of the make command, or at least make sure there weren't any fatal errors. If you get errors that suggest recompiling something with - f. PIC, see Details for building the FFTW prerequisite above. Final Installation. If GROMACS compiled without error, this last step is trivial. However, if you have an older GROMACS version in the same location you should remove it before proceeding! To adhere to modern Linux standards we have changed some subdirectories, and if you just install over the older files you risk ending up with a confusing mess of duplicate files and data. Install all the binaries, libraries and shared data files with: make install. If you only want to build the mdrun executable (in the case of an MPI build), issue the following: make install- mdrun. If you want to create links in /usr/local/bin to the installed GROMACS executables, and you have superuser privileges to write to that location, issue the command: make links. You may find that any of the above create a bunch of errors from make about being denied permissions. This means you are trying to install somewhere that is not permitted for your user. Either use configure - -prefix as above to install somewhere that you do have permission, or switch to the root user for only the actual installation step (not the whole procedure). Using MPIYou may notice that the above instructions for an MPI installation (so you can run in parallel) recommend only doing make mdrun and make install- mdrun. That's because in GROMACS, only mdrun is MPI- aware. Perhaps in the future, some of the utility programs may become MPI- aware, but these will only be for compute- intensive utilities (e. You may even run into more issues with shared libraries, so keep things simple! It's broken, so don't bother trying to use it. Getting access to GROMACS after installation. In a normal Unix/Linux/Cygwin/Mac. OS environment you will need to know the location where GROMACS is installed, e. This may have been selected with - -prefix as discussed above. In your shell configuration file (e.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |