Example of a concrete Optimization Step by Step on a GPU

10 Juin 2016

In this post I will look how to port the thermal diffusion code form the CPU Optimization Example to GPU. In this precise case I will port it to CUDA, but we can imagine that comparable performances can be achieved with other GPGPU languages. Before starting this portage it can be interesting to have a quick look on the CPU version.

The example code

I chose this specific code that I used recently, to prove some performance. I like it because it is a very simple code that we can parallelize very easily. The code is a simulation of 3D temperature diffusion, by a finite difference approach. The discussion here is not about the algorithm efficiency, but about the optimization process.

Read more ...

Example of a concrete Optimization Step by Step on a CPU

1 May 2016

When asked how to optimize codes, I get many small steps swarming into my brain at once. Usually, it is a bit complicated for me to order them, because it's very case depending.
So, I decided to make an example of optimization step by step to have something more understandable that general and very detached rules.
The optimization process described is linked to this specific code. For sure it is possible to apply the same steps to other code, but be warned that it is barely impossible to predict whether that would actually improve (and how much) the speed.

The original code

I chose this specific code that I used recently, to prove some performance. I like it because it is a very simple code that we can parallelize very easily. The code is a simulation of 3D temperature diffusion, by a finite difference approach. The discussion here is not about the algorithm efficiency, but about the optimization process.

Read more ...

Optimization Main Steps

29 March 2016

After wining the Intel Modern Code Developer Challenge, I share some insights, about how to start your optimization in the good way.
Find the original article directly on Intel's Blog.

About

Biography

Mathieu Gravey is a 25-year-old Ph.D. Student at the University of Lausanne. He intends to create new spectral bands in old satellite images.

He has started his computing formation at the “Lycée Albert Schweitzer” in Mulhouse, France, by learning Pascal.

He continued with OOP trough Delphi. Finally, he switched to the C family language, when he started to write iOS applications.

Read more ...