{"id":24334452,"url":"https://github.com/hubenchang0515/fft-benchmark","last_synced_at":"2026-07-04T22:31:16.352Z","repository":{"id":78768631,"uuid":"568726871","full_name":"hubenchang0515/FFT-benchmark","owner":"hubenchang0515","description":"一些 FFT 库的性能测试","archived":false,"fork":false,"pushed_at":"2022-11-28T08:39:57.000Z","size":33,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-27T13:30:50.901Z","etag":null,"topics":["cuda","fft"],"latest_commit_sha":null,"homepage":"","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hubenchang0515.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-11-21T09:31:41.000Z","updated_at":"2024-10-25T01:32:43.000Z","dependencies_parsed_at":"2023-05-02T11:02:21.703Z","dependency_job_id":null,"html_url":"https://github.com/hubenchang0515/FFT-benchmark","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hubenchang0515/FFT-benchmark","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubenchang0515%2FFFT-benchmark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubenchang0515%2FFFT-benchmark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubenchang0515%2FFFT-benchmark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubenchang0515%2FFFT-benchmark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hubenchang0515","download_url":"https://codeload.github.com/hubenchang0515/FFT-benchmark/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubenchang0515%2FFFT-benchmark/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35138074,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-04T02:00:05.987Z","response_time":113,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cuda","fft"],"created_at":"2025-01-18T04:16:00.724Z","updated_at":"2026-07-04T22:31:16.327Z","avatar_url":"https://github.com/hubenchang0515.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FFT-benchmark\n一些 FFT 库的性能测试\n\n## 测试环境\nCPU: AMD Ryzen 9 5900HX  \nGPU: NVIDIA GeForce RTX 3060 Laptop GPU  \nOS : Ubuntu 22.04.1 LTS  \n\n## 测试结果\n\n\u003e 由于笔记本使用的混合输出模式，独立显卡通常处于休眠状态，因此冷启动很慢。  \n\n| 方案       | 规模        |  耗时 | \n| :-        | :-          | :-  |\n| FFTW      | 2^10        | real    0m0.001s         |\n|           | 2^20        | real    0m0.050s         |\n|           | 2^25        | real    0m2.214s         |\n| CPP自编码  | 2^10        | real    0m0.002s         |\n|           | 2^20        | real    0m0.449s         |\n|           | 2^25        | real    0m18.309s        |\n| cuFFTW    | 2^10        | real    0m1.275s (冷启动) |  \n|           |             | real    0m0.112s (热启动) |\n|           | 2^20        | real    0m1.301s (冷启动) |  \n|           |             | real    0m0.133s (热启动) |\n|           | 2^25        | real    0m2.380s (冷启动) |  \n|           |             | real    0m2.147s (热启动) |\n| CUDA自编码 | 2^10        | real    0m1.273s (冷启动) |\n|           |             | real    0m0.114s (热启动) |\n|           | 2^20        | real    0m1.370s (冷启动) |\n|           |             | real    0m0.194s (热启动) |\n|           | 2^25        | real    0m4.285s (冷启动) |\n|           |             | real    0m3.022s (热启动) |\n\nFFT 本身是高度优化的算法，整体时间复杂的为 O(nlogn)。仅在 logn 次循环中分别计算 n 次简单的四则运算。可并发规模小，使用 GPU 运算带来的运算性能提升不及显存 IO （传输的时间复杂度为为O(n)）带来的性能损失。在小规模数据下 FFTW 相比 cuFFT，即使在热启动状态下也有上千倍的优势。在 2^25 次方的巨大数据规模下 cuFFT 才勉强追平，这是一个不切实际的数据量。通常数据量仅在数千量级。\n\n总上所述，使用 GPU 计算 FFT 是没有价值的。\n\n\u003e 可以考虑使用 SIMD 指令（SSE、AVX等）优化 FFT 算法。\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhubenchang0515%2Ffft-benchmark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhubenchang0515%2Ffft-benchmark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhubenchang0515%2Ffft-benchmark/lists"}