Skip to main content

Python bindings for the dtFFT library — distributed FFT via MPI

Project description

dtfft-cuda12x — CPU + GPU build for CUDA 12.x [MPICH]

License Documentation PyPI Python

Python bindings for dtFFT — a high-performance library for parallel data transpositions and Fast Fourier Transforms via MPI.

This is the dtfft-cuda12x-mpich variant. GPU-accelerated transforms via cuFFT on NVIDIA GPUs with CUDA 12.x.

Included backends

Backend Available
Transpose (MPI)
FFTW3
cuFFT

Installation

pip install dtfft-cuda12x-mpich

Note: cuFFT and a CUDA 12.x toolkit must be present on the system. CuPy is installed automatically as a dependency.

Requirements

  • MPI runtime (OpenMPI or MPICH)
  • Python ≥ 3.9
  • CUDA 12.x toolkit
  • NVIDIA GPU (Volta or newer)

Quick start

import numpy as np
from mpi4py import MPI
import dtfft

# Create a 3-D complex-to-complex plan
plan = dtfft.PlanC2C([256, 256, 256], comm=MPI.COMM_WORLD)

# Allocate MPI-decomposed buffers
x = plan.get_ndarray(plan.alloc_size)
y = plan.get_ndarray(plan.alloc_size)

x[...] = np.random.random(x.shape) + 1j * np.random.random(x.shape)

# Forward transform  (pencil decomposition applied automatically)
plan.execute(x, y, dtfft.Execute.FORWARD)

# Backward transform
plan.execute(y, x, dtfft.Execute.BACKWARD)

Package variants

Multiple PyPI distributions are provided so you can declare an exact, conflict-free dependency for your environment:

PyPI package FFT backend MPI Platform Extra deps
dtfft-openmpi none (transpose-only) OpenMPI CPU
dtfft-mpich none (transpose-only) MPICH CPU
dtfft-fftw-openmpi FFTW3 OpenMPI CPU system libfftw3
dtfft-fftw-mpich FFTW3 MPICH CPU system libfftw3
dtfft-cuda12x-openmpi cuFFT OpenMPI CPU + NVIDIA GPU (CUDA 12) cupy-cuda12x
dtfft-cuda12x-mpich cuFFT MPICH CPU + NVIDIA GPU (CUDA 12) cupy-cuda12x

All packages share the same importable namespace: import dtfft.

Documentation

License

GPL v3 — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

dtfft_cuda12x_mpich-3.2.0-cp314-cp314-manylinux_2_34_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

dtfft_cuda12x_mpich-3.2.0-cp314-cp314-manylinux_2_34_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ ARM64

dtfft_cuda12x_mpich-3.2.0-cp313-cp313-manylinux_2_34_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

dtfft_cuda12x_mpich-3.2.0-cp313-cp313-manylinux_2_34_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

dtfft_cuda12x_mpich-3.2.0-cp312-cp312-manylinux_2_34_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

dtfft_cuda12x_mpich-3.2.0-cp312-cp312-manylinux_2_34_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

dtfft_cuda12x_mpich-3.2.0-cp311-cp311-manylinux_2_34_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

dtfft_cuda12x_mpich-3.2.0-cp311-cp311-manylinux_2_34_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

dtfft_cuda12x_mpich-3.2.0-cp310-cp310-manylinux_2_34_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

dtfft_cuda12x_mpich-3.2.0-cp310-cp310-manylinux_2_34_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

dtfft_cuda12x_mpich-3.2.0-cp39-cp39-manylinux_2_34_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

dtfft_cuda12x_mpich-3.2.0-cp39-cp39-manylinux_2_34_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ ARM64

File details

Details for the file dtfft_cuda12x_mpich-3.2.0-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_mpich-3.2.0-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 0fa738bc84f22f3ac95899e09d032cd367ea4e3581dd5e16dd9b07802f17ac99
MD5 1329aa393417df5f087bed4e15d2eaa5
BLAKE2b-256 e7adf48d98e0418ee11782833b600279766e378706f807cd5b6612de4c0a54d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_mpich-3.2.0-cp314-cp314-manylinux_2_34_x86_64.whl:

Publisher: build_wheels.yml on ShatrovOA/dtFFT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dtfft_cuda12x_mpich-3.2.0-cp314-cp314-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_mpich-3.2.0-cp314-cp314-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 f8cea69f3233f31e43f8934ef3ebd61c0ebfba7c9f595e0cccc2add7a33117b3
MD5 6e0f079511d4739472b01a660a46a464
BLAKE2b-256 ec75cef2a8319b99ffaf73b71be9aa743e7559e86b045a7345abb1f3eaf7db81

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_mpich-3.2.0-cp314-cp314-manylinux_2_34_aarch64.whl:

Publisher: build_wheels.yml on ShatrovOA/dtFFT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dtfft_cuda12x_mpich-3.2.0-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_mpich-3.2.0-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 666b70dc6c3c445ce66ea21d6afa91b0fc493c86afee4d7dac5dd89d958304e7
MD5 2b0188f1e2d7a405caa1fec22aebda88
BLAKE2b-256 51e4389f2e44ed77e295df7f357cd864c3c0393de887c019ed6310a38e34622d

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_mpich-3.2.0-cp313-cp313-manylinux_2_34_x86_64.whl:

Publisher: build_wheels.yml on ShatrovOA/dtFFT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dtfft_cuda12x_mpich-3.2.0-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_mpich-3.2.0-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 3a3c4730c4c72650f264fa9b7a21a17d183a81867ac72e342359a3125a96a2cf
MD5 b25ea7c31135606569d1fd37d055d060
BLAKE2b-256 0d37306348a9ece7fa76918a47e86db8f1140aa6748e59c0c71699ebb8741505

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_mpich-3.2.0-cp313-cp313-manylinux_2_34_aarch64.whl:

Publisher: build_wheels.yml on ShatrovOA/dtFFT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dtfft_cuda12x_mpich-3.2.0-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_mpich-3.2.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 6b926e9e3e2bb14a7078c6796b743fa489e09287d606f8e983fa1a6ef2b13bbd
MD5 21e57d56dc2dc7d5dbb5dcedaa7d6d8f
BLAKE2b-256 017f87d46dcb7a8a705f3a48f3df0879c5f9a9d67b9f2fe42b9e9042a23fcb10

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_mpich-3.2.0-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: build_wheels.yml on ShatrovOA/dtFFT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dtfft_cuda12x_mpich-3.2.0-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_mpich-3.2.0-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 516ecb83fbccb93101f848271c218249bcc00e160a864af972301f52fc6e86f9
MD5 34be0b62bb43b307803f580d2f23aa87
BLAKE2b-256 3728bf5026bf73ba7a4a0917f23ee41e9789995a1d8f25845ba313cdb60ba2e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_mpich-3.2.0-cp312-cp312-manylinux_2_34_aarch64.whl:

Publisher: build_wheels.yml on ShatrovOA/dtFFT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dtfft_cuda12x_mpich-3.2.0-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_mpich-3.2.0-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 eeee88379b33df978f364541832026aeba58e1b23df21e7be60c91d4113a942a
MD5 0b46e5512eddf3fb0996764731679277
BLAKE2b-256 6f92e44ade29bec10c70c201707b21528a6673f6a8f409e49dcef113e1af5e11

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_mpich-3.2.0-cp311-cp311-manylinux_2_34_x86_64.whl:

Publisher: build_wheels.yml on ShatrovOA/dtFFT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dtfft_cuda12x_mpich-3.2.0-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_mpich-3.2.0-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 967beb674236e27fb24cd286b0aef7be6138a88f2ede4ea879769bfadd06d46f
MD5 95682c4ea5245ffb2c6947de0ec26387
BLAKE2b-256 d2ad7998ce7339f3eca7764befcdb32ee3cbab7628728c83653491d72c18ffd9

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_mpich-3.2.0-cp311-cp311-manylinux_2_34_aarch64.whl:

Publisher: build_wheels.yml on ShatrovOA/dtFFT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dtfft_cuda12x_mpich-3.2.0-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_mpich-3.2.0-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 82de5d58d59d47251e8278304f155220c9084460e3608909490b48b3100422e3
MD5 148d7e4e4c4bebf105ba6d29c8d93e38
BLAKE2b-256 67fc7259af1228399595f856e1fa3eba7e2af141f75073d1a713b47f07a81a31

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_mpich-3.2.0-cp310-cp310-manylinux_2_34_x86_64.whl:

Publisher: build_wheels.yml on ShatrovOA/dtFFT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dtfft_cuda12x_mpich-3.2.0-cp310-cp310-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_mpich-3.2.0-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 b4b3064eb0b552dedefb3fa3c7f03a79a23f3213e422b6aed378a8d9d2fb7ae0
MD5 efae4ccdd598f025dfd4e8108bf22130
BLAKE2b-256 4e98bfeaabd01c85dbb406d7f00b6c799339f0fdd72784d19dd32d8eed1b9bb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_mpich-3.2.0-cp310-cp310-manylinux_2_34_aarch64.whl:

Publisher: build_wheels.yml on ShatrovOA/dtFFT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dtfft_cuda12x_mpich-3.2.0-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_mpich-3.2.0-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 d5635e1d06cf1de92e1173b8438eb777ab7d34390a85631a3a1b4033e406ee88
MD5 1b9f7239c87d521cc757fe7742daba16
BLAKE2b-256 b85c2ac17dc736b85a325d7e8a55387ffbf63e47de99e96531bbea9a6ebd5fe0

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_mpich-3.2.0-cp39-cp39-manylinux_2_34_x86_64.whl:

Publisher: build_wheels.yml on ShatrovOA/dtFFT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dtfft_cuda12x_mpich-3.2.0-cp39-cp39-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_mpich-3.2.0-cp39-cp39-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 9e0e2602f1f8244ca0ca093a9ee14a59958e0cf42fa71697234ca661aaf9d345
MD5 688e5a17c9da616c589ceaeb213c9126
BLAKE2b-256 d7eeeadfab533f4b1fe450ac13f95f92fa62b4e89735a9ae289eaeac5b5bf241

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_mpich-3.2.0-cp39-cp39-manylinux_2_34_aarch64.whl:

Publisher: build_wheels.yml on ShatrovOA/dtFFT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page