Package Details: gromacs 2016.3-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: 1.166298
First Submitted: 2011-12-14 17:03
Last Updated: 2017-03-25 21:29

Latest Comments

hseara commented on 2017-04-28 16:42

At least for Nvidia, Gromacs detects CUDA capable cards. If you have CUDA installed, it then includes CUDA capability without the need of using any flag. This default behavior makes the current Gromacs installation platform agnostic.
I do not wish to enable any flag that can potentially change this platform independent behavior. If Gromacs does not by default activate in your system OpenCL, please write a bug report to Gromacs people, so they provide similar functionality as for CUDA.
You can always edit the PKGBUILD before installing to include your flags. Besides, you will need to tell gromacs to use your compilers.

jaw8621 commented on 2017-04-27 11:44

Now that LLVM and Clang 4.0 is out, gromacs should have the cmake OpenCL compile flags turned on by default. Works since gromacs 5.1 and with both, amd and nvidia as soon as a suitable gpu and driver is present.

Flags: -DGMX_GPU=ON -DGMX_USE_OPENCL=ON

jaw8621 commented on 2017-02-27 19:53

ah thanks. Sorry for my ignorance. New to the arch world :)
I think to clarify this, the message should read something like this:

###### 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 #
###################################################
(Sorry, turned out to be a little longer ;))

to avoid confusion. Right now it makes you think it is set to native when instead it says something x86. Obviously one can just look up /etc/makepkg.conf and find the obvious...

hseara commented on 2017-02-27 12:56

The issue is not when you have -march=native. The issue is when you use the default /etc/makepkg.conf file which contains "-march=x86-64 -mtune=generic" in AVX2 capable computers.

Multi-core compilation is configured in your /etc/makepkg.conf as in any other package. For example, I have MAKEFLAGS="-j12".

jaw8621 commented on 2017-02-26 16:51

what is the issue with:

###### CMAKE OPTIONS DISABLE BY DEFAULT ###########
# If you are using a haswell CPU, you will have #
# problems compiling with AVX2 support unless you #
# modify march=native in the /etc/makepkg.conf: #
# https://wiki.archlinux.org/index.php/Makepkg#Architecture.2C_compile_flagsAdd #
###################################################
? I compile on a haswell machine with -march=native and it produces a correct AVX2 executable. Are newer than haswell architectures also supposedly affected?
And how about compiling on more then 1 core to speed up compile times?

hseara commented on 2016-07-14 20:00

NOTE: PROBLEMS BUILDING GROMACS AFTER GCC6 UPDATE WITH CUDA SUPPORT

If your system has CUDA installed, gromacs installer by default will try to compile with CUDA support. Unfortunately, currently gcc6 and CUDA do not play well along and the compilation will fail. Because of this the later cuda release comes along with gcc5 package.
Using gcc5 we can again build gromacs in bash using the following commands:

export CC=gcc-5
export CXX=g++-5
makepkg

hseara commented on 2016-07-14 19:53

Sorry, I'm not sure I'm understand really your problem.
This package is the default gromacs and as such is installed in:
/usr/bin
/usr/include
/usr/lib
/usr/share
I just build the package and it works perfectly with the files
installed in above directories.

Are you sure that you are installing gromacs and not aur/gromacs-5.0-complete or aur/gromacs-4.6-complete which indeed install this version of gromacs in /usr/local. In this latter packages the intention is that they can coexist with the last stable version in case your projects still require them and because of that they are encapsulated in /usr/local/gromacs-XXX/

If your problems persist please provide more details.

sebstar commented on 2016-07-14 08:55

Thanks for the PKGBUILD!
There's one odd thing though. Am I the only one whose installation prefix specification is totally ignored by Cmake?
In build() cmake is run with -DCMAKE_INSTALL_PREFIX=/usr/. But that is totally ignored, as is revealed during package(): gromacs was still installed into ${pkgdir}/usr/local/gromacs, not ${pkgdir}/usr, so I had to replace all instances of /usr with /usr/local/gromacs.

hseara commented on 2015-07-15 12:21

1) Now tests are run by default. If you do not want them comment out the "make check" lines.
2) License has been corrected to LGPL
3) Specific SIMD is not longer enforced. Gromacs will detect the best for your system. If you have any problem with this modify march=native in the /etc/makepkg.conf
4) I have cleaned the PKGBUILD and some options which are default
5) I will like to keep both double and single compilation together as many times double are also required especially for minimizing. In the future we might consider a separated split package.
6) I want to minimize the usage of AUR-libraries, that's why I won't make default fftw-bettersimd. You can also make another package, Eg. gromacs-fftw-bettersimd, to incorporate your changes if you want to.

hseara commented on 2015-07-15 12:20

1) Now tests are run by default. If you do not want them comment out the "make check" lines.
2) License has been corrected to LGPL
3) Specific SIMD is not longer enforced. Gromacs will detect the best for your system. If you have any problem with this modify march=native in the /etc/makepkg.conf
4) I have cleaned the PKGBUILD and some options which are default
5) I will like to keep both double and single compilation together as many times double are also required especially for minimizing. In the future we might consider a separated split package.

All comments