Since integrating OpenCL into existing software is not straightforward, we have four phases; each of which have their own time-schedule and benefits

1: exploration

In initial meetings, we (StreamHPC) and you (our customer) will discuss the bottle-necks in the software. As we believe the bottle-neck is related to computation-speed, we will continue with the next phase. Else, suggestions will be given on how to target the problem in another way. Our expertise can be used to have measurements done as a start for an alternative project.

If speed of computations are the bottle-neck and the theoretical minimal speed-up is promising, a project-team would formed.

2: research

In this step we will further investigate the possible methods of acceleration and visualize the current software-design. We make a plan in cooperation with the software architect to establish if and how OpenCL hardware acceleration can be integrated into the existing software. Costs and time depend on the (pre-)work done by your software team.

While nothing is produced, this is a very important phase. Every day progress is shared with the project-team and thus every day the project needs can be discussed and redesigned.

All information needed to finish the project would gathered at the end of this phase. After this, there will be a decision to make: go/no-go easy.

3: initial acceleration

A: isolated

Here we will target the theoretical minimal speed-up. Depending on the problem and the budget for this phase, this can be done in mathematics-software or in pure OpenCL.

B: integration

First, the hardware is chosen to run the OpenCL-code, then the code from the first part will be integrated into the software.

The speed-up will largely depend on the software it is built into and the hardware it is built on.

4: optimisation

When using standard techniques in OpenCL we get a minimum increase in computations-speed. By using specific hardware-optimisations and extra hardware, we can get extra speed-ups. If we think the speed-up will be marginal, we would suggest to skip this phase.

Since the hardware changes every year, we can make a 5-year plan to build a cluster. This increases in speed every year for a budget comparable to building a larger cluster at once. And this is comparably slow after 5 years.

SLA and risk-management

We are happy to serve your needs, but since we are not a large company we need to give securities in a different way:

  • We can include a fall-back in case the code does not work as expected. The control is in the hands of the operator. Automatic fall-back is also possible when the input does not match certain pre-conditions. Note that not all software is ready for fall-back logic.
  • Since GPGPU is rather new, many small OpenCL-companies throughout the world are in contact in case extra man-power is needed. StreamHPC is part of that network.
  • We take documentation very serious; all our code is documented extensively. This way any other company can take over. And this is possible, since OpenCL-kernels are rather small.

Please contact us for more information and details.

Want to know more? Get in contact!

We are the acknowledged experts in OpenCL, CUDA and performance optimization for CPUs and GPUs. We proudly boast a portfolio of satisfied customers worldwide, and can also help you build high performance software. E-mail us today