Blog

In this section, I'll put in some basic stuff/tutorials related to popular software and tools.

Why are tools important in research?

Installing different tools, using them and getting familiar with them, understanding their internal structure, and manipulating them, is often an integral part of conducting research. Let's say that you're interested in finding out the performance of a novel hybrid memory hierarchy system that you've designed or that you want to see how good your own custom cache replacement policy works. In order to do so, you need to get familiar with something like an architectural simulator. Suppose that you want to deploy your own CNN (which you've trained yourself) and want to tweak and analyse it before selecting a proper platform. Then you need to learn how to use something called OpenVINO.

Okay, but don't these 'things' come with their own instructions page?

Yes, they do. But they are not always written keeping people who are in-experienced with the tool in mind. For example, look at this introductory post for writing a llvm pass. The first couple of lines are just configure and build llvm. For someone who has limited experience with Linux environment and wants to use LLVM, can run into some real problems just getting the right source & version and installing it can also be an issue at times.