[gmx-developers] Building 5.0 on Cygwin x64
Mirco Wahab
mirco.wahab at chemie.tu-freiberg.de
Wed Jul 9 12:37:24 CEST 2014
After seeing some patches reaching gerrit, I tried to build it
on Cygwin x64 w/recent gcc 4.8.3 (which comes ootb).
three minor problems found:
1) missing time.h in impl.h (inherited from 4.6.x), can be solved
by hot-patching for now by:
perl -i.bak -pe '$once||=s/\A/#define HAVE_SYS_TIME_H\n/'
src/external/thread_mpi/src/impl.h
2) in a recent patch (3764/5), set(CXX11_FLAG "-std=gnu++0x")
has been added for Cygwin, but it also will work perfectly using
"-std=gnu++11". In the 5.0-Release, this can eg. be written by hand
into CMakeCache.txt:
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -std=gnu++11 -DNDEBUG
3) could not get gromacs w/shared fftw3 libs built for unknown reasons.
Had to add -DBUILD_SHARED_LIBS=off, maybe this wont change anytime
soon in the cygwin world.
Voila, a working Gromacs-5-system can be built. The previous obligatory
additional mdrun_mpi doesn't seem necessary any more but can be built
too. Comparison using an old 1 Mio atom MARTINI membrane system
(Phenom II X6, SSE2, RF electrostatics):
Cygwin x64:
mdrun
Using 6 MPI threads
Using 1 OpenMP thread per tMPI thread
22.273 ns/day
mdrun_mpi
Using 1 MPI process
Using 6 OpenMP threads
19.341 ns/day
Comparison to the host system (Windows 8.1 x64, VS 2012 x64 native):
gmx mdrun -nb cpu
Using 6 MPI threads
Using 1 OpenMP thread per tMPI thread
20.546
gmx mdrun (CUDA6, GTX-660Ti)
Using 1 MPI thread
Using 6 OpenMP threads
33.594 ns/day
Not bad so far!
Regards
M.
More information about the gromacs.org_gmx-developers
mailing list