Name | libcuspatial-cu11 JSON |
Version |
24.12.0
JSON |
| download |
home_page | None |
Summary | cuSpatial: GPU-Accelerated Spatial and Trajectory Data Management and Analytics Library (C++) |
upload_time | 2024-12-12 23:54:05 |
maintainer | None |
docs_url | None |
author | NVIDIA Corporation |
requires_python | >=3.10 |
license | Apache 2.0 |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# <div align="left"><img src="https://rapids.ai/assets/images/rapids_logo.png" width="90px"/> cuSpatial - GPU-Accelerated Vector Geospatial Data Analysis</div>
> **Note**
>
> cuSpatial depends on [cuDF](https://github.com/rapidsai/cudf) and [RMM](https://github.com/rapidsai/rmm) from [RAPIDS](https://rapids.ai/).
## cuProj - GPU-accelerated Coordinate Reference System (CRS) Transformations
cuProj is a new RAPIDS library housed within the cuSpatial repo that provides GPU-accelerated transformations of coordinates between coordinate reference systems (CRS). cuProj is available as of release 23.10 with support for transformations of WGS84 coordinates to and from Universal Transverse Mercator (UTM) :globe_with_meridians:.
To learn more about cuProj, see the [Python cuProj README](python/cuproj/README.md) or the [c++ libcuproj README](cpp/cuproj/README.md).
## Resources
- [cuSpatial User's Guide](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html): Python API reference and guides
- [cuSpatial Developer Documentation](https://docs.rapids.ai/api/cuspatial/stable/developer_guide/index.html): Understand cuSpatial's architecture
- [Getting Started](https://docs.rapids.ai/install#selector): Installation options for cuSpatial
- [cuSpatial Community](https://github.com/rapidsai/cuspatial/discussions): Get help, collaborate, and ask the team questions
- [cuSpatial Issues](https://github.com/rapidsai/cuspatial/issues/new/choose): Request a feature/documentation or report a bug
## Overview
cuSpatial accelerates vector geospatial operations through GPU parallelization. As part of the RAPIDS libraries, cuSpatial is inherently connected to [cuDF](https://github.com/rapidsai/cudf), [cuML](https://github.com/rapidsai/cuml), and [cuGraph](https://github.com/rapidsai/cugraph), enabling GPU acceleration across entire workflows.
cuSpatial represents data in [GeoArrow](https://github.com/geoarrow/geoarrow) format, which enables compatibility with the [Apache Arrow](https://arrow.apache.org) ecosystem.
cuSpatial's Python API is closely matched to GeoPandas and data can seamlessly transition between the two:
```python
import geopandas
from shapely.geometry import Polygon
import cuspatial
p1 = Polygon([(0, 0), (1, 0), (1, 1)])
p2 = Polygon([(0, 0), (1, 0), (1, 1), (0, 1)])
geoseries = geopandas.GeoSeries([p1, p2])
cuspatial_geoseries = cuspatial.from_geopandas(geoseries)
print(cuspatial_geoseries)
```
Output:
```
0 POLYGON ((0 0, 1 0, 1 1, 0 0))
1 POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))
```
For additional examples, browse the complete [API documentation](https://docs.rapids.ai/api/cuspatial/stable/), or check out more detailed [notebooks](https://github.com/rapidsai/notebooks-contrib). the [NYC Taxi][1] and [Weather][2] notebooks make use of cuSpatial.
## Supported Geospatial Operations
cuSpatial is constantly working on new features! Check out the [epics](https://github.com/orgs/rapidsai/projects/41/views/4) for a high-level view of our development, or the [roadmap](https://github.com/orgs/rapidsai/projects/41/views/5) for the details!
### Core Spatial Functions
- [Spatial relationship queries (DE-9IM)](https://docs.rapids.ai/api/cuspatial/stable/api_docs/geopandas_compatibility/#cuspatial.GeoSeries.contains)
- [Linestring-Linestring Intersections](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#Linestring-Intersections)
- Cartesian distance between any two geometries (ST_Distance)
- [Haversine distance](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#cuspatial.haversine_distance)
- [Hausdorff distance](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#cuspatial.directed_hausdorff_distance)
- [Spatial window filtering](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#cuspatial.points_in_spatial_window)
### Indexing and Join Functions
- [Quadtree indexing](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#Quadtree-Indexing)
- [Spatial joins](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#Indexed-Spatial-Joins)
- [Quadtree-based point-in-polygon](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#cuspatial.quadtree_point_in_polygon)
- [Quadtree-based point-to-nearest-linestring](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#cuspatial.quadtree_point_to_nearest_linestring)
### Trajectory Functions
- [Deriving trajectories from point location data](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#cuspatial.derive_trajectories)
- [Computing distance/speed of trajectories](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#cuspatial.trajectory_distances_and_speeds)
- [Computing spatial bounding boxes of trajectories](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#cuspatial.trajectory_bounding_boxes)
### What if operations I need aren't supported?
Thanks to the `from_geopandas` and `to_geopandas` functions you can accelerate what cuSpatial supports, and leave the rest of the workflow in place.
```mermaid
---
title: Integrating into Existing Workflows
---
%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'showBranches': false},
'themeVariables': {'commitLabelColor': '#000000',
'commitLabelBackground': '#ffffff',
'commitLabelFontSize': '14px'}} }%%
gitGraph
commit id: "Existing Workflow Start"
commit id: "GeoPandas IO"
commit id: "Geospatial Analytics"
branch a
checkout a
commit id: "from_geopandas"
commit id: "cuSpatial GPU Acceleration"
branch b
checkout b
commit id: "cuDF"
commit id: "cuML"
commit id: "cuGraph"
checkout a
merge b
commit id: "to_geopandas"
checkout main
merge a
commit id: "Continue Work"
```
## Using cuSpatial
**CUDA/GPU requirements**
- CUDA 11.2+ with a [compatible, supported driver](https://docs.nvidia.com/datacenter/tesla/drivers/#cuda-drivers)
- Volta architecture or newer ([Compute Capability >=7.0](https://developer.nvidia.com/cuda-gpus))
### Quick start: Docker
Use the [RAPIDS Release Selector](https://docs.rapids.ai/install#selector), selecting `Docker` as the installation method. All RAPIDS Docker images contain cuSpatial.
An example command from the Release Selector:
```shell
docker run --gpus all --pull always --rm -it \
--shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 \
-p 8888:8888 -p 8787:8787 -p 8786:8786 \
nvcr.io/nvidia/rapidsai/notebooks:24.12-cuda11.8-py3.12
```
### Install with Conda
To install via conda:
> **Note** cuSpatial is supported only on Linux or [through WSL](https://rapids.ai/wsl2.html), and with Python versions 3.10, 3.11, and 3.12.
cuSpatial can be installed with conda from the rapidsai channel:
```shell
conda install -c rapidsai -c conda-forge -c nvidia \
cuspatial=24.12 python=3.12 cudatoolkit=11.8
```
We also provide nightly Conda packages built from the HEAD of our latest development branch.
See the [RAPIDS installation documentation](https://docs.rapids.ai/install) for more OS and version info.
### Install with pip
To install via pip:
> **Note** cuSpatial is supported only on Linux or [through WSL](https://rapids.ai/wsl2.html), and with Python versions 3.10, 3.11, and 3.12.
The cuSpatial pip packages can be installed from NVIDIA's PyPI index. pip installations require using the matching wheel to the system's installed CUDA toolkit.
- For CUDA 11 toolkits, install the `-cu11` wheels
- For CUDA 12 toolkits install the `-cu12` wheels
- If your installation has a CUDA 12 driver but a CUDA 11 toolkit, use the `-cu11` wheels.
```shell
pip install cuspatial-cu12 --extra-index-url=https://pypi.nvidia.com
pip install cuspatial-cu11 --extra-index-url=https://pypi.nvidia.com
```
### Build/Install from source
To build and install cuSpatial from source please see the [build documentation](https://docs.rapids.ai/api/cuspatial/stable/developer_guide/build.html).
## Citing cuSpatial
If you find cuSpatial useful in your published work, please consider citing the repository.
```bibtex
@misc{cuspatial:24.12,
author = {{NVIDIA Corporation}},
title = {cuSpatial: GPU-Accelerated Geospatial and Spatiotemporal Algorithms},
year = {2023},
publisher = {NVIDIA},
howpublished = {\url{https://github.com/rapidsai/cuspatial}},
note = {Software available from github.com},
}
```
[1]:https://github.com/rapidsai-community/notebooks-contrib/blob/main/community_tutorials_and_guides/taxi/NYCTaxi-E2E.ipynb
[2]:https://github.com/rapidsai-community/notebooks-contrib/blob/main/community_tutorials_and_guides/weather.ipynb
Raw data
{
"_id": null,
"home_page": null,
"name": "libcuspatial-cu11",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": null,
"author": "NVIDIA Corporation",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/16/87/07375c53fab6c52ce0799d7475fdaae4e6e33acb65e66ccabf84f831f832/libcuspatial_cu11-24.12.0.tar.gz",
"platform": null,
"description": "# <div align=\"left\"><img src=\"https://rapids.ai/assets/images/rapids_logo.png\" width=\"90px\"/> cuSpatial - GPU-Accelerated Vector Geospatial Data Analysis</div>\n\n> **Note**\n>\n> cuSpatial depends on [cuDF](https://github.com/rapidsai/cudf) and [RMM](https://github.com/rapidsai/rmm) from [RAPIDS](https://rapids.ai/).\n\n## cuProj - GPU-accelerated Coordinate Reference System (CRS) Transformations\ncuProj is a new RAPIDS library housed within the cuSpatial repo that provides GPU-accelerated transformations of coordinates between coordinate reference systems (CRS). cuProj is available as of release 23.10 with support for transformations of WGS84 coordinates to and from Universal Transverse Mercator (UTM) :globe_with_meridians:.\n\nTo learn more about cuProj, see the [Python cuProj README](python/cuproj/README.md) or the [c++ libcuproj README](cpp/cuproj/README.md).\n\n## Resources\n\n- [cuSpatial User's Guide](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html): Python API reference and guides\n- [cuSpatial Developer Documentation](https://docs.rapids.ai/api/cuspatial/stable/developer_guide/index.html): Understand cuSpatial's architecture\n- [Getting Started](https://docs.rapids.ai/install#selector): Installation options for cuSpatial\n- [cuSpatial Community](https://github.com/rapidsai/cuspatial/discussions): Get help, collaborate, and ask the team questions\n- [cuSpatial Issues](https://github.com/rapidsai/cuspatial/issues/new/choose): Request a feature/documentation or report a bug\n\n## Overview\ncuSpatial accelerates vector geospatial operations through GPU parallelization. As part of the RAPIDS libraries, cuSpatial is inherently connected to [cuDF](https://github.com/rapidsai/cudf), [cuML](https://github.com/rapidsai/cuml), and [cuGraph](https://github.com/rapidsai/cugraph), enabling GPU acceleration across entire workflows.\n\ncuSpatial represents data in [GeoArrow](https://github.com/geoarrow/geoarrow) format, which enables compatibility with the [Apache Arrow](https://arrow.apache.org) ecosystem.\n\ncuSpatial's Python API is closely matched to GeoPandas and data can seamlessly transition between the two:\n```python\nimport geopandas\nfrom shapely.geometry import Polygon\nimport cuspatial\n\np1 = Polygon([(0, 0), (1, 0), (1, 1)])\np2 = Polygon([(0, 0), (1, 0), (1, 1), (0, 1)])\ngeoseries = geopandas.GeoSeries([p1, p2])\n\ncuspatial_geoseries = cuspatial.from_geopandas(geoseries)\nprint(cuspatial_geoseries)\n```\nOutput:\n```\n0 POLYGON ((0 0, 1 0, 1 1, 0 0))\n1 POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))\n```\n\nFor additional examples, browse the complete [API documentation](https://docs.rapids.ai/api/cuspatial/stable/), or check out more detailed [notebooks](https://github.com/rapidsai/notebooks-contrib). the [NYC Taxi][1] and [Weather][2] notebooks make use of cuSpatial.\n\n## Supported Geospatial Operations\n\ncuSpatial is constantly working on new features! Check out the [epics](https://github.com/orgs/rapidsai/projects/41/views/4) for a high-level view of our development, or the [roadmap](https://github.com/orgs/rapidsai/projects/41/views/5) for the details!\n\n### Core Spatial Functions\n- [Spatial relationship queries (DE-9IM)](https://docs.rapids.ai/api/cuspatial/stable/api_docs/geopandas_compatibility/#cuspatial.GeoSeries.contains)\n- [Linestring-Linestring Intersections](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#Linestring-Intersections)\n- Cartesian distance between any two geometries (ST_Distance)\n- [Haversine distance](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#cuspatial.haversine_distance)\n- [Hausdorff distance](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#cuspatial.directed_hausdorff_distance)\n- [Spatial window filtering](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#cuspatial.points_in_spatial_window)\n\n### Indexing and Join Functions\n- [Quadtree indexing](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#Quadtree-Indexing)\n- [Spatial joins](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#Indexed-Spatial-Joins)\n- [Quadtree-based point-in-polygon](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#cuspatial.quadtree_point_in_polygon)\n- [Quadtree-based point-to-nearest-linestring](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#cuspatial.quadtree_point_to_nearest_linestring)\n\n### Trajectory Functions\n- [Deriving trajectories from point location data](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#cuspatial.derive_trajectories)\n- [Computing distance/speed of trajectories](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#cuspatial.trajectory_distances_and_speeds)\n- [Computing spatial bounding boxes of trajectories](https://docs.rapids.ai/api/cuspatial/stable/user_guide/cuspatial_api_examples.html#cuspatial.trajectory_bounding_boxes)\n\n### What if operations I need aren't supported?\nThanks to the `from_geopandas` and `to_geopandas` functions you can accelerate what cuSpatial supports, and leave the rest of the workflow in place.\n\n```mermaid\n---\ntitle: Integrating into Existing Workflows\n---\n%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'showBranches': false},\n 'themeVariables': {'commitLabelColor': '#000000',\n 'commitLabelBackground': '#ffffff',\n 'commitLabelFontSize': '14px'}} }%%\ngitGraph\n commit id: \"Existing Workflow Start\"\n commit id: \"GeoPandas IO\"\n commit id: \"Geospatial Analytics\"\n branch a\n checkout a\n commit id: \"from_geopandas\"\n commit id: \"cuSpatial GPU Acceleration\"\n branch b\n checkout b\n commit id: \"cuDF\"\n commit id: \"cuML\"\n commit id: \"cuGraph\"\n checkout a\n merge b\n commit id: \"to_geopandas\"\n checkout main\n merge a\n commit id: \"Continue Work\"\n```\n\n\n## Using cuSpatial\n**CUDA/GPU requirements**\n- CUDA 11.2+ with a [compatible, supported driver](https://docs.nvidia.com/datacenter/tesla/drivers/#cuda-drivers)\n- Volta architecture or newer ([Compute Capability >=7.0](https://developer.nvidia.com/cuda-gpus))\n\n### Quick start: Docker\nUse the [RAPIDS Release Selector](https://docs.rapids.ai/install#selector), selecting `Docker` as the installation method. All RAPIDS Docker images contain cuSpatial.\n\nAn example command from the Release Selector:\n```shell\ndocker run --gpus all --pull always --rm -it \\\n --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 \\\n -p 8888:8888 -p 8787:8787 -p 8786:8786 \\\n nvcr.io/nvidia/rapidsai/notebooks:24.12-cuda11.8-py3.12\n```\n\n### Install with Conda\n\nTo install via conda:\n> **Note** cuSpatial is supported only on Linux or [through WSL](https://rapids.ai/wsl2.html), and with Python versions 3.10, 3.11, and 3.12.\n\ncuSpatial can be installed with conda from the rapidsai channel:\n\n```shell\nconda install -c rapidsai -c conda-forge -c nvidia \\\n cuspatial=24.12 python=3.12 cudatoolkit=11.8\n```\nWe also provide nightly Conda packages built from the HEAD of our latest development branch.\n\nSee the [RAPIDS installation documentation](https://docs.rapids.ai/install) for more OS and version info.\n\n### Install with pip\n\nTo install via pip:\n> **Note** cuSpatial is supported only on Linux or [through WSL](https://rapids.ai/wsl2.html), and with Python versions 3.10, 3.11, and 3.12.\n\nThe cuSpatial pip packages can be installed from NVIDIA's PyPI index. pip installations require using the matching wheel to the system's installed CUDA toolkit.\n- For CUDA 11 toolkits, install the `-cu11` wheels\n- For CUDA 12 toolkits install the `-cu12` wheels\n- If your installation has a CUDA 12 driver but a CUDA 11 toolkit, use the `-cu11` wheels.\n```shell\npip install cuspatial-cu12 --extra-index-url=https://pypi.nvidia.com\npip install cuspatial-cu11 --extra-index-url=https://pypi.nvidia.com\n```\n\n### Build/Install from source\n\nTo build and install cuSpatial from source please see the [build documentation](https://docs.rapids.ai/api/cuspatial/stable/developer_guide/build.html).\n\n\n## Citing cuSpatial\n\nIf you find cuSpatial useful in your published work, please consider citing the repository.\n\n```bibtex\n@misc{cuspatial:24.12,\n author = {{NVIDIA Corporation}},\n title = {cuSpatial: GPU-Accelerated Geospatial and Spatiotemporal Algorithms},\n year = {2023},\n publisher = {NVIDIA},\n howpublished = {\\url{https://github.com/rapidsai/cuspatial}},\n note = {Software available from github.com},\n}\n```\n\n\n[1]:https://github.com/rapidsai-community/notebooks-contrib/blob/main/community_tutorials_and_guides/taxi/NYCTaxi-E2E.ipynb\n[2]:https://github.com/rapidsai-community/notebooks-contrib/blob/main/community_tutorials_and_guides/weather.ipynb\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "cuSpatial: GPU-Accelerated Spatial and Trajectory Data Management and Analytics Library (C++)",
"version": "24.12.0",
"project_urls": {
"Homepage": "https://github.com/rapidsai/cuspatial"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "168707375c53fab6c52ce0799d7475fdaae4e6e33acb65e66ccabf84f831f832",
"md5": "67648d18db8b6a9286cf26f240bf1014",
"sha256": "85694cbef1a1875acbaa47ae6860a412fb9056ca082d8d910c297cf92a5b33a9"
},
"downloads": -1,
"filename": "libcuspatial_cu11-24.12.0.tar.gz",
"has_sig": false,
"md5_digest": "67648d18db8b6a9286cf26f240bf1014",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 3830,
"upload_time": "2024-12-12T23:54:05",
"upload_time_iso_8601": "2024-12-12T23:54:05.911019Z",
"url": "https://files.pythonhosted.org/packages/16/87/07375c53fab6c52ce0799d7475fdaae4e6e33acb65e66ccabf84f831f832/libcuspatial_cu11-24.12.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-12 23:54:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rapidsai",
"github_project": "cuspatial",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "libcuspatial-cu11"
}