Powered by OpenAIRE graph
Found an issue? Give us feedback
ZENODOarrow_drop_down
ZENODO
Article . 2023
License: CC BY
Data sources: Datacite
ZENODO
Article . 2023
License: CC BY
Data sources: Datacite
versions View all 2 versions
addClaim

This Research product is the result of merged Research products in OpenAIRE.

You have already added 0 works in your ORCID record related to the merged Research product.

High Performance Kernels for FFT via Modern C++

Authors: Caprioli, Paul; Jenkins, Robby;

High Performance Kernels for FFT via Modern C++

Abstract

Mathematical software for the Fast Fourier Transform We present a library for computing the Fast Fourier Transform (FFT) with an interface that fully embraces the principles of modern C++. We support half, single, and double precision; in-place and out-of-place transforms; scaling; arbitrary dimensions; and both complex and real time domain data. We currently support AVX2 and AVX512 hardware. The API of hpkfft is based on the abstract factory design pattern. We have different types for in-place and out-of-place and template on both precision and domain types to allow static type checking at compilation time. Scaled and unscaled functions have distinct names, and the scale factor is provided at each call site, not beforehand. FFT compute objects are immutable, thread-safe, fully initialized at construction, and managed by smart pointers. Our results are overall more accurate than the leading vendor library. For half precision, only 58 FFT lengths are vendor supported, and on those, we have slightly lower error: a little better than 3% using the geometric mean. Our error for AVX512 single precision is 15% lower in the mean; for AVX512 double precision, 25% lower. Furthermore, our performance is generally higher. In AVX512 half precision, our geometric mean performance on the vendor supported sizes is 15% higher. That grows to 20% when evaluated using a small batch. For single and double precision, our AVX512 performance is over 30% higher in the mean. For AVX2, it is over 40% higher.

Keywords

hpkfft, discrete Fourier transform, Fast Fourier Transform, high performance kernels, FFT

  • BIP!
    Impact byBIP!
    selected citations
    These citations are derived from selected sources.
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    0
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
    OpenAIRE UsageCounts
    Usage byUsageCounts
    visibility views 28
    download downloads 12
  • 28
    views
    12
    downloads
    Powered byOpenAIRE UsageCounts
Powered by OpenAIRE graph
Found an issue? Give us feedback
visibility
download
selected citations
These citations are derived from selected sources.
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
views
OpenAIRE UsageCountsViews provided by UsageCounts
downloads
OpenAIRE UsageCountsDownloads provided by UsageCounts
0
Average
Average
Average
28
12
Upload OA version
Are you the author of this publication? Upload your Open Access version to Zenodo!
It’s fast and easy, just two clicks!