Project

General

Profile

Support #15597

Include single precision libfftw3f for next FFTW3 UPS product build

Added by Brett Viren over 3 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
-
Start date:
02/20/2017
Due date:
% Done:

100%

Estimated time:
10.00 h
Spent time:
Scope:
Internal
Experiment:
DUNE, MicroBooNE
SSI Package:
Co-Assignees:
Duration:

Description

The default build of FFTW3 does not include libfftw3f which provides single-precision floating point FFT functions. By default only the double-precision libfftw3 is built.

The x2 inflation of holding full LArTPC plane or APA readouts in memory as doubles substantially increases the RAM footprint and brings no benefit.

Holding readouts as float and then upcasting to double for the FFT adds a 15% CPU overhead.

So, I request that libfftw3f be built next time FFTW3 and the things it depends on can be rebuilt.

For now this is blocking the "wirecell" v0_5_0 UPS product build. This release brings speed increases (directly due to using FFTW), better signal protection during coherent noise subtraction, and configurable knobs for some of the algorithms.


Related issues

Related to LArSoft - Support #15565: wirecell 0.5.0Closed02/16/2017

History

#1 Updated by Lynn Garren over 3 years ago

  • Status changed from New to Assigned
  • % Done changed from 0 to 10
  • Estimated time set to 10.00 h

fftw v3_3_6_pl1a has been tagged and is ready for inclusion in a product stack. Both the regular (double precision) and single precision libaries are included. Note that this is only a small part of the work required.

#2 Updated by Brett Viren over 3 years ago

I was going to test a build of Wire Cell Toolkit against this new build of FFTW3 but I don't find it installed as a UPS product under:

/grid/fermiapp/products/*/fftw/*

Is it available somewhere from the dunegpvmXX nodes?

#3 Updated by Lynn Garren over 3 years ago

It has not yet been installed. I will do that now.

#4 Updated by Brett Viren over 3 years ago

I made a minor release 0.5.1 which adds "regex" Boost library to the link as it wasn't being picked up on all platforms implicitly.

Lynn, I still need to apply your GCC 6.3 fixes for the WCT build bugs you found!

#5 Updated by Brett Viren over 3 years ago

I made a release with the GCC 6.3 patch from Lynn and an option to use double-precision FFTW.

https://github.com/WireCell/wire-cell-build/releases/tag/0.5.2

This ticket is related to

https://cdcvs.fnal.gov/redmine/issues/15565

#6 Updated by Lynn Garren over 3 years ago

#7 Updated by Lynn Garren over 3 years ago

  • Status changed from Assigned to Resolved
  • % Done changed from 10 to 100

The single precision libfftw3f is part of fftw v3_3_6_pl1a. This is now distributed with art v2_06_03 and larsoft v06_30_00 and later.

#8 Updated by Lynn Garren over 3 years ago

  • Status changed from Resolved to Closed


Also available in: Atom PDF