Author: Erik Smistad
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-OpenGL interoperability problems on AMD GPUs and Linux
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 set segmentation on GPUs using OpenCL
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...
Memory-mapped files using the boost library
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...
GPU-based Gradient Vector Flow using OpenCL
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...
Gaussian Blur using OpenCL and the built-in Images/Textures
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...
Measuring runtime in milliseconds using the C++ 11 chrono library
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...
Getting started with Google Test (GTest) on Ubuntu
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...
Simple Image Processing Library
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...