Abstract
While the PC just a few years ago included only one single-core CPU and a fixed functionality graphics card, the current commodity PC is a heterogeneous system, equipped with both a multi-core CPU and a fully programmable graphics processing unit (GPU). This change has given the commodity PC one to two orders of magnitude increase in computational performance compared with a few years ago [Brodtkorb et al. 2010; Owens et al. 2008]. We will in this paper address the potential of exploiting such a parallel computational capacity for the calculation of intersections and self-intersections of spline represented surfaces. The focus will be on massive parallel spline space refinement by knot insertion, an approach much better adapted to parallel implementations than the knot insertion used in traditional recursive subdivision based intersection algorithms. Rather than presenting a complete algorithm we address the most resource demanding sub-algorithms of surface intersection and self-intersection algorithms and their relative performance on multi-core processors and GPUs for different levels of refinement. Our results show the efficiency of the sub-algorithms on the two types of processors and how this can be used to improve the overall performance on this heterogeneous system.