Replies: 2 comments 8 replies
-
Hi @pwrliang - thanks for checking us out! Your approach looks and seems very interesting/fast - really love seeing RT cores getting used for more things out in the wild. cuSpatial's perf looks pretty rough in the paper, but I'm also not too shocked. It doesn't run at top performance on the GeForce cards since we require FP64 precision. The RTX3090 has ~35.6 FP32 TFLOPS vs ~0.55 FP64 TFLOPS. This could be an interesting way to increase our perf on but we'd need to do exploration to see how we could integrate it with the existing GeoArrow data structures and FP64 restrictions. We do have two issues (1, 2) open on looking into how to support FP32 but currently it's not on the horizon. We're always happy to get feature reqs or PRs if you'd like to formalize the request! |
Beta Was this translation helpful? Give feedback.
-
@pwrliang Do you have the code for the I tried reconstructing the datasets from the lakes/parks datasets link in the RayJoin readme and running Thanks! |
Beta Was this translation helpful? Give feedback.
-
Hi cuSpatial community,
Our recent work, RayJoin(paper, code), leverages RT Cores to accelerate spatial join queries, specifically Line Segment Intersection (LSI) and Point in Polygon (PIP), by transforming spatial queries into ray tracing problems. This approach enables the queries to run on RT Cores, taking advantage of hardware acceleration. RayJoin demonstrates real-time performance, processing in milliseconds for datasets containing millions of polygons. We evaluated RayJoin against cuSpatial and other CPU/GPU spatial join solutions, noting significant performance gains. For instance, our PIP query completed in 227 milliseconds when joining two OpenStreetMap datasets with 1.6M and 303K polygons respectively on an RTX 3090, while cuSpatial took about 2120 seconds. Additionally, we implemented the LSI query on RT Cores, similar to cuSpatial’s Pairwise Linestring Intersections, but without the restriction to paired inputs, allowing it to identify arbitrary intersections between two sets of line segments.
Here are my thoughts. I believe that GIS practitioners, who are typical users of cuSpatial and often use Jupyter Notebook to interact with spatial data. A high-performance spatial join processing would enable quicker exploration of spatial data and expedite users' workflow. Furthermore, as both cuSpatial and RT Cores are NVIDIA products, integrating RT Cores-accelerated spatial queries into cuSpatial could be cool.
Beta Was this translation helpful? Give feedback.
All reactions