{"id":18711246,"url":"https://github.com/rocm/hipfft","last_synced_at":"2025-04-12T00:35:10.335Z","repository":{"id":39758718,"uuid":"246145437","full_name":"ROCm/hipFFT","owner":"ROCm","description":"hipFFT is a FFT marshalling library.","archived":false,"fork":false,"pushed_at":"2025-04-09T20:56:17.000Z","size":1352,"stargazers_count":61,"open_issues_count":7,"forks_count":36,"subscribers_count":25,"default_branch":"develop","last_synced_at":"2025-04-09T21:39:47.688Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://rocm.docs.amd.com/projects/hipFFT/en/latest/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ROCm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-09T21:26:32.000Z","updated_at":"2025-04-08T16:30:32.000Z","dependencies_parsed_at":"2023-02-16T22:25:22.222Z","dependency_job_id":"959877d0-c809-4fdc-b9ca-aa7b78b04b4f","html_url":"https://github.com/ROCm/hipFFT","commit_stats":{"total_commits":169,"total_committers":20,"mean_commits":8.45,"dds":0.8224852071005917,"last_synced_commit":"c517f385e5fbaa64dd08f612222382cfb9df0517"},"previous_names":["rocm/hipfft"],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2FhipFFT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2FhipFFT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2FhipFFT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2FhipFFT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ROCm","download_url":"https://codeload.github.com/ROCm/hipFFT/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248501787,"owners_count":21114679,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-07T12:38:08.491Z","updated_at":"2025-04-12T00:35:10.296Z","avatar_url":"https://github.com/ROCm.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hipFFT\n\nhipFFT is an FFT marshalling library that supports\n[rocFFT](https://github.com/ROCmSoftwarePlatform/rocFFT) and\n[cuFFT](https://developer.nvidia.com/cufft) backends.\n\nhipFFT exports an interface that doesn't require the client to change, regardless of the chosen backend.\nIt sits between your application and the backend FFT library, where it marshals inputs to the backend\nand marshals results back to your application.\n\n## Documentation\n\n\u003e [!NOTE]\n\u003e The published hipFFT documentation is available at [hipFFT](https://rocm.docs.amd.com/projects/hipFFT/en/latest/index.html) in an organized, easy-to-read format, with search and a table of contents. The documentation source files reside in the hipFFT/docs folder of this repository. As with all ROCm projects, the documentation is open source. For more information, see [Contribute to ROCm documentation](https://rocm.docs.amd.com/en/latest/contribute/contributing.html).\n\nTo build our documentation locally, run the following code:\n\n```bash\ncd docs\n\npip3 install -r sphinx/requirements.txt\n\npython3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html\n```\n\n## Build and install\n\nYou can download pre-built packages from the\n[ROCm package servers](https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html).\n\nIf you're using Ubuntu, you can run: `sudo apt update \u0026\u0026 sudo apt install hipfft`.\n\n### Building from source\n\nTo build hipFFT from source, follow these steps:\n\n1. Install the library build dependencies:\n\n   * On AMD platforms, you must install [rocFFT](https://github.com/ROCmSoftwarePlatform/rocFFT).\n   * On NVIDIA platforms, you must install [cuFFT](https://developer.nvidia.com/cufft).\n\n2. Install the client build dependencies:\n\n   * The clients (samples, tests, etc) included with the hipFFT source depend on hipRAND, FFTW and GoogleTest.\n\n3. Build hipFFT:\n\n    To show all build options:\n\n    ```bash\n      mkdir build \u0026\u0026 cd build\n      cmake -LH ..\n    ```\n\nHere are some CMake build examples:\n\n* AMD GPU\n  * Case: Build a project using HIP language APIs + hipFFT with standard host compiler\n    * Code: `cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -L ..`\n  * Case: Build a project using HIP language APIs + hipFFT + device kernels with HIP-Clang\n    * Code: `cmake -DCMAKE_CXX_COMPILER=amdclang++ -DCMAKE_BUILD_TYPE=Release -DBUILD_CLIENTS=ON -L ..`\n* NVIDIA GPU\n  * Case: Build a project using HIP language APIs + hipFFT with standard host compiler\n    * Code: `cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DBUILD_WITH_LIB=CUDA -L ..`\n  * Case: Build a project using HIP language APIs + hipFFT + device kernels with HIP-NVCC\n    * Code: `HIP_PLATFORM=nvidia cmake -DCMAKE_CXX_COMPILER=hipcc -DCMAKE_BUILD_TYPE=Release -DBUILD_CLIENTS=ON -L ..`\n\n```note\nThe `-DBUILD_CLIENTS=ON` option is only allowed with the amdclang++ or HIPCC compilers.\n```\n\n## Porting from CUDA\n\nIf you have existing CUDA code and want to transition to HIP, follow these steps:\n\n1. [HIPIFY](https://github.com/ROCm-Developer-Tools/HIPIFY) your code and fix all unsupported CUDA\n   features and user-defined macros\n2. Build with HIP-NVCC to run on an NVIDIA device\n3. Build with HIP-Clang to run on an AMD device\n\nMore information about porting to HIP is available in the\n[HIP porting guide](https://rocm.docs.amd.com/projects/HIP/en/develop/user_guide/hip_porting_guide.html).\n\n## Support\n\nYou can report bugs and feature requests through the GitHub\n[issue tracker](https://github.com/ROCm/hipFFT/issues).\n\n## Contribute\n\nIf you want to contribute to hipFFT, you must follow our [contribution guidelines](https://github.com/ROCm/hipFFT/blob/develop/.github/CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocm%2Fhipfft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frocm%2Fhipfft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocm%2Fhipfft/lists"}