Having read this article, you will be able to implement blocked matrix multiplication and also to understand the number of memory accesses encountered in blocked matrix multiplication. In my next article, I will explain how these ideas can be extended to SIMD (Single Instruction Multiple Data) vector instructions. Why is Matrix Multiplication Important? Matrix multiplication … Continue reading Blocked Matrix Multiplication
Category: algorithms
Roll a Dice on a Quantum Computer
When I say "Roll a Dice on a Quantum Computer", technically there is no dice and it's not entirely a click bait. I'm going to simulate and verify the probability of an 8 sided fair dice. Why would I want to waste resources to do such a simple task. Well, a simple answer. There is … Continue reading Roll a Dice on a Quantum Computer
Parallel Merge Sort with Pthreads
Most of the implementations in the web for parallel merge sort do not consider how elements are divided between threads, if the total number of elements is not perfectly divisible by the number of threads. Also, the final merge (having joined all threads) should happen in a recursive manner. But first, let's go through a … Continue reading Parallel Merge Sort with Pthreads