Select Page
Finite Differences in Electromagnetic with CUDA

Finite Differences in Electromagnetic with CUDA

Back at the university, I got excited about one of the methods used for computing various quantities from electro magnetics. Particularly the method of finite differences, which is not among the widely used methods, but is somewhat simple to understand and compute (Its not the most efficient method either - but it can be easily accelerated by CUDA). It can be used to calculate the distribution of electric field within a well-defined shape such...

Real time Julia and Mandelbrot set Visualization

Real time Julia and Mandelbrot set Visualization

Both the Julia set and the Mandelbrot set are among the most famous fractals sets and it is likely,that you have seen some images of those sets already. They are basically endlessly - repeating patterns in complex plane. To see whether a point from the complex plane lies in a fractal set or not, one has to compute an equation over and over again and see whether it converge or diverge. If for the given point the equation does converge, the point...

CUDA QSWIFT Library with QR EigenValue solver

CUDA QSWIFT Library with QR EigenValue solver

When I was deciding which topic to use for my diploma thesis back at my university, there were several interesting topics. I ended up choosing "Suppression of photobleaching in Super-Resolution Optical Fluctuation Imaging using digital filtering." which was kind of close to my specialization and besides, I had a great leader of my thesis. If you are interested, feel free to read HERE . The truth is however that some other topics were of mine...

Cuda FFT R2/R4/R8

Cuda FFT R2/R4/R8

When I was starting to learn with CUDA, our teacher told us to chooose an algorithm and implement it in CUDA for a semestral project. For me as beginner, everything seemed complicated as I had no idea how to code anything in CUDA. I would have probably even stuggled with parallel reduction algorithm, but I wanted to know how FFT works and so I asked him whether I could actually work on FFT. I received a negative answer back then that FFT might...

GPS Signal Processing

GPS Signal Processing

Back in the university, one of my favorite projects I worked on was the estimation of a GPS signal delay and a Doppler Offset. The Doppler offset is simply caused by the fact that GNSS satellites move across the sky while broadcasting on a specified frequency. As a result the final received frequency is different. For L1 (1575.42MHz), the expected range is ~(+-6 KHz). Since the receiver is also interested in the delay between the generated...

CUDA Bitonic Sort

CUDA Bitonic Sort

Sorting data is a very common task and there are variety of algorithms to do the same (QuickSort, BubbleSort, MergeSort Etc ... ). Not all of them are however suited for CUDA Architecture. Its important to bear that in mind, as people occasionally forces you to do something without the underlying information whether that is even possible - keep your own head, stay informed and make proper decisions based on your knowledge. A very simple example...

CUDA Inclusive Scan

CUDA Inclusive Scan

My first class of CUDA programming was almost a nightmare ( I have fortunately enrolled spontaneously). I was excited to learn about GPGPU and was expecting to do some really cool stuff on GeForce cards within that semester. The truth however was, that we have spent quite a long time in CPU assembly (SSE Instructions) and also with CPU Threads and their synchronization and work distribution. Only half of it was dedicated to CUDA programming...

CUDA Matrix Multiplication

CUDA Matrix Multiplication

Matrix to Matrix multiplication is a very popular algorithm to show the real performance of any Graphic card. This is by nature due to the fact that this operation is very costly in terms of computing performance as the amount of multiplications required scales with matrix size - N3 . Even a very bad and naive CUDA kernel would perform very well in comparison to any CPU implementation. The goal of this post is to however show that GPUs have not...

NVIDIA CUDA Introduction

NVIDIA CUDA Introduction

Many people are wondering how is it possible that Graphics Processing Units (GPUs) have so much computing power. The answer lies in the history of GPUs. They have always been used as accelerators for graphics and rendering, especially video games. In fact GPUs thanks for their power to all the gamers around the world ?. Seriously, most games need to compute at least 25 frames per second a new scene. Lets say the resolution is FullHD (1920 x...

Hello and welcome to IrisCores! This will be “hopefully” mine personal technical blog for the upcomming decade(s). It took me a while to chose this domain name, but I have had several reasons to do that (Except for the fact that Iris is my favorite flower🌱) and even for choosing rather a subdomain for blogging – As the name suggest, it opens for more professional business usage, which is even why I have stayed away from DNS names, which would be more appropriate for my personality – rain, woods and cycling.

At the beginning of 2023, most of the posts from my previous domain ( https://www.beechwood.eu ) has been either revised and moved here or discarded in case the topic was outdated or a complete nonsense. Because beeing partially IT admin is sometimes fun, I have decided to keep maintaining the back-end, but to ease my pain a little bit and give me more freedom and less worries, the site is proudly powered by GCP ☁️ 

After graduating from Czech Technical University in Prague in 2016, I started working in GPGPU (General Purpose GPU CUDA ) for accelerating processing of large data sets and variety of computing intensive algorithms for signal and image processing.  Soon after, I started my career as an FPGA designer and since then I have widely broadened my expertise among other related fields such as high speed data interfacing, communication on standartized interfaces such as AXI or PCIe and cooperation with software world and kernel drivers.

My dream is to live and work in peace in the coutryside, have a dog (or two 😇), a loving wife and a wonderfull family ☄️. I find joy in appreciations to my work, but I never expect to receive any. I learned the hard way that if you need something, you have to ask for it and go for it and that every small step you take brings you closer.

Love and kindness. Two words, that make life worth living

Vojtech

FPGA Engineer