GPU-accelerated CAD

We have developed new parallel algorithms that use the GPU to improve performance of Computer Aided Design (CAD) systems. CAD systems (such as SolidWorks, AutoCAD, etc.) use modeling kernels (such as ACIS) to perform fundamental modeling operations. However, since some of these modeling operations are compute-intensive, these CAD systems make the designer wait until a particular operation is completed before providing visual feedback and allowing new operations to be performed, reducing the interactivity. The performance of such CAD systems can be considerably improved by using parallel hardware such has GPUs, which provide tremendous performance gains over single-core CPUs. However, these GPUs and multi-core CPUs have fundamentally different architectures; existing serial algorithms do not run optimally on these processors. We have developed parallel algorithms to accelerate some of the most important CAD operations, such as spline evaluations, surface-surface intersections, clearance computations, etc., using the GPU. The following projects were developed in collaboration with Sara McMains at UC Berkeley.

NURBS Evaluation and Rendering

We have developed efficient algorithms to evaluate and display trimmed non-uniform rational B-spline (NURBS) surfaces using the Graphics Processing Unit. Using the GPU for surface point evaluation instead of the CPU leads to a considerable decrease in the computation time and a corresponding increase in frame rate. We presented our GPU NURBS evaluator at the ACM SPM 2007 conference. Our poster was judged as the Best Poster at the conference. Papers SPM [link], CAD [link]

Drill
Drill model consisting of trimmed NURBS surfaces evaluated and rendered using the GPU.

NURBS Modeling

We extended our NURBS evaluator to perform modeling operations on NURBS surfaces especially focusing on operations like interactive trimming and surface-surface intersections. Our results were published in the proceedings of the ACM SPM 2008 conference and also in the special issue of IEEE Transactions on Visualization and Computer Graphics journal. We were the recipients of the Siemens Best Paper Award (second place) at the conference. Papers SPM [link], TVCG [link]

Ray Intersection
Computing ray intersections of NURBS surfaces using the GPU.
Surface Intersection
Computing surface-surface intersections of NURBS surfaces using the GPU.

Clearance Computations

We have developed a unified framework for accelerating geometric queries using the GPU. We have accelerated silhouette curve extraction and clearance computations. The algorithms were more than two orders of magnitude faster than commercial solid modeling kernel ACIS. Papers SPM [link] TVCG [link]

Object Clearance
Computing clearance between complex objects.
Silhouette
Computing silhouette curves of NURBS surfaces using the GPU.

Moment Computations and Surface Integrals

We have developed GPU algorithms for accurately evaluating geometric moments of solid objects. The algorithms were able to calculate volumes and center of masses of different solid models accurately and faster than the commercial solid modeling kernel ACIS. In addition, we can compute surface integrals over complex objects bounded by trimmed NURBS surfaces. Papers SPM [link] CAD [link]

Moments
Computing moments of a complex solid model. The green dot represents the center of mass.
Moments
Computing moments of a complex solid model. The green dot represents the center of mass.

Hausdorff Distance Computations

We have developed GPU algorithms for computing the Hausdorff distance between NURBS surfaces. Papers CAD [link] GMOD [link]

Hausdorff Distance
Directed Hausdorff distance computed between NURBS surfaces.
Hausdorff Distance
Directed Hausdorff distance computed between multiple NURBS surfaces.