fftw-age

FFTW wisdom generation

https://github.com/mikeswang/fftw-age

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.2%) to scientific vocabulary

Keywords

cpp fftw
Last synced: 6 months ago · JSON representation ·

Repository

FFTW wisdom generation

Basic Info
  • Host: GitHub
  • Owner: MikeSWang
  • License: gpl-3.0
  • Language: C++
  • Default Branch: main
  • Homepage:
  • Size: 104 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Topics
cpp fftw
Created almost 2 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing Code of conduct Citation Security Support

README.md

FFTW-Age: FFTW Wisdom Generation

Release CI pre-commit.ci-Status Codacy-Badge

"With age comes wisdom, but sometimes age comes alone."  — Oscar Wilde

FFTW-Age is a lightweight C++ utility for generating FFTW wisdom files for OpenMP-multithreaded 3‑d FFT transforms as a replacement for fftw-wisdom.

For background information, please refer to FFTW Wisdom.

Installation

The C++ program can built with make, provided that dependency requirements (FFTW3 and OpenMP libraries) are satisfied.

[!IMPORTANT] Ensure the C++ compiler used supports OpenMP and the FFTW3 library is installed/configured accordingly. The default Makefile (located at the repository directory root) assumes the GCC compiler and OpenMP library.

First git clone the desired branch/release from the GitHub repository and change into the repository directory path:

sh git clone git@github.com:MikeSWang/FFTW-Age.git --branch <branch-or-release> cd FFTW-Age

Then, execute in shell:

sh make clean make install

Usage

Once installed, the FFTW-Age utility can be called from the command line:

sh fftw-age [--rigour=<tplan>] [--outdir=<wisdom-dir>] <tdir>-<dimx>x<dimy>x<dimz>

where

  • fftw-age is assumed to be executable (include the path if it is not in the current working directory);
  • <tdir> is the transform direction, either "f" for FFTW_FORWARD and "b" for FFTW_BACKWARD;
  • <dimx>, <dimy> and <dimz> are the dimensions of the 3-d transform;
  • <tplan> corresponds to the FFTW planner flag/rigour level, with "m" (measured; default) for FFTW_MEASURE and "p" (patient) for FFTW_PATIENT;
  • <wisdom-dir> is the output wisdom file directory (absolute or relative to the current working directory).

The output wisdom file will have the filename fftw_omp_<ttype><ttarr><tdir>_<dimx>x<dimy>x<dimz>_<tplan>.wisdom.

[!NOTE] Only complex-to-complex, in-place transforms are currently supported. Hence <ttype> is fixed to "c" (complex-to-complex) and <ttarr> is fixed to "i" (in-place) for now.

See also the help message generated by fftw-age --help.

For more information about FFTW planner flags, please refer to FFTW Planner Flags.

Attribution

To acknowledge the use of FFTW-Age in your published research, please cite this repository; you can refer to the file CITATION.cff for the relevant information.

Acknowledgement

This C++ utility makes use of the argparse library.

Contributing/Development

C++-Standard

Release-Date Commits-Since

Build-Issues Bug-Issues Feature-Issues Pull-Requests

pre-commit

Codespaces

User feedback and contributions are very welcome. Please refer to the contribution guidelines.

Discussions & Wiki

Discussions

A community forum for users and developers exists, where you can receive announcements, post questions, share ideas and get updates.

A wiki site collects wisdoms for specific use cases and user environments.

Releases

Release notes are included in the change log.

Licence

Licence

FFTW-Age is made freely available under the GPL-3.0 licence (or any later version). Please see LICENCE (located at the repository directory root) for full terms and conditions.

© 2024 Mike S Wang

Owner

  • Name: Mike S Wang
  • Login: MikeSWang
  • Kind: user
  • Location: Edinburgh, UK
  • Company: Institute for Astronomy, University of Edinburgh

Postdoctoral Research Associate in Cosmology

Citation (CITATION.cff)

cff-version: 1.2.0
message: "To acknowledge the use of FFTW-Age in your work, please cite this repository."
authors:
- family-names: "Wang"
  given-names: "Mike Shengbo"
  orcid: https://orcid.org/0000-0002-2652-4043
title: "FFTW-Age"
version: 0.1.0
date-released: 2024-05-07
license: GPL-3.0-or-later
url: https://github.com/MikeSWang/FFTW-Age
repository-code: https://github.com/MikeSWang/FFTW-Age

GitHub Events

Total
  • Delete event: 4
  • Push event: 3
  • Pull request review event: 2
  • Pull request event: 5
  • Create event: 2
Last Year
  • Delete event: 4
  • Push event: 3
  • Pull request review event: 2
  • Pull request event: 5
  • Create event: 2

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 34
  • Total Committers: 2
  • Avg Commits per committer: 17.0
  • Development Distribution Score (DDS): 0.118
Past Year
  • Commits: 7
  • Committers: 2
  • Avg Commits per committer: 3.5
  • Development Distribution Score (DDS): 0.429
Top Committers
Name Email Commits
Mike S Wang 3****g 30
pre-commit-ci[bot] 6****] 4

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 0
  • Total pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: about 11 hours
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 3
Past Year
  • Issues: 0
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: about 11 hours
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 3
Top Authors
Issue Authors
Pull Request Authors
  • pre-commit-ci[bot] (5)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/ci.yml actions
  • actions/checkout v4 composite
  • knicknic/os-specific-run v1.0.4 composite
  • maxim-lobanov/setup-xcode v1 composite
.github/workflows/labeller.yml actions
  • actions/labeler v5 composite
.devcontainer/Dockerfile docker
  • mcr.microsoft.com/devcontainers/miniconda 3 build