IIT Hyderabad
Following are some of the projects done at Indian Institute of Technology, Hyderabad from Aug 2015 to May 2019. Includes research projects; projects done as part of various courses; and projects done as part of university tech fest.
Most of them were done in a team. Click on the GitHub links for the other team members.
Research Projects
1. Optimizing H265 Kernels
Guide: Dr. Ramakrishna Upadrasta
Studied the H265 video encoding engine and designed a sequence of LLVM compiler passes to increase the throughput of industry-standard MulticoreWare’s C++ implementation of the H265 encoding kernels.
This was presented as a poster to the entire Computer Science department at IIT Hyderabad.
Project Poster
2. Rapid Prototyping of Network Slice Analytics Architectural and Federation Framework in 5G Core
Guide: Dr. Antony Franklin, Prof. Bheemarjuna Reddy Tamma
Designed and prototyped performance monitoring and federation framework for different network slices in 5G Core network using Prometheus and other tools.
A paper was submitted to the 6th IEEE Conference on Network Softwarization (NetSoft 2020).
Submitted Paper
3. Parallel Strongly Connected Component Algorithm
Guide: Dr. Sathya Peri
Designed a new parallel algorithm to find strongly connected components in a directed graph that was faster than the parallel version of Tarjan’s algorithm.
4. Polyhedral Compiler Optimization on Halide Language
Guide: Dr. Ramakrishna Upadrasta
I worked on integrating LLVM-Polly (and external project) with a DSL (Domanin Specific Language) compiler and enable polyhedral optimisation in the compiler.
5. Bigram analysis and web crawling
Guide: Dr. Maunendra Sankar Desarkar
This was my initial research experience, during my 2nd year of undergraduate.
Did web crawling for articles from Times Of India and conducted bigram analysis on them.
Course Projects
1. Dynamic Distributed Load Balancer
Course: Computer Networks II
A distributed load balancer built in Go as a part of Networking course project.
The focus was to explore some aspect of networks. It uses some nuances of WiFi network to automatically connect the workers to the main node for load balancing.
2. Compiler for COOL
Course: Compilers I & II
This included writing parser, semantic analyser and code generation for a language called COOL, by using ANTLR.
In the code generation phase, we had to generate a working LLVM IR for the COOL language using the parser written before.
3. LLVM IR Obfuscation
Course: Introduction to Compiler Engineering
Implemented several code obfuscation techniques as LLVM passes to obfuscate LLVM IR.
It included obfuscation of arithmetic instructions for integers and floats, changing loop iterator access, obfuscating constants and strings during compilation with runtime decoding.
4. Multiplayer chess with live chat in Haskell
Course: Principles of Programming Languages II
This game was built with an aim to explore functional programming, which was Haskell in this case. The game can be played over a network (multiplayer) with GUI and chat.
5. Search portal powered by Elastic
Course: Software Engineering
Created a search portal powered by Elastic for senate meeting minutes which takes .pdf/.docx documents and automatically identifies the subsections and paragraphs in the document. It integrated with IIT Hyderabad's LDAP and each document had access control with different user groups for students and faculties. The backend was in Django.
6. libwebler - C++ library
Course: Principles of Programming Languages II
A multithreaded web crawler library for C++. The goal of this project was to explore concurrency and intricacies involved in developing concurrent softwares. Golang style channel was also implemented as a part of this.
GitHub - libwebler, GitHub - Go channel in C++
7. MIPS Simulator
Course: Computer Architecture
A simplified, static, web based interpreter for the MIPS assembly.
Watch it live here: https://ganeshvernekar.com/projects/mips-simulator/
8. BookBay
Course: Independent Project
My first project at IITH. A website from where students of IIT Hyderabad can download/read books related to the courses of IIT Hyderabad. Students can select their courses from the list of all courses at IITH and they will be provided with recommended books for the chosen courses. They can also view their download history and comment on every book.
Tech Fest (nvision)
1. nvision 2017 website
nvision used to be our annual technical fest back then. I was one of the web coordinatory for the fest. For the final website, I implemented the frontend and the highlight was the landing page. Have a peek at the landing page here https://nvision2017.netlify.app/ (best viewed at 1080p). I implemented the parallex effect while the graphics were made by the creatives team.
Find all the projects related to the fest here: https://github.com/nvision-2017
2. Multiplayer battleship game
A Multiplayer Battleship built in NodeJS as a part of nvision 2017.