Hacking DNN Architectures in Cloud Environments

Deep Neural Networks (DNN) are increasingly being deployed in commercial cloud environments. However, in shared environments your intellectual property might not be safe as you once thought. In fact, you might just have allowed your competitor to reverse engineer your architecture. In this post, I will explain how an adversary can use the cache hierarchy…

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…

Why Researchers Should Use C++ Unit Testing

In this post, I will explain how to use GTest (Google C++ Testing Framework) configured with CMake to handle C++ unit testing. Unit testing ensures you the correctness of your code especially when you modify it to incorporate optimizations / special conditions. Purpose Statement Often in academia and research, people tend to think that investing…

Building an AM Frequency Morse Code Transmitter

This is one of the posts to which I could not assign a category on my website due to the fact that I’ve sticked to posting application layer posts and all other posts are categorized as personal. Recently, I was a teaching assistant for Fundamentals of Electronics which had around 70 students. The course covered…

How I Scored 169/170 for GRE Quantitative and 161/170 for GRE Verbal

[The article is a continuation of the series about applying for higher education (https://malithjayaweera.com/2018/12/apply-phd-usa-10-steps/) written with the intention of helping young and brilliant undergraduates to succeed in their graduate studies] An important question that I students always ask is “how much time do you need to prepare for GRE”? Honestly, I cannot answer that question…

Globus: An ESB for Supercomputers

Recently, a system administrator complained to me about an issue with Globus: a platform used by the academia to transfer research data efficiently, securely and reliably. Globus is not an online storage but it acts as a mediator between storage systems. Neverthless, Globus seems to solve a widespread problem in academia. Enterprise Service Buses (ESB)…

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…