Abstract
Generating smooth surfaces of arbitrary topology is a major challenge in geometric modeling, computer graphics, and scientific visualization. Subdivision surfaces have emerged as a powerful and useful technique in modeling free-form surfaces. Recursive subdivision techniques generate visually pleasing smooth surfaces through the repeated application of a fixed set of subdivision rules. Given a control mesh, a Catmull-Clark Subdivision Surface (CCSS) is generated by iteratively refining (subdividing) the control mesh to form new control meshes. CCSS implementations do not perform well and suffer from low CPU utilization because they are often waiting for data to be transferred from memory due to the repeated pointer indirections. Rapid Evaluation of CCSS is an approach that focuses on achieving maximum performance by carefully addressing caching issues. However, this approach is designed with primary target being single core machines. In this paper, we implement the Rapid Evaluation of Catmull-Clark Subdivision Surfaces (RECCSS) algorithm in C++ and measure its achieved performance. We then redesign RECCSS to leverage the potential of parallel computation on widely available multicores machines and show that Parallelized RECCSS (PRECCSS) achieves noticeable speedup when run on diverse set of machines compared to the original RECCSS implementation. In addition, we conduct a study about the data value predictability of PRECCSS load instructions using Pin dynamic binary instrumentation tool, and conclude that 93.25% prediction accuracy can be achieved with existing value prediction techniques.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have