Hi Bruce,

We do timing tests of several routines in s...@home before choosing
the one to use.  Our timing code is in our subversion repository
(http://setisvn.ssl.berkeley.edu/) in the seti_boinc/client/vector
directory if you want to use it.

There may be one hitch, though.  You may need to get a non-GPL licence
for FFTW in order to allow you to also link in IMKL and ACML in the
same distributed binary.  You might want to Matteo ( athena at
fftw.org ) or Steven ( stevenj at fftw.org ) to see if they have a
problem with also linking in non-GPL-compatible non-operating-system
libraries.   They might be able to give you a non-GPL license (they
gave s...@home one before we were open source) or they might allow it
as long as the rest of your app is GPL compliant.  They are sticklers
on distributing a copy of the GPL and a source offer with the
binaries, and got on my case at one point about that before we started
putting the COPYING and COPYRIGHT files in the application.

Because of this linking difficulty we had to put a license exception
in the s...@home copyright to allow linking non-GPL FFT libraries.   A
GPL without exceptions wouldn't allow the use of proprietary FFT
libraries.  It's annoying but was necessary if we wanted to use  FFTW
while allowing others to use the Intel or AMD libraries...

// In addition, as a special exception, the Regents of the University of
// California give permission to link the code of this program with libraries
// that provide specific optimized fast Fourier transform (FFT) functions
// as an alternative to FFTW and distribute a linked executable and
// source code.  You must obey the GNU General Public License in all
// respects for all of the code used other than the FFT library itself.
// Any modification required to support these libraries must be distributed
// under the terms of this license.  If you modify this program, you may extend
// this exception to your version of the program, but you are not obligated to
// do so. If you do not wish to do so, delete this exception statement from
// your version.  Please be aware that FFTW is not covered by this exception,
// therefore you may not use FFTW in any derivative work so modified without
// permission of the authors of FFTW.

Sorry to be the bearer of complexity.

Eric

On Mon, Aug 3, 2009 at 3:39 AM, Bruce Allen<[email protected]> wrote:
> Dear BOINC devs,
>
> For some of the einst...@home code which is FFT-bound, we are going to
> try the following strategy:
>
> (1) Link our application to FFTW, Intel Math Kernel Library (IMKL) and
> to the AMD Core Math Library (ACML).
>
> (2) At app start up, do some timing tests to measure the speed of each
> different library.  We have a fixed data size.
>
> (3) Dynamically use the library which is tested as the fastest on the
> host machine.
>
> I have two questions:
>
> (A) Has someone else already tried this approach?
>
> (B) Is anyone currently redistributing the ACML or IMKL with their
> application?  If so, did you sign a licensing agreement like this:
>
> http://developer.amd.com/cpu/Libraries/acml/redistribution/Pages/default.aspx
>
> Cheers,
>        Bruce
>
>
>
> _______________________________________________
> boinc_dev mailing list
> [email protected]
> http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
> To unsubscribe, visit the above URL and
> (near bottom of page) enter your email address.
>
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to