Course Projects
Centre Power Awareness
Developed a dynamic runtime environment for HPC which would provide trade-off between performance, energy and thermal characteristics of the system with the help of monitoring, analysis and feedback
Code Optimization for Scalar and Parallel Programs
Implemented a source-to-source compiler using Cetus to allocate data structures in the correct MCDRAM based on the thread location on Intel KNL architecture for OpenMP programs
Real-time Operating Systems
Implemented different scheduling and resource allocation policies with EV3RT kernel and LEGO Mindstorms to operate a line following robot, segaway and obstacle avoiding robot
Created a client-server based IoT-cloud interaction with Nordic nRF51 board and SDK along with Raspberry Pi
Compiler Construction
Implemented the scanner, parser and IR stages of a basic source-to-source compiler for the C language using C
Parallel Systems
Created own message passing library for parallel programs using Socket programming in C and optimized it for round-trip timing
Parallelized and accelerated a serial program for simulating the surface of a lake using CUDA programming, OpenMP, OpenAcc and MPI
Reduced power consumption of the cluster, by using DVFS to throttle frequency, for NAS Parallel benchmarks
Operating Systems
Modified the XINU kernel implementing Process Scheduling Algorithms, Locking Techniques for Reader-Writers Problem, Process-centric Garbage Collection, Buffer cache management and Disk scheduling
Quantum Computing
Solved a factoring problem on qOp (DWave simulator)
Built logic gates (AND, XOR, half-adder, full adder) into a Quantum Machine Instruction(QMI) and QUBO to port on a bi-partite graph supported by DWave
Used Quirk to build Toffoli and adder circuits
Implemented various circuits using Quantum gates on DWave Leap HW with the Ocean sdk, IBM Q with qiskit and Riggeti with the Forrest sdk