{"id":27276915,"url":"https://github.com/jpvt/perlin-cupy","last_synced_at":"2025-10-26T08:41:28.453Z","repository":{"id":57451919,"uuid":"388221075","full_name":"jpvt/perlin-cupy","owner":"jpvt","description":"Perlin-NumPy for GPU","archived":false,"fork":false,"pushed_at":"2021-09-15T18:17:50.000Z","size":2695,"stargazers_count":7,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-12T13:37:42.554Z","etag":null,"topics":["cupy","noise","perlin-noise","perlin-noise-3d","perlin-noise-generator"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/perlin-cupy/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jpvt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-21T19:12:58.000Z","updated_at":"2025-03-07T04:53:21.000Z","dependencies_parsed_at":"2022-09-13T19:30:54.651Z","dependency_job_id":null,"html_url":"https://github.com/jpvt/perlin-cupy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpvt%2Fperlin-cupy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpvt%2Fperlin-cupy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpvt%2Fperlin-cupy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpvt%2Fperlin-cupy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jpvt","download_url":"https://codeload.github.com/jpvt/perlin-cupy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248442737,"owners_count":21104253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cupy","noise","perlin-noise","perlin-noise-3d","perlin-noise-generator"],"created_at":"2025-04-11T16:49:22.127Z","updated_at":"2025-10-26T08:41:23.422Z","avatar_url":"https://github.com/jpvt.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\u003cimg src=\"https://github.com/jpvt/perlin-cupy/blob/main/docs/image/Perlin-CuPy_logo_1000px.png\" width=\"500\"/\u003e\u003c/div\u003e\n\n# Perlin-CuPy: Perlin-NumPy for GPU\n\n\n[![pypi](https://img.shields.io/badge/pypi-perlin--cupy-violet)](https://pypi.org/project/perlin-cupy/)\n[![GitHub license](https://img.shields.io/badge/license-MIT-blueviolet)](https://github.com/jpvt/perlin-cupy/blob/main/LICENSE)\n[![Author](https://img.shields.io/badge/author-jpvt-blue)](https://www.jpvteixeira.com/)\n\n[**Install**](https://github.com/jpvt/perlin-cupy#installation)\n| [**Examples**](https://github.com/jpvt/perlin-cupy/tree/main/docs/examples)\n\n\nPerlin-CuPy is a Perlin-NumPy compatible library for GPU-accelerated Perlin Noise generation.\nPerlin-CuPy acts as a drop-in replacement to run [existing Perlin-NumPy code](https://github.com/pvigier/perlin-numpy) on NVIDIA CUDA platforms.\n\n```py\nfrom perlin_cupy import (\n    generate_fractal_noise_2d, generate_fractal_noise_3d,\n    generate_perlin_noise_2d, generate_perlin_noise_3d\n)\n```\n\n## Installation\n\nWheel (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.\n\n| Platform      | Command                              |\n| ------------- | ------------------------------------ |\n| CUDA 11.3     | `pip install perlin-cupy`            |\n\n### Requirements\n\n* [NVIDIA CUDA GPU](https://developer.nvidia.com/cuda-gpus) with the Compute Capability 3.0 or larger.\n* [CUDA Toolkit](https://developer.nvidia.com/cuda-toolkit): v10.0 / v10.1 / v10.2 / v11.0 / v11.1 / v11.2 / v11.3\n\n### Python Dependencies\n\n* [CuPy](https://pypi.org/project/cupy/): v10.0 / v10.1 / v10.2 / v11.0 / v11.1 / v11.2 / v11.3\n\n## Usage\n\nThe usage is exactly the same as [Perlin-NumPy](https://github.com/pvigier/perlin-numpy).\n\n### 2D noise\n\nThe function `generate_perlin_noise_2d` generates a 2D texture of perlin noise. Its parameters are:\n\n* `shape`: shape of the generated array (tuple of 2 ints)\n* `res`: number of periods of noise to generate along each axis (tuple of 2 ints)\n* `tileable`: if the noise should be tileable along each axis (tuple of 2 bools)\n\nNote: `shape` must be a multiple of `res`\n\nThe function `generate_fractal_noise_2d` combines several octaves of 2D perlin noise to make 2D fractal noise. Its parameters are:\n\n* `shape`: shape of the generated array (tuple of 2 ints)\n* `res`: number of periods of noise to generate along each axis (tuple of 2 ints)\n* `octaves`: number of octaves in the noise (int)\n* `persistence`: scaling factor between two octaves (float)\n* `lacunarity`: frequency factor between two octaves (float)\n* `tileable`: if the noise should be tileable along each axis (tuple of 2 bools)\n\nNote: `shape` must be a multiple of `lacunarity^(octaves-1)*res`\n\n\n### 3D noise\n\nThe function `generate_perlin_noise_3d` generates a 3D texture of perlin noise. Its parameters are:\n\n* `shape`: shape of the generated array (tuple of 3 ints)\n* `res`: number of periods of noise to generate along each axis (tuple of 3 ints)\n* `tileable`: if the noise should be tileable along each axis (tuple of 3 bools)\n\nNote: `shape` must be a multiple of `res`\n\nThe function `generate_fractal_noise_2d` combines several octaves of 3D perlin noise to make 3D fractal noise. Its parameters are:\n\n* `shape`: shape of the generated array (tuple of 3 ints)\n* `res`: number of periods of noise to generate along each axis (tuple of 3 ints)\n* `octaves`: number of octaves in the noise (int)\n* `persistence`: scaling factor between two octaves (float)\n* `lacunarity`: frequency factor between two octaves (float)\n* `tileable`: if the noise should be tileable along each axis (tuple of 3 bools)\n\nNote: `shape` must be a multiple of `lacunarity^(octaves-1)*res`\n\n## License\n\nMIT License (See [LICENSE](https://github.com/jpvt/perlin-cupy/blob/main/LICENSE) file).\n\nPerlin-CuPy is designed based on Perlin-NumPy's API (see [LICENSE_THIRD_PARTY](https://github.com/jpvt/perlin-cupy/blob/main/docs/LICENSE_THIRD_PARTY) file) by Pierre Vigier.\n\nPerlin-CuPy is being maintained and developed by [João Pedro Vasconcelos](https://github.com/jpvt) and [Bruno Barufaldi](https://github.com/bbarufaldi).\n\nIcon logo made by [Eucalyp](https://creativemarket.com/eucalyp) from [Flaticon](https://www.flaticon.com/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpvt%2Fperlin-cupy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjpvt%2Fperlin-cupy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpvt%2Fperlin-cupy/lists"}