OpenCL Will Rock the CAD World, Part 3: How It Will Affect Your Workflow
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
- Post-processing
- 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.
Next I’ll discuss what you should do about OpenCL right now.
Author: Tony DeYoung
Tony,
Since you are a visual guy, do yourself a favor and check out http://www.keyshot.com. KeyShot is the first realtime raytracing and global illumination solution running entirely on the CPU. And it outperforms everything that has been done on the GPU up to this point.
I know keyshot well! Great product (and have written about it on Fireuser.com because 2.1 supports the GPU as well) But I believe the future will be OpenCL which can distribute computation across GPUs and CPUs. Moreover with the future moving to APUs, I see the market for heterogenous computing as many time larger than CPU or GPU only computing.