#5 FloatFFT_2D.realForward(float[][]) hangs for size >= 8K

open
nobody
None
5
2012-02-16
2012-02-16
Laurent Bourgès
No

This is related to FFT 1D concurrency thresholds whereas all threads are already busy within FloatFFT_2D.realForward().

As a workaround, I explicitly set these thresholds to INFINITY to disable FFT 1D parallelism:
// JTransforms: disable FFT_1D parallelism:
ConcurrencyUtils.setThreadsBeginN_1D_FFT_2Threads(Integer.MAX_VALUE);
ConcurrencyUtils.setThreadsBeginN_1D_FFT_4Threads(Integer.MAX_VALUE);

Maybe JTransforms could automatically disable FFT 1D parallelism when FFT 2D are computed ...

I propose that the FloatFFT_2D constructor which instanciate FloatFFT_1D objects (row/columns) define a flag useThreads = false in order to disable concurrency in such cases ...

Discussion


  • Anonymous
    2012-08-08

    Another workaround seems to work for me...

    ConcurrencyUtils.setThreadsBeginN_2D(Integer.MAX_VALUE);

    the recommended ones had no effects in my case (images sizing some MB!!)

     

  • Anonymous
    2012-08-08

    Just add this method to edu.emory.mathcs.utils.Concurrencyutils:

    public static void shutdown() {

    THREAD_POOL.shutdown();
    }

    and invoke it whenever you want.
    This will shutdown all the threads in the thread pool!

     
    Last edit: Anonymous 2013-09-19
  • Hey! Someone in my Facebook group shared this site with us so I came to look it over. I'm definitely enjoying the information. I'm bookmarking and will be tweeting this to my followers! Terrific blog and great design.
    cheap north face jackets http://northface60.blogoak.com/?blogname=northface60&postarch=2&tpl=

     
  • This is really interesting, You are a very skilled blogger. I have joined your rss feed and look forward to seeking more of your magnificent post. Also, Ive shared your site in my social networks!
    <a href="http://www.finetune.com/user/sproutbomber2" title="At wholesale prices">At wholesale prices</a>