Internal:4D Predicates Benchmark

From crtc.cs.odu.edu
Revision as of 14:32, 18 September 2019 by Ctsolakis (talk | contribs) (Created page with "= Introduction = In contrast with 3D PODM, 4D-PODM exhibits currently lower efficiency. 4D-PODM non-optimized code achieves only 52% speedup with 12 threads, while 3D PODM ach...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Introduction

In contrast with 3D PODM, 4D-PODM exhibits currently lower efficiency. 4D-PODM non-optimized code achieves only 52% speedup with 12 threads, while 3D PODM achieves liner speedup up to 128 threads.

Optimizations

The most computationally heavy operations for 3D PODM are circumcenter evaluation and cavity expansion. For the former, the use of vector intrinsics will be evaluated for 4D. Vector intrinsics will offer instruction-level parallelism. For the cavity expansion, we expect the same behavior for 4D-PODM since the 4D analogue of in-sphere test used in the Delaunay kernel involves more floating-point operations than in 3D. Also, experimental evaluations show that in 4D the cavities contain many more elements. In 3D, they were around 30 while in 4D the size of a cavity is on average 150 elements. This suggests that there is a good potential for concurrency exploitation at this level, too. In the past [115] the CRTC group attempted to exploit parallelism not only on the cavity level as in 3D PODM, but at even lower: in the element level. This approach did not offer any speedup in 2D. However, in 4D due to the larger size of the cavity, the expectation is that the cost of spawning a (light) thread will be amortized by the intense floating-point operations.