OpenCL bugs
OpenCL is a great framework, however, AMD’s, NVIDIA’s and Apple’s OpenCL compilers are not. I have worked over 4 years with OpenCL and I have experienced a lot of bugs. Here I present a...
OpenCL is a great framework, however, AMD’s, NVIDIA’s and Apple’s OpenCL compilers are not. I have worked over 4 years with OpenCL and I have experienced a lot of bugs. Here I present a...
After experimenting with the OpenCL-OpenGL interoperability on AMD GPUs on Ubuntu Linux I got some cryptic error messages from X (see below). This happens both for the AMD APP samples like SimpleGL and my...
Level sets is a mathematical method of evolving contours in Cartesian grids such as images. The method works by considering a function , called the level set function, which has one more dimension than...
The objective of memory mapping files is to increase I/O performance. Memory mapping a file creates a pointer to a segment in virtual memory and the actual loading is performed by the Operating System...
Gradient Vector Flow (GVF) is a feature-preserving diffusion of gradient information. It was originally introduced by Xu and Prince to drive snakes, or active contours, towards edges of interest in image segmentation. However, GVF...
If used correctly, OpenCL images / textures can give you large speedups on GPUs. In this post, I’ll show you a very short example of how to use OpenCL to blur/smooth an image. The...
I have been playing around with the new C++ 11 standard. It includes a nice new library called chrono which includes some useful clocks and timers. Below is an example of some macros you...
Google test is a framework for writing C++ unit tests. In this short post, I explain how to set it up in Ubuntu. Start by installing the gtest development package: sudo apt-get install libgtest-devsudo...
I do a lot image processing both on images and 3D images / volumes. There exist many image processing libraries out there. Some are big and some are small, but none seems to fit...
In a school project I recently created a fast implementation of Marching Cubes that uses OpenCL to extract surfaces from volumetric datasets and OpenGL to render the surfaces on screen. I wrote a paper...