Improve FFTUnswizzle performance
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- リファクタリング
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- cpp
- 領域
- performance
調査の方向性
まず XDSP.h の FFT と FFTUnswizzle の実装を読み、issue で説明されている奇数の 2 のべき乗におけるインデックス順序に注目してください。インプレースの並べ替えアプローチで純実数変換をサポートし、パフォーマンスを向上できるか判断してください。完了には、さらなる調査ではなく、実装方針を決定することが必要です。
索引モデルが issue の本文から書いたものです。
説明
Edit: I'm completely rewriting my entry
Using the FFT in XDSP.h I'm implementing a transform routine for pure real sequences equivalent to the function ippsFFTFwd_RToCCS_32f in the Intel IPP. The idea is to use an N/2 complex FFT as described in the literature.
In order to improve the performance of my routine I would like to unswizzle the frequency domain values in place. For even powers of two a swap reordering will do (i.e. the usual radix-4 digit reversal). For odd powers of two, though, FFTUnswizzle keeps the three most significant bits of the index together, like this: 011 10 11 01 -> 01 11 10 011 , which makes implementing in place reordering a bit more challenging.
Has anyone looked into this already?
- 主要言語
- C++
- スター
- 1.8k
- フォーク
- 262
- 平均マージ
- 20時間 57分
- マージ済み PR(30日)
- 4
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/DirectXMath のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 58/100
microsoft/DirectXMath#346 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
microsoft/DirectXMath#342 ·
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
microsoft/DirectXMath#328 ·
-
simplemath
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
microsoft/DirectXMath#327 · コメント 1 件 ·
-
Project feedback オープン
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
microsoft/DirectXMath#326 · コメント 2 件 ·
microsoft/DirectXMath の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
AXERA-TECH/ax-llm#77 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
games-on-whales/wolf#509 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
-
bug-unconfirmed
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100