The first post in this series discussed why you want OpenCL. The second post described how it works. This post discusses how OpenCL will affect your workflow.
Below are some "compute" examples of where OpenCL will impact the CAD workflow:
- Linear algebra
- Signal/Audio/Image Processing/Video
- Finite difference method app
- Finite-element solving and direct solvers
- Finite particle Method FPM and airbag simulation
- Constraint Solving
- Contact search / contact analysis for nonlinear simulation
- CAD modeling engine
- Boolean operation, interference and clearance calculation
- Model tessellations
- Hidden-line removal
- Graphics visualization and rendering
- Injection molding flow simulation
- Cloth simulation
- NC tool positioning and material removal simulation
- Robotics and plant automation with robot tool path planning
- Data sorting and database operations. See PostgreSQL with OpenCL.
The greatest impact for CAD and designer productivity will be workflows where there is a tight coupling between visualization and compute or optimization and visualization. Examples are simulation-based optimizations and design studies on full vehicles (from automobiles to aeronautics to yacht design).
The Holy Grail of Rendering: Real-Time Ray Tracing
I'm a visual guy attracted to shiny spherical balls that reflect the environment off of their surface, i.e., ray tracing. OpenCL is a formidable tool to accelerate any ray tracing application by at least an order of magnitude. To me perhaps the most interesting right now is Caustic Graphics and OpenRL (Open Ray Tracing Library), their standard for writing ray tracing applications that execute across heterogeneous compute platforms. OpenRL uses OpenCL to take advantage of any GPU in the system (add-in board or APU) to accelerate ray tracing.
As a note: Apple developed OpenCL (before submitting to the open standards Khronos Group). Apple is already a major investor in Imagination Technologies, which recently bought Caustic Graphics. My conclusion: it is only a matter of time before you see the benefits of OpenRL/OpenCL on iOS devices.
Author: Tony DeYoung