Author Topic: Multithreading with FFT-IFFT  (Read 18898 times)

Siekmanski

  • Member
  • *****
  • Posts: 1094
Re: Multithreading with FFT-IFFT
« Reply #120 on: April 14, 2016, 10:12:12 AM »
Thank you guys for the timing reports.  :t

Here is a Multithreading 1024 point FFT version, on my machine it scores an average of 68223 MegaFlops per FFT.

Would be nice to see timings  from your computers.....

Code: [Select]
Multithreading FFT routines by Siekmanski 2015.

Processor Name      : Intel(R) Core(TM) i7-4930K CPU @ 3.40GHz
Operating System    : Windows 8
Hyperthreading      : YES
Logical Processors  : 12
Physical Processors : 6
ActiveProcessorMask : 0FFFh

Initializing Reverse-Binary Table, FFT and IFFT Sine-Cosine Tables.......

Timing starts after waking up cores....

 0.1889020 seconds for 50000 * '1024 FFT' single thread.
 MegaFlops: 13552

Let the OS manage the cores:
 0.5070735 seconds for 12 * 50000 * '1024 FFT' with 12 threads.
 MegaFlops: 60583

Use AffinityMasks to manage the cores:
 0.4502866 seconds for 12 * 50000 * '1024 FFT' with 12 threads.
 MegaFlops: 68223

Hyperthreading on board, let's test even and uneven AffinityMask bits....

 0.3286985 seconds for 6 * 50000 * '1024 FFT' with 6 threads. ( Even )
 MegaFlops: 46730

 0.3556083 seconds for 6 * 50000 * '1024 FFT' with 6 threads. ( Uneven )
 MegaFlops: 43194


jj2007

  • Member
  • *****
  • Posts: 7558
  • Assembler is fun ;-)
    • MasmBasic
Re: Multithreading with FFT-IFFT
« Reply #121 on: April 14, 2016, 10:14:38 AM »
You are not respecting the speed limits, Marinus :eusa_naughty:
Code: [Select]
Processor Name      : Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz
Operating System    : Windows 7
Hyperthreading      : YES
Logical Processors  : 4
Physical Processors : 2
ActiveProcessorMask : 000Fh

Initializing Reverse-Binary Table, FFT and IFFT Sine-Cosine Tables.......

Timing starts after waking up cores....

 0.2328926 seconds for 50000 * '1024 FFT' single thread.
 MegaFlops: 10992

Let the OS manage the cores:
 0.5001578 seconds for 4 * 50000 * '1024 FFT' with 4 threads.
 MegaFlops: 20474

Use AffinityMasks to manage the cores:
 0.5512171 seconds for 4 * 50000 * '1024 FFT' with 4 threads.
 MegaFlops: 18577

Hyperthreading on board, let's test even and uneven AffinityMask bits....

 0.3645042 seconds for 2 * 50000 * '1024 FFT' with 2 threads. ( Even )
 MegaFlops: 14046

 0.3245189 seconds for 2 * 50000 * '1024 FFT' with 2 threads. ( Uneven )
 MegaFlops: 15777

Siekmanski

  • Member
  • *****
  • Posts: 1094
Re: Multithreading with FFT-IFFT
« Reply #122 on: April 14, 2016, 10:16:49 AM »
Thanks Jochen.  :eusa_dance:

Raistlin

  • Member
  • **
  • Posts: 238
Re: Multithreading with FFT-IFFT
« Reply #123 on: April 14, 2016, 04:00:14 PM »
Code: [Select]
Multithreading FFT routines by Siekmanski 2015.

Processor Name      : Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz
Operating System    : Windows 8
Hyperthreading      : YES
Logical Processors  : 4
Physical Processors : 2
ActiveProcessorMask : 000Fh

Initializing Reverse-Binary Table, FFT and IFFT Sine-Cosine Tables.......

Timing starts after waking up cores....

 0.1614891 seconds for 50000 * '1024 FFT' single thread.
 MegaFlops: 15852

Let the OS manage the cores:
 0.2624986 seconds for 4 * 50000 * '1024 FFT' with 4 threads.
 MegaFlops: 39010

Use AffinityMasks to manage the cores:
 0.2984818 seconds for 4 * 50000 * '1024 FFT' with 4 threads.
 MegaFlops: 34307

Hyperthreading on board, let's test even and uneven AffinityMask bits....

 0.2712594 seconds for 2 * 50000 * '1024 FFT' with 2 threads. ( Even )
 MegaFlops: 18875

 0.2641408 seconds for 2 * 50000 * '1024 FFT' with 2 threads. ( Uneven )
 MegaFlops: 19384


Press any key to continue...