SPIRAL
  • Introduction
  • Getting Started
  • Examples
    • Basic FFTs
      • Generate a Simple FFT
      • FFT with SIMD Instructions
      • Threaded FFT with OpenMP
      • Find a Good Rule Tree with Dynamic Programming
      • 3D FFT with AVX Using Dynamic Programming Search
    • GPU Examples (using CUDA)
    • Advanced Examples from FFTX
    • Advanced Examples from DARPA BRASS Demonstrating HCOL
  • GAP3 Language
  • SPIRAL Objects and Data Types
  • SPIRAL Infrastructure
  • Special Hardware
  • Debugger
  • Profiler
  • Getting Help with SPIRAL
  • Contributing to SPIRAL
  • Further Reading
SPIRAL
  • Examples
  • 3D FFT with AVX Using Dynamic Programming Search
  • View page source

3D FFT with AVX Using Dynamic Programming Search

opts := SIMDGlobals.getOpts(AVX_4x64f);
transform := TRC(MDDFT([64,64,64])).withTags(opts.tags);
best := DP(transform, rec(), opts);
ruletree := best[1].ruletree;
icode := CodeRuleTree(ruletree, opts);
PrintTo("AVX_3DDFT64.c", PrintCode("AVX_3DDFT64", icode, opts));
Previous Next

© Copyright 2021, SPIRAL Team.

Built with Sphinx using a theme provided by Read the Docs.