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 [OpenMPI]

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-openmpi 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-openmpi

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_openmpi-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_openmpi-3.2.0-cp314-cp314-manylinux_2_34_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ ARM64

dtfft_cuda12x_openmpi-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_openmpi-3.2.0-cp313-cp313-manylinux_2_34_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

dtfft_cuda12x_openmpi-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_openmpi-3.2.0-cp312-cp312-manylinux_2_34_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

dtfft_cuda12x_openmpi-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_openmpi-3.2.0-cp311-cp311-manylinux_2_34_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

dtfft_cuda12x_openmpi-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_openmpi-3.2.0-cp310-cp310-manylinux_2_34_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

dtfft_cuda12x_openmpi-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_openmpi-3.2.0-cp39-cp39-manylinux_2_34_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ ARM64

File details

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

File metadata

File hashes

Hashes for dtfft_cuda12x_openmpi-3.2.0-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 633db8451d7ba0282b461d10d4d5549cc11eb21b73d2c3283a66a2390676a889
MD5 f1ca224828d646425c9f466cdc2e8da4
BLAKE2b-256 f8d7fb8021b2095ed8dd345d3e7cf461ee00fddc28277e0cfee01f150a0b374c

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_openmpi-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_openmpi-3.2.0-cp314-cp314-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_openmpi-3.2.0-cp314-cp314-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 0ad5ee75478355504c8fbc0a5f4d179157eda6a638866d65b85ddc82484d398e
MD5 e64e30c475475c072b6c5f4e4274e574
BLAKE2b-256 8cf94624dae8c2e1c3132027055b481b33db298f41aebf5f28970ae4a6626121

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_openmpi-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_openmpi-3.2.0-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_openmpi-3.2.0-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 142a9e11c17aaa428276c42a367c6c71c2f9079cc0197aede5e138de9f331856
MD5 dea01e38bc19f5e7f61b476f558be27f
BLAKE2b-256 ccc482d2ed409b181c675225360e4ccf96d7b5fdf8c59006739babebf14763bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_openmpi-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_openmpi-3.2.0-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_openmpi-3.2.0-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 4b60d951a9e1661eac08aa95f50ff33445fd899255ad2da45a97b7cc91ca2aa6
MD5 db9f919fc3d0a851af54fa7cf36a2859
BLAKE2b-256 07e05d700e4e16a1371ead4c39f16fda4b86c482832fa03cd57e0e97a8a9bc54

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_openmpi-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_openmpi-3.2.0-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_openmpi-3.2.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8d97ac8c673996b1430aabcadec3a482eb7211f07d0187c603ffe17228fdeafe
MD5 8378e7ed91b0ae2a337a2222a5f94026
BLAKE2b-256 4271adf991fcabb4521507d1a4219562750687dc956597a51e68e4ea50124993

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_openmpi-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_openmpi-3.2.0-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_openmpi-3.2.0-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 94ee8a708e1129707b883802e48b7f985e7dbe3df356ce81ab1912b02cc7b9f8
MD5 582ceb1fabd1fe0a4d2207693ae8fff5
BLAKE2b-256 858460b5fd0f3ea913c7d251a382b9bd54ad99526b22b05523088f6417ac9ac2

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_openmpi-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_openmpi-3.2.0-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_openmpi-3.2.0-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 61477a55f5594d2cab4fe3b42a32e9ea8050848fd5b97434f28c526430371344
MD5 3667d35474ea7ede797fb7b94f2fdb0e
BLAKE2b-256 9dcc037ffd16e4a6a2322fb3a316b1b2362e0bcf531cd8ff6a47c4597edcb000

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_openmpi-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_openmpi-3.2.0-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_openmpi-3.2.0-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 2d543df16f316f0ca0c332d5c652f401cbcc02d4751878cc4b59114abafc95d9
MD5 1ba52e1fa50e95faf0d6dddabc297439
BLAKE2b-256 55931e4865113d0ee9df26612f61aabab0334088d6ff26807be5d19fd2c95460

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_openmpi-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_openmpi-3.2.0-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_openmpi-3.2.0-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 3c147a29d93d72e51663ab5dd115333984c00863d34e062ea70b7fc39461e384
MD5 27cbedd0c4477276a3197c1051a3d67c
BLAKE2b-256 ce1880237c96490310a78a4f97e820d0dd270d3878396cd090d8c5353653f4e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_openmpi-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_openmpi-3.2.0-cp310-cp310-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_openmpi-3.2.0-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 ac9932b4fe89ba6233ab06c973ced1068b3ed407eb340f0d27aa69a58a47f222
MD5 b79d17de15762948a123be3f0b3469df
BLAKE2b-256 a69bb34a53a8e7868fb6e80339f9b9045eea46d157f4bfe2c4ecce926ac573be

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_openmpi-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_openmpi-3.2.0-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_openmpi-3.2.0-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 15f3694d1adf195a69f85c146b37a637d8dca6cd4a486a8eaedfde56262b372f
MD5 1a03c3ab206383d969557759ae6f5e37
BLAKE2b-256 031dbf8aa9bb1105629692aea640d64f3557f1bd389b95c0600efa24a7f411f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_openmpi-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_openmpi-3.2.0-cp39-cp39-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for dtfft_cuda12x_openmpi-3.2.0-cp39-cp39-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 55efa0bca039b4d9fc96af3271f220a0739ceaa1b2edaf3e4503e2fce0d6abbc
MD5 f8d2c5aa0c29e0d492b0678c15f40224
BLAKE2b-256 dbb5de4c6d475d6d0e9fd38f3ad6eacc10fb8c71ed18782feda671cfc26a420f

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtfft_cuda12x_openmpi-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