1. Predictor Enabled Dynamic Code Optimization on Heterogeneous Architectures (Current Research)(Jan 08)

An algorithm for dynamic code optimization is currently being designed which makes use of prediction metrics to optimize code on heterogeneous resources (consisting of multiple CPUs, GPUs and FPGAs). Critical Sections of H.264 Decoder (Mpeg 4 Video Decoder) were optimized for performance on CPU and NVIDIA G80 GPUs using CUDA.

2. Performance Evaluation of Logic Circuit Simulator (C with MPI, OpenMP) (Aug 07 - Dec 07)

Developed a highly scalable serial logic circuit simulator and parallelized it using MPI and OpenMP. The code was tested on multiple processors/nodes with multiple threads and logic circuit sizes. Computation and communication latencies were used as performance metrics and observed results were used to determine optimum performance.
Project Report

3. Multi-touch Simulation System on Single-touch Hardware (Python, C#)(Aug 07 - Dec 07)

Designed an algorithm to detect simultaneous multiple touches on a single touch-screen. This algorithm was used to develop user intuitive applications like multi-touch image zoom and multi-touch image rotation. The applications were developed for multiple platforms like embedded windows based O2XDA IIS and linux based Motorola E-680i PDAs.
Project Report
Video

4. Gesture Based Control System using Accelerometers (Java)(Aug 07 - Dec 07)

An application was developed to interface a 3axis 2g Taiyo SPP accelerometer with a serial Comm port using a Bluetooth Channel. The system was trained to identify various hand gestures using Hidden Markov Models. A Multi threaded implementation was then developed to control Linux based Amarok Media player in Real Time using gestures.
Project Report
Video1
Video2

5. Artificial Intelligence based Reasoning System (C) (Aug 07 - Dec 07)

Designed and implemented an artificial intelligence system to identify causal relationships between events from a huge interleaved dataset. A Meta Reasoning unit was designed to monitor the reasoning logic and provide feedback to the system. This unit generated self explanations and printed the program trace with justifications for various inferences.
Project Report

6. Improvement of Quality of Service (QoS) in Voice Over IP Application (VC++)(Aug 06 - May 07)

A VoIP application was reverse engineered to improve quality of service by experimenting with different buffer sizes. Various underlying networking protocols were analyzed along with different compression techniques like PCM and ADPCM. Issues like Jitter, Delay and Congestion were monitored to observe their impact on QoS.

7. Automated Gymnasium Management System (VB, MS Access)(Oct 05 - May 06)

Designed various modules for a Gymnasium Management System. Various functions like attendance management, workout schedule generation, body fat calculation were automated. The modules were integrated and tested using different testing methods (black box, white box, integration testing).

"If you ASCII stupid question, you'll get a stupid ANSI"