Home > GPU, Graphics Cards, Multi-Threading, Processors, Workstations > OpenCL Will Rock the CAD World, Part 2: How It Works

OpenCL Will Rock the CAD World, Part 2: How It Works

The first post in this series discussed why you want OpenCL. This post will describe how it works.

The GPUs in present day graphics cards like the AMD FirePro/Radeon and Nvidia Quadro/Geforce lines are massively parallel, multithreaded, multicore processors with enormous computational power and high bandwidth. Traditionally these multicore processors have been used for graphics processing, leaving the CPU to do everything else.

More Computing Power Using Massive Parallelism

The paradigm shift with OpenCL is a non-proprietary, standardized (and familiar) language to divide up general-purpose computational code into parallel threads so the GPU and CPU can work in tandem to deliver new functionality or tackle large processing tasks.

One of the key elements about OpenCL is its ability to allocate resources to the GPU or multicore CPU depending on how much power is needed and how data intensive any given task is.  An OpenCL CPU+GPU-based solution means you can get simultaneously high performance for a design as well as its analysis and simulation.

In business terms, what OpenCL means is that responsiveness and speed from existing servers to handheld devices, will improve dramatically.  When algorithms are redesigned to use OpenCL, speed-ups of 10x are common, and speed-ups of 30x are not unusual. (See, for example, EDEM Simulation Engine.)

Next I’ll discuss how OpenCL will affect your workflow.

Author: Tony DeYoung

  1. Tony DeYoung
    May 21, 2011 at 6:03 pm

    I’m not a super technical guy (more end user) but someone wrote to me and asked how OpenCL compared to OpenMP and if the two could work together So I did a little search to find a non-technical explanation.

    Here’s the gist of what I read on stackoverflow:

    OpenMP is designed to work well with multiple (identical) processors, where work that is approximately equal can be (nearly) automatically farmed out between them.

    OpenCL is a somewhat different beast, in that it is really shines when working with special co-processor hardware. It will allow you to offload some of the heavy-duty number crunching to the GPU or some other co-processor like in the Cell. However, it was also built with the idea that it could be used to harness other main processors in multi-core computers.

    There was generally concurrence that OpenMP and OpenCL could work together.

  2. Bill Schmid
    May 24, 2011 at 1:40 am

    OpenCL will rock the CAD world, eh? I doubt it. Multi-core processors should already be rocking the CAD world. But instead, AutoCAD and Inventor will peg the activity on one of the four cores on my workstation while the other three sit idle. Overall processor usage? 25%. Meanwhile, the clock speed, which truly affects CAD performance, has stagnated. CAD programmers haven’t written code to support multi-core processors. Why should I believe they’ll write code to support OpenCL?

  3. Tony DeYoung
    May 24, 2011 at 3:16 am

    As I said in the previous blog comments (https://cadspeed.wordpress.com/2011/05/18/opencl-will-rock-the-cad-world-part-1-why-you-want-it/#comments), based on my experience getting big players to adopt OpenGL because of user demand, I expect to see the same thing happen with OpenCL but much faster. If you want it to happen contact Autodesk and ask when they will enable OpenCL.

    Speaking specifically of Autodesk, I do know that over 100 Autodesk engineers have attended AMD’s OpenCL training to date. That’s a lot of interest for no intension to develop. I don’t have any inside info about AutoCAD or Inventor in particular, but OpenCL on the CPU+GPU could significantly impact solid and surface modeling, simulation, and scene graph processing.

    Competitive pressure will do a lot to move ISVs along. The AMD Fusion Developer Summit is all about OpenCL (http://developer.amd.com/afds) and there are several significant CAD/CAE players who are showing OpenCL solutions or talking about their OpenCL development.

    Your and my job as end users, is to ask companies when they will support OpenCL and how.

  1. May 20, 2011 at 4:32 pm
  2. May 31, 2011 at 10:16 pm
  3. June 2, 2011 at 6:37 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: