Skip to content

Latest commit

 

History

History
102 lines (90 loc) · 5.79 KB

projects.md

File metadata and controls

102 lines (90 loc) · 5.79 KB
layout page
title Projects

Xorg(Mesa): Implement presentation features in VDPAU state tracker

Mentor: Christian König (Senior Developer, AMD) Code
  • Implemented luma keying as part of color space conversion code and bicubic and lanczos interpolation algorithms as fragment shaders in TGSI
  • Reworked the VPDAU mixer implementation so that it uses temporary buffer while applying filters
  • Implemented DRI3 helper code for the Gallium interface for hardware with PRIME GPU offloading
  • Used the DRI3 to send handle of a texture directly to X to be used as back buffer and avoids extra copying

Analysing the effect of kernel mode switch on multithreaded applications

Undergradutae Project, Prof. Mainak Chaudhuri
  • Used a modified version of qemu and linux kernel to collect traces for mutlithreaded applications including traces for OS activity

evdev-rs: rust bindings for libevdev

Mentor: Peter Hutterer (Senior Software Engineer, RedHat)
  • Implemented a safe wrapper to use libevdev in Rust, libevdev is a wrapper library for handling evdev kernel devices
  • Used high level rust features to encorporate enum type safety, memory safety, and type inference

Analysing high performance cache replacement policies for CloudSuite

Course Project, Prof. Biswabandan Panda
  • Analyzed the CloudSuite for their performance with respect to Last-level cache replacement policies like Hawkeye, ShiP++, etc
  • Used CRC2 simulator ”ChampSim” which models a out-of-order superscalar processor with the entire cache heirarchy and a DRAM model

Java Compiler in Python (JCP)

Compiler Design, Prof. Amey Karkare
  • Implemented a Java to x86 compiler from scratch in python using ply
  • Incorporated advanced features like object heap allocation, classes, foreign funtion interface

Online Academic Registration System(OARS)

Mentor: Prof. P.P. Kurur and Prof. Satyadev Nandkumar
  • Build a web application using Ruby on Rails to facilitate the process of academic registration
  • Used docker for development and deployement of the system in production

Edge-disjoint spanning trees in undirected graphs

Mentor: Dr. Ovidiu Daescu (Professor, The University of Texas at Dallas)
  • Worked on finding 2 edge-disjoint spanning trees in a special class of graphs with 2n-2 edges and a double edge
  • Proved a lemma regarding allocation of edges of 2,3 and 4 degree vertex
  • Conceptualized an algorithm to construct the two trees using the lemma, currently trying to implement and prove it

Rust bindings for libevdev

Mentor: Peter Hutterer (Senior Software Engineer, RedHat) Code
  • libevdev is a wrapper library for handling evdev kernel devices
  • Implemented a safe wrapper to libevdev library, also wrote documentation and tests for the bindings

Social Robot

Mentor: [Prakhar Jawre](http://home.iitk.ac.in/~jprakhar/) Documentation     Project Video     Code
  • Developed an animatronic head capable of human interaction via speech and through its Twitter handle
  • Used Radxa Rock as the main development board along with Arduino Mega for controlling servos and Python as the primary language
  • Implemented Speech to text using Google’s speech API, Artificial Intelligence through Pandorabots API, text to audio using eSpeak and connected to Twitter using TweetPony API
![Social Robot]({{ site.baseurl }}/assets/images/socialrobot2.jpg) ![Social Robot]({{ site.baseurl }}/assets/images/socialrobot1.jpg)

NachOS

Course Project under Dr. Mainak Chaudhuri(Associate Professor, IIT Kanpur)Code
  • Implemented system calls pertaining to fork, exec, join, yield, sleep and exit for NachOS
  • Implemented process scheduling algorithms like UNIX scheduling, round-robin, SJF, non preemptive
  • Implemented page replacement algorithms such as random page allocation, FIFO, LRU and LRU clock

App Timer

Mentor: [Prashant Jalan](http://prashantjalan.com/)
AppTimer is a android library which provides the time spent by the user on each app. AppTimer supports until Android Kitkat. It uses GET_TASKS permission to retrieve the app which is running in the foreground.
  • Explored various ways to calculate the time spent by user on each ways and implemented the most efficient one
  • Developed a background service which would run at specific intervals and record the application which was running in foreground at that time and store it in SQL database
  • The Code is available on github

Stable Marriage Problem

Mentor: Dr. Rajat Mittal (Professor, IIT Kanpur)
The Report is available [here]({{ site.baseurl }}/assets/projects/stable-marriage/report.pdf)
  • Studied the Stable Marriage Problem and Analysed the proof of the algorithm to solve it
  • Studied various standard techniques used in solving the problem and its variants
  • Analysed theorems regarding existence of a stable marriage in case of incomplete lists