Skip to main content

Perlin-CuPy: Perlin-NumPy for GPU

pypi GitHub license Author

Install | Examples

Perlin-CuPy is a Perlin-NumPy compatible library for GPU-accelerated Perlin Noise generation. Perlin-CuPy acts as a drop-in replacement to run existing Perlin-NumPy code on NVIDIA CUDA platforms.

from perlin_cupy import (
    generate_fractal_noise_2d, generate_fractal_noise_3d,
    generate_perlin_noise_2d, generate_perlin_noise_3d
)

Installation

Wheel (precompiled binary package) is available for Linux (x86_64). We've currently tested only for CUDA 11.3 platform using CuPy v11.3, but it should work for any CuPy version installed in your environment.

Platform Command
CUDA 11.3 pip install perlin-cupy

Requirements

Python Dependencies

  • CuPy: v10.0 / v10.1 / v10.2 / v11.0 / v11.1 / v11.2 / v11.3

Usage

The usage is exactly the same as Perlin-NumPy code.

2D noise

The function generate_perlin_noise_2d generates a 2D texture of perlin noise. Its parameters are:

  • shape: shape of the generated array (tuple of 2 ints)
  • res: number of periods of noise to generate along each axis (tuple of 2 ints)
  • tileable: if the noise should be tileable along each axis (tuple of 2 bools)

Note: shape must be a multiple of res

The function generate_fractal_noise_2d combines several octaves of 2D perlin noise to make 2D fractal noise. Its parameters are:

  • shape: shape of the generated array (tuple of 2 ints)
  • res: number of periods of noise to generate along each axis (tuple of 2 ints)
  • octaves: number of octaves in the noise (int)
  • persistence: scaling factor between two octaves (float)
  • lacunarity: frequency factor between two octaves (float)
  • tileable: if the noise should be tileable along each axis (tuple of 2 bools)

Note: shape must be a multiple of lacunarity^(octaves-1)*res

3D noise

The function generate_perlin_noise_3d generates a 3D texture of perlin noise. Its parameters are:

  • shape: shape of the generated array (tuple of 3 ints)
  • res: number of periods of noise to generate along each axis (tuple of 3 ints)
  • tileable: if the noise should be tileable along each axis (tuple of 3 bools)

Note: shape must be a multiple of res

The function generate_fractal_noise_2d combines several octaves of 3D perlin noise to make 3D fractal noise. Its parameters are:

  • shape: shape of the generated array (tuple of 3 ints)
  • res: number of periods of noise to generate along each axis (tuple of 3 ints)
  • octaves: number of octaves in the noise (int)
  • persistence: scaling factor between two octaves (float)
  • lacunarity: frequency factor between two octaves (float)
  • tileable: if the noise should be tileable along each axis (tuple of 3 bools)

Note: shape must be a multiple of lacunarity^(octaves-1)*res

License

MIT License (See LICENSE file).

Perlin-NumPy is designed based on Perlin-NumPy's API (see LICENSE_THIRD_PARTY file).

Perlin-CuPy is being maintained and developed by João Pedro Vasconcelos.

Icon logo made by Eucalyp from Flaticon.

Release files for perlin-cupy 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for perlin-cupy 0.0.3
File Size Uploaded
perlin-cupy-0.0.3.tar.gz 5.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for perlin-cupy 0.0.3
File Interpreter ABI Platform
perlin_cupy-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 11.5 kB

Release files / perlin-cupy-0.0.3.tar.gz

Download URL perlin-cupy-0.0.3.tar.gz
Size 5.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e4cd7d56737c4754d4f8b82bd97bae31a1c28686cba681a9be731ac37f0b76af
BLAKE2b-256 checksum
How to use checksums
328a865b9be1169403cc970fb18377049f64eb8176d4a7de84893cd9f796ddda
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.9.1 pkginfo/1.6.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

Release files / perlin_cupy-0.0.3-py3-none-any.whl

Download URL perlin_cupy-0.0.3-py3-none-any.whl
Size 6.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
041b0347a389212c0591f73640b78c401154b8039997e5b5f1118659564fbc5b
BLAKE2b-256 checksum
How to use checksums
5db0b04bcd44249e5bdabc620300e7189f9fa7d88383fbe70726f9dad7dda5dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.9.1 pkginfo/1.6.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page