AMD, ARM-vendors and Intel have been busy unifying CPU and GPU memories for years. It is not easy to design a model where 2 (or more) processors can access memory without dead-locking each other. NVIDIA just announced CUDA 6 and to…
Altera published their OpenCL-on-FPGA optimization guide
Altera has just released their optimisation guide for OpenCL-on-FPGAs. It does not go into the howto’s of OpenCL, but assumes you have knowledge of the technology. Niether does it provide any information on the basics of Altera’s Stratix V or other…
Products using OpenCL on ARM MALI are coming
The past year you might not have heard much from OpenCL-on-ARM, besides the Arndale developer-board. You have heard just a small portion of what has been going on. Yesterday the (Linux) OpenCL-drivers for the Chromebook (which contains an ARM MALI T604)…
Starting with Altera OpenCL-on-FPGAs
Altera has been very busy adding resources and has kicked off the beginning of June with opening up their OpenCL-program for the general public. Only Stratix V devices are supported, but that could change later. Below are all pages and PDFs…
The 13 application areas where OpenCL and CUDA can be used
Which algorithms map is best to which accelerator? In other words: What kind of algorithms are faster when using accelerators and OpenCL/CUDA? Professor Wu Feng and his group from VirginiaTech took a close look at which types of algorithms were a…
GPU-developers, work for StreamHPC and friends
Bored at work? Go start working for one of the anti-boring GPU-expert companies: StreamHPC (Netherlands, EU), Appilo (Israel) or AccelerEyes (Georgia, US). We all look for people who know how to code GPUs. Experience is key, so you need to have…
Verify your OpenCL and CUDA kernels online for race conditions
GPUVerify is a tool for formal analysis of GPU kernels written in OpenCL and CUDA. The tool can prove that kernels are free from certain types of defect, such as data races and bugs. This is quite useful feedback for any…
Scaling mobile GPUs to 1000 GFLOPS
On the 20th of April 2013 there was an interesting discussion between Jan Gray and David Kanter. Jan is a specialist in C++ and FPGAs (twitter, homepage). David is a specialist in CPU and GPU architectures (twitter, homepage). Both know their ways well…
OpenCL Basics: Flags for the creating memory objects
In OpenCL large memory objects, residing in the main memory of the host or the global memory at the accelerator/GPU, need special treatment. First reason is that these memories are relatively slow. Second reason is that the most times serial copy…
X86-workstation buying guide for OpenCL developers, Q1 2013
Important: this article was written before Intel “Haswell” and AMD “Richland” architectures came out. So you want to start developing for OpenCL? When you focus on developing OpenCL for X86, you have these three options: CPUs, GPUs and CPUs with and embedded GPU. This…
The OpenCL power: offloading to the CPU (AVX+SSE)
Say you have some data that needs to be used as input for a larger kernel, but needs a little preparation to get it aligned in memory (small kernel and random reads). Unluckily the efficiency of such kernel is very low…
All OpenCL SDKs now in our Knowledge Base
For who hasn’t seen the latest addition to our knowledge base, we have added a list of all (almost) available OpenCL-SDKs. You can find it in the menu under “Knowledge Base” -> “SDKs…“. This list shows how important OpenCL is getting, as…
OpenCL on Altera FPGAs
On 15 November 2011 Altera announced support for OpenCL. The time between announcements for having/getting OpenCL-support and getting to see actually working SDKs takes always longer than expected, so to get this working on FPGAs I did not expect anything before…
Avoiding false dependencies in only two steps
Let’s approach the concept of programming through looking at the brain, the code and the computer. The idea of a program lives in the brain of a programmer. The way to get the program to the computer is using a system…
Processors that can do 20+ GFLOPS per Watt (2012)
For yearly power-usage there is a rule-of-thumb which states that a device that is continuously on, costs the amount of Watt times 1.5 in Euro per year. So the computer in front of me, that takes around 107 Watt, costs me…
The CPU is dead. Long live the CPU!
Look at the computers and laptops sold at your local computer shop. There are just few systems with a separate GPU, neither as PCI-device nor integrated on the motherboard. The graphics are handled by the CPU now. The Central Processing Unit…
Taking on OpenCL
OpenCL is getting more and more important and for more developers a skill worth having. At StreamHPC we saw this coming in 2010 and have been training people in OpenCL since. A few weeks ago I got a question on how to take…
How expensive is an operation on a CPU?
Programmers know the value of everything and the costs of nothing. I saw this quote a while back and loved it immediately. The quote by Alan Perlis is originally about Perl LISP-programmers, but only highly trained HPC-programmers seem to have obtained…
USB-stick sized ARM-computers
Now that smartphones get more powerful and internet makes it possible to have all functionality and documents with you anywhere, the computer needs to be reinvented. You see all big IT-companies searching for how that can be, from Windows Metro to…
5 types of loops you should avoid
In “Separation of compute, control and transfer” I talked about node-wise programming as a method we should embrace instead of trying to unroll the existing loops. In this article I get into loops and discuss a few types and how they…
Supporting OpenCL on your own hardware
Say you have a device which is extremely good in numerical trigoniometrics (including integrals, transformations, etc to support mainly Fourier transforms) by using massive parallelism. You also have an optimised library which takes care of the transfer to the device and the…




















