unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eric Bavier <bavier@cray.com>
To: Chris Marusich <cmmarusich@gmail.com>
Cc: guix-devel@gnu.org
Subject: Re: fftw runtime cpu detection
Date: Fri, 6 Apr 2018 10:08:46 -0500	[thread overview]
Message-ID: <20180406150846.GV105827@pe06.us.cray.com> (raw)
In-Reply-To: <87po3cahxw.fsf@gmail.com>

On Fri, Apr 06, 2018 at 12:54:19AM -0700, Chris Marusich wrote:
> Eric Bavier <bavier@cray.com> writes:
> 
> > I recently discovered that the FFTW library can do runtime cpu
> > detection.
> 
> Cool!  I'm not familiar with this library, but the patch seems pretty
> reasonable to me.

Thanks for looking at it.

> > In order to do this, the package needs to be configured to build SIMD
> > "codelets", like how our 'fftw-avx' currently does.  Then, based on
> > the instruction support detected at runtime, make those kernels
> > available to the fftw "planner" for execution.
> 
> So, if we choose the right configure flags at build time (for the given
> architecture), then at runtime, the software will detect the CPU and
> either perform better or make more features available.  Is that right?

That's the idea, yes.  The simd kernels will execute if the cpu
supports them and the fftw planner finds they are faster in practice
than other kernels.

> 
> I see you added the "--enable-sse" configure flag, and it not present
> before.  Why did you add it?
> 

In the documentation, I had seen it listed as the simd flag for
single-precision.  But now I see a comment in configure.ac that says
the --enable-sse2 flag Does The Right Thing when --enable-float is
given, so it can be left out.  Thanks for checking!

-- 
Eric Bavier, Scientific Libraries, Cray Inc.

  reply	other threads:[~2018-04-06 15:09 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-05 22:13 fftw runtime cpu detection Eric Bavier
2018-04-06  7:54 ` Chris Marusich
2018-04-06 15:08   ` Eric Bavier [this message]
2018-04-06  8:05 ` Ludovic Courtès
2018-04-06 15:02   ` Eric Bavier
2018-04-06 15:09     ` Ludovic Courtès
2018-04-06 18:37       ` Marius Bakke
2018-04-17 21:29         ` Eric Bavier
2018-04-18 21:36           ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180406150846.GV105827@pe06.us.cray.com \
    --to=bavier@cray.com \
    --cc=cmmarusich@gmail.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).