<p>I currently perform several operations on polyhedra with cgal. These operations include</p>

<ul>
<li>Union of two or more polyhedra</li>
<li>Difference of two or more polyhedra</li>
<li>Intersection of two or more polyhedra</li>
<li>Cutting Plane</li>
<li>Ray intersection with polyhedra</li>
</ul>

<p>and some more.</p>

<p>The polyhedra are not necessarily convex, but are otherwise simple (i.e. non-selfintersecting)</p>

<p>I am now trying to find a way to hardware-accelerate these operations for speed efficiency reasons and thought, that GPUs might be capable to handle this task. However, most interfaces (i.e. OpenGL) I have seen focus on rendering.</p>

<p>Is there a good interface for performing these calculations with GPU support and retrieving the result subsequently?</p>

CC BY-SA 3.0
2018-03-05T16:48:42.700Z
I haven't seen any library which provides this sort of functionality and is GPU-accelerated as it'd be quite cumbersome. The only things I've seen close are CUDA's libraries for math, linear algebra etc.

You can either code your data structure and routines manually which again would be pita OR instead of going for the GPU why not go towards multi-threading on the cpu. Check out OpenMP and for ray-intersection with polyhedra you could construct a spatial data structure if there are many of them.
gallickgunner
CC BY-SA 3.0
2018-03-07T11:53:37.530Z
FWIW GPUs excel at computing results in image space. Do you need the actual geometric data of, say, union/intersection/difference or just *images* of the results of these operations?
Simon F
CC BY-SA 3.0
2018-03-08T12:02:51.987Z
@SimonF Indeed I would need the results of the operation. Image data (i.e. the 2D-Projection) is usually not needed.
Ctx
CC BY-SA 3.0
2018-03-10T11:37:19.470Z
I think you can accelerate your algorithms more easily using heterogeneous computing, meaning using a mix of CPUs and GPUs. For that you have several technologies available: C++ AMP, AMD HCC, C++ SYCL, OpenCL
Mauricio Cele Lopez Belon
<3d><gpu>
Efficient operations on polyhedra
Ctx
# Efficient operations on polyhedra

(Asked by: username_0 on 2018-03-01)

I currently perform several operations on polyhedra with cgal. These operations include

* Union of two or more polyhedra
* Difference of two or more polyhedra
* Intersection of two or more polyhedra
* Cutting Plane
* Ray intersection with polyhedra

and some more.

The polyhedra are not necessarily convex, but are otherwise simple (i.e. non-selfintersecting)

I am now trying to find a way to hardware-accelerate these operations for speed efficiency reasons and thought, that GPUs might be capable to handle this task. However, most interfaces (i.e. OpenGL) I have seen focus on rendering.

Is there a good interface for performing these calculations with GPU support and retrieving the result subsequently?

**Tags:** 3d, gpu

> **Comments:**
> **username_1**: I haven't seen any library which provides this sort of functionality and is GPU-accelerated as it'd be quite cumbersome. The only things I've seen close are CUDA's libraries for math, linear algebra etc.  You can either code your data structure and routines manually which again would be pita OR instead of going for the GPU why not go towards multi-threading on the cpu. Check out OpenMP and for ray-intersection with polyhedra you could construct a spatial data structure if there are many of them.  
> **username_2**: FWIW GPUs excel at computing results in image space. Do you need the actual geometric data of, say, union/intersection/difference or just *images* of the results of these operations?  
> **username_0**: @username_2 Indeed I would need the results of the operation. Image data (i.e. the 2D-Projection) is usually not needed.  
> **username_3**: I think you can accelerate your algorithms more easily using heterogeneous computing, meaning using a mix of CPUs and GPUs. For that you have several technologies available: C++ AMP, AMD HCC, C++ SYCL, OpenCL  

---

## 0 answers

