Undergraduate Projects at the University of Toronto
Transactional Memory and Thread Level Speculation: During my internship at IBM Canada, I was part of a collaborative research project with
Prof. Gregory Steffan at the University of
Toronto. We parallelized VPR(Versatile Place and
Route) to leverage hardware implementations of
Transactional Memory(TM) and Thread Level
Speculation(TLS) within IBMs Blue Gene Q supercomputers.
CIFAR Summer School: Attended the CIFAR Neural Computation and Adaptive Perception
(NCAP) Summer School, 2011. I learned about applications of deep learning to fields such like
Computer Vision and Cognitive Science.
Computer Hardware: Designed and created a neural branch
predictor combined with a local history based
predictor within SimpleScalar, a computer
architecture simulation tool. The resulting
predictor was one of the top 10 predictors in the
Designing Processors on FPGAs: Designed and created a 5 stage
processor in verilog. The processor was capable
of decoding and executing a subset of the RISC
ISA, interfacing with memory and writing to
devices such as the HEX displays when running on
a Stratix IV FPGA.
Designing Games on FPGAs: Created a video game in
Verilog that runs on a Stratix IV FPGA. The game
involved catching falling three dimensional cubes
from the top of the screen in a basket. The cubes
were generated dynamically (as opposed to storing a
representation of a cube in RAM). As time progressed, the cubes
increased in number, got smaller in size and fell faster.
The project involved
graphics (in generating 3D cubes of various sizes)
and programming in Hardware Description Language (HDL).
Programming Lego Mindstorm with C: Worked in a team of two to implement
a mechanized rubber band gun that would move, use
light sensors to detect a target and fire a rubber
band at it. This project was created entirely in
assembly language and loaded onto an FPGA emulating
a NIOS II processor. We interfaced with a Lego
Mindstorm controller to control the motion of the
gun and the randomly moving target.
Engineering Design: Led a team of four engineers to design a new
navigational aid system for our client - a
visually and physically handicapped person. We
met with her to work within her budget and
design a system that would integrate the use of
her cane and wheelchair to help her navigate
better. This is a video outlining the salient
features of our design. It was created for our