[gmx-users] CygWin and Gromacs 4.5.5
Mirco Wahab
wahab-mail at gmx.de
Sun Nov 13 02:10:51 CET 2011
On 10.11.2011 15:28, Szilárd Páll wrote:
> On Tue, Nov 8, 2011 at 11:59 PM, Mark Abraham<Mark.Abraham at anu.edu.au>wrote:
>> Actually I don't think this issue has been addressed. Some NUMA-aware
>> thread_mpi stuff does not work under Cygwin, and code added since 4.5.4
>> assumes that it does. I can find no reason to support that assumption.
>>
>> To work around, use configure --disable-threads.
This seems to be correct for the current situation
(CygWin 2.738 + Gromacs 4.5.5).
I was able to build Gromacs 4.5.5 (32 bit) on Cygwin (gcc 4.5.3)
w/o threads:
$ tar xzf gromacs-4.5.5.tar.gz
$ mkdir build; cd build
$ LDFLAGS="-L/usr/local/lib/ -llapack -lblas -lgfortran" \
../gromacs-4.5.5/configure \
--disable-threads --with-fft=fftw3 --with-gsl
--with-external-lapack --with-external-blas
$ make install
This worked *after* I compiled and installed fftw3:
$ ./configure --with-our-malloc16 --enable-threads \
--enable-float --enable-sse
$ make -j 4
and Lapack 3.3.1 from source on this cygwin installation
(packaged version won't work due to missing s* linkage,
as fas as I understood).
Performance on the system I tested is rather poor.
I used a membrane system w/10^6 Particles (Martini/NPT,
coulombtype=Shift), the main memory used ~ 300MB.
This has been tested on a PhenomII/X6 @3400MHz.
(The same system is runnning also under Linux
on a i7/2600K @4.2GHz) :
****************************************************************
4.5.5/32b | Cygwin-version: <0.5 GFlops (single process only)
4.5.5/64b | Windows-version: ~10 GFlops (6 threads)
4.5.5/64b | Linux/icc: ~20GFlops (8 threads)
****************************************************************
>> I'd be surprised. Why should MSVC outperform gcc?
>
> That statement was based on my previous experience which, admittedly, might
> be outdated. I don't remember the exact details, but from what I recall,
> the I had to fiddle quite a lot with gcc optimizations to get the
> performance close to MSVC. One detail might be important: the code I was
> working on is C/C++ mix which quite a lot of ++ in it.
>
> Anyway, to get a better picture, it would be nice if people running GROMACS
> on Windows could share their experience/performance numbers.
The Linux-compiled (both gcc and icc) versions *and* the
native Windows-64 report after startup:
...
Configuring nonbonded kernels...
Configuring standard C nonbonded kernels...
Testing x86_64 SSE2 support... present.
...
whereas, the Cygwin-compiled version says:
...
Configuring nonbonded kernels...
Configuring standard C nonbonded kernels...
Testing ia32 SSE2 support... present.
...
So I don't have any idea why it would be that slow,
(even scaled by 6 or processor affinity set) compared
to the msvc-64 (2010) compiled version. There's enough
memory and no disk activity during tests.
Regards,
M.
More information about the gromacs.org_gmx-users
mailing list