[Debichem-devel] GROMACS 4.6-beta1 release

Susi Lehtola jussilehtola at fedoraproject.org
Fri Dec 21 00:22:00 UTC 2012

On Fri, 21 Dec 2012 00:40:34 +0100
"Dominik 'Rathann' Mierzejewski" <dominik at greysector.net> wrote:
> > The default build produces an executable that targets the best
> > instruction set supported by the build host, and the executables
> > will not run if that set is not supported. From the point of view
> > of packaging, that's ugly. Either there needs to be multiple
> > packages, or you will need to choose an instruction set that is
> > conservative enough to always work. -DGMX_CPU_ACCELERATION=None
> > will always work, but will be horribly slow.
> > -DGMX_CPU_ACCELERATION=SSE2 probably runs about as fast as the 4.x
> > series, but is probably faster through our better use of force-only
> > kernels. -DGMX_CPU_ACCELERATION=SSE4.1 is only slightly faster than
> > SSE2. And then there is AVX, which is faster still, but stil having
> > teething issues.
> >
> > I'd suggest having an SSE2 and a None, but it really depends on
> > what the downstream people want.
> For x86_64, SSE2 is supported by all processors, so it shouldn't be an
> issue, but for x86_32, the binary should run even on an ancient
> Pentium Pro (Fedora x86_32 minimum CPU requirement). Have you
> considered implementing runtime CPU detection?

IIRC the old assembly kernels had runtime CPU detection.

I don't think the current situation is that bad, if there is no
significant speed difference between SSE2 and the most heavily
optimized version.

I'm perfectly happy to ship an SSE2 version on x86_64 and a version
without CPU acceleration on other architectures, since everyone who
actually does calculations surely is on x86_64 architecture.
Susi Lehtola
Fedora Project Contributor
jussilehtola at fedoraproject.org

More information about the Debichem-devel mailing list