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…

Infrastructure in a Market Economy – HKS

A few days ago I had the utmost privilege of attending a workshop (Infrastructure in a Market Economy) conducted by Harvard (John F. Kennedy School of Government) for executives from all around the world. There were executives from internet search engine providers, federal government, delegates from developed nations and also developing nations. None from Sri…

IWOCL 19: Let’s Teach are Computers to Program

Recently I had the privilege of joining the organizing committee of International Workshop on OpenCL (IWOCL) 2019, as a volunteer. The workshop was three days; However, I was excited to attend a conference held in conjunction with IWOCL which was DHPCC++ (Distributed & Heterogeneous Programming in C/C++). IWOCL: The Push Towards Heterogeneous Programming The end…

Compilation and Linking Cuda with C

Managing complexity and modularity becomes important as your project scope increases. Therefore, separate compilation and linking Cuda with C is a must have. Learn how you could compile your Cuda code separately and link with your C object code. Example Files As an example, we will look at a stencil computation (nearest neighbor computation). Let’s…

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…

How to Apply for a PhD in US in 5 Steps

Many Sri Lankan students struggle to find quality sources of information on higher studies except for those who are lucky extremely enough to have the right connections. This guide will help you learn about graduate study opportunities and how to discover them.  First of all, I should mention about US-Sri Lanka Fulbright Commission. They offer wide…

SSL Certificate to Apache2 Server

If you don’t know anything about SSL (Secure Sockets Layer), it’s the standard security protocol to establish an encrypted link between a server and a web browser. The link ensures that all communications are private and that hackers cannot snoop traffic. By following this guide you will learn what an SSL certificate is and how…

Why You Need Conda to Manage Environments

Are you are confused by the many ways of creating environments in Python?Do you have to use Conda due to restrictions on the machine you’re working?This article explains as to why you need Conda. Learn what Conda is and how to use it without wasting your time. I came across Conda when I was working on a…

Dinero Trace Generator using Javascript

It’s quite surprising that around the time when this blog post was written, I couldn’t find a Dinero Trace Generator online. Dinero is a cache simulator software that had been developed around 20 years ago. To generate traces, you just have to do simple bit manipulations. Ironically, today, our modern browsers have the power to…