Perlin-CuPy: Perlin-NumPy for GPU
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
- NVIDIA CUDA GPU with the Compute Capability 3.0 or larger.
- CUDA Toolkit: v10.0 / v10.1 / v10.2 / v11.0 / v11.1 / v11.2 / v11.3
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.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| perlin-cupy-0.0.3.tar.gz | 5.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|