Package Details: gromacs 2018-1

Git Clone URL: https://aur.archlinux.org/gromacs.git (read-only)
Package Base: gromacs
Description: A versatile package to perform molecular dynamics, i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.
Upstream URL: http://www.gromacs.org/
Licenses: LGPL
Submitter: xyproto
Maintainer: hseara
Last Packager: hseara
Votes: 16
Popularity: 0.014797
First Submitted: 2011-12-14 17:03
Last Updated: 2018-01-12 18:51

Dependencies (12)

Required by (1)

Sources (1)

Latest Comments

roina commented on 2017-12-17 12:35

hseara, the current (2016.4 released September 15, 2017) doesn't works with CUDA in old systems. But new gromacs (2018-beta2 released December 12 2017) works perfectly with current PKGBUILD (gromacs 2016.4-2) and CUDA 9.1. So don't wait and update the version.

hseara commented on 2017-12-04 15:30

The current PKGBUILD works perfectly in new systems.

@manlinke: I have the feeling that at least part of your problem is Cuda related. You seem to have an "NVIDIA GeForce GTX 550 Ti" which is no longer supported by Cuda 9. That means that your code will compile well, but tests will fail. The only possible workaround which I'm using on an old system myself is to use Cuda 8 in your system instead of Cuda 9. It is not possible for me to deal with this issue as it is graphics card dependent. You can always disable CUDA "-DGMX_GPU=OFF".

@manlike: The following lines overriding the /etc/makepkg.conf defaults should take care of the avx2 issues:

export CFLAGS="-march=native -O2 -pipe -fstack-protector-strong"

export CXXFLAGS="${CFLAGS}"

Once you fix the Cuda issues, please check again if you have really avx2 issues.

mefistofeles commented on 2017-12-03 22:53

@malinke I was also getting avx2 errors. Specifically this: error: #error "compiling simd-avx2.h without avx2 support", which some guys at #archlinux think it's an error from upstream. The complete error output is at: https://bpaste.net/show/3bbef4217034 (it may have a short lifetime, sorry)

There one can see that the problem is building the fftw, so I tried removing the -DGMX_BUILD_OWN_FFTW=ON \ lines in the PKGBUILD (lines 51 and 62) and got better results but still errors on testing it. The output I'm getting doing what I said is here: https://bpaste.net/show/01d9d68140bd

BTW, when compiling directly the source code by using cmake and make it builds, with not special options, just as it's shown in: http://web.archive.org/web/20170714101612/http://www.gromacs.org/Developer_Zone/Building_and_Testing/Cmake in the "Configuring with default settings" section. Hope this helps to give ideas on how to make gromacs build using this PKGBUILD/AUR?

hseara commented on 2017-10-01 11:00

@malink "(I didn't care if I had a avx build or not)"

You should care. mdrun will be 2x to 4x faster if compiled with avx (depending on the version) activated.

My fix will activate the highest level of avx by default. My fix will allow also CUDA support if available. This is why we need gcc5. CUDA 9 does not seem to solve this issue.

In any case, thanks for your comment as the fix simplifies the installation.

malinke commented on 2017-10-01 07:33

I read the avx instructions. My build problem was that the default pkgbuild would fail since gromacs cmake config tried to enable avx and the global flags in `/etc/makepkg.conf` deactivated it later resulting in a build error (I didn't care if I had a avx build or not). The changed cflags in the current version fix that.

hseara commented on 2017-09-24 15:39

@mailkinke please read the content of the PKGBUILD file. There it is clearly stated:
###### CMAKE OPTIONS DISABLE BY DEFAULT ###########
# If you are using an AVX2 capable CPU, you will #
# not have AVX2 binaries unless you set -march to #
# 'native', your respective architecture flag: #
# https://gcc.gnu.org/onlinedocs/gcc-5.3.0/gcc/x86-Options.html#x86-Options #
# or just include '-mavx2' to the default compiler#
# flags in the /etc/makepkg.conf: #
# https://wiki.archlinux.org/index.php/Makepkg#Architecture.2C_compile_flagsAdd #
###################################################

hseara commented on 2017-09-24 15:38

@malinke: Currently compiling CUDA against gcc7 is not possible. If you are not using Cuda, feel free to comment the lines where we change the compiler and their options in the PKGBUILD file.

malinke commented on 2017-09-21 13:37

One problem is that in `/etc/makepkg.conf` the cflags and cxxflags contain `-march=x86_64 -mtune=generic`. These flags are not used by gromacs to determine if avx should be activated during the configuration stage of cmake. Therefore gromacs tries to build with avx instructions (on my machine). This results in the following flags to the c/c++ compiler '-march=cpu-avx -march=x86_64 -mtune=generic'. This breaks the builds as only the last usage of `march/tune` is using deactivating the avx build. The build then stops complaining it doesn't know about the avx functions. Overwritting the flags in the PKGBUILD lets the compilation finish.

These cflag I have are the standard for every user.

https://git.archlinux.org/svntogit/packages.git/tree/trunk/makepkg.conf?h=packages/pacman

malinke commented on 2017-09-21 12:31

Gromacs doesn't build with gcc5. Using gcc5 I get the following error.

```
gcc-5: error: unrecognized command line option ‘-fno-plt’
```

I had no problem building and running gromacs with gcc7

hseara commented on 2017-09-13 17:23

Compiling gromacs with CUDA support will fail after the update to glibc-2.26. This is incompatible with CUDA 8 and it is not clear whether the soon to come CUDA 9 will solve this problem. (NEWS: A dirty fix implemented in the CUDA package allows again the compilation).

All comments