Internet of Things Lab Research, Lab and Student Assistant
University of Wisconsin-Madison, Madison, Wisconsin, USA.
May 2015 to May 2016.
- Conducting research about smart fridge from both industrial and customer views
- Creating documentation for IoT microcontrollers comparison
- Researching and creating documentation about various IoT platforms by conducting experiments
- Creating a predictive weather forecast using Yahoo Weather API, ThingsWorx IoT Platform, and Raspberry Pi 2 board
- Organizing and maintaining IoT lab as well as helping with various events and workshops in the lab
- Mentoring and helping students on various IoT projects in various projects like iOS app development, Google Project Tango, IBM Watson IoT platform, AWS IoT, etc.
- Organizing and teaching the IoT semester-based bootcamps
- Documenting IoT-related tutorials within an internal Wiki for controlling the Parrot AR Drone 2 using Leap Motion, Myo Armband and mobile phone, Myo Armband setup, controlling CrazyFlie nanocopter using Xbox360 controller, Arduino Yun microcontroller board configuration, Sending MMS using Arduini Yun and Twilio, Microsoft Band configuration and simple hello world app using Visual Studio 2015, Creating a simple dropdown menu using Pebble smartwatch, Intel Galileo Gen1 microcontroller board setup and Linux expansion
- Helping in organizing UWEBC Annual Conference and Wisconsin Science Festival-IoT chapter through showcasing SmartThings home automation kit, Oculus Rift DK virtual reality kit, and VR Box virtual reality demos
- controlling the smart home kits using Amazon Echo and connecting SmartThings, Philips Hue and Insteon home kits to OpenHAB home integration platform.
- Helped with IoT open-house demonstrations as well as demoing NeuroSky MindWave BCI to the audience.
- Preparing IoT demos for Engineering Expo in April 2016
- Helped in building a physical home for the home automation project at IoT lab
- Learning about reading and uploading the pressure sensor data over the SparkFun cloud using Arduino Yun, creating a simple App in Android Studio using Estimote BLE Beacon, hand pose and hand motion detection using Leap Motion, Storm Drone 6 configuration and calibration using Pixhawk autopilot system, etc.
- Raspberry Pi 2 & 3
- Internet of Things
- Arduino Yun
- CrazyFlie Nanocompter
- Leap Motion
- ThingWorx IoT Platform
- Myo Armband
- Event Organization
- Organizing Technical Workshop
- IBM Watson IoT Platform
- AWS IoT Platform
- NeuroSky MindWave BCI
Mathematics and Science Lead.
PEOPLE program at East High School.
Supervised by Paul Ly Tong Pao.
Spring and Fall 2014, and Spring 2015.
- Leading about 10-15 mathematics, Physics, Chemistry and Biology tutors each semester
- Teaching and helping students after school with various mathematic courses : geomerty, algebra, calculus AB, calculus BC, statistics
- Designing and holding weekly ACT questions for high school schools
- Keeping track of each student's progress using the Web based system
- Getting in touch with teachers and parents for sake of helping students
- Math Tutorship
Human-Computer Interaction Lab.
Supervised by Dr. Bilge Mutlu.
May 2015 - August 2015.
Project github repo
- Configured Intel RealSense 3D SDK and DCM on Windows 8.1 Enterprise Edition
- Worked with RealSense 3D camera and figured gaze detection using Visual C#.net app Learned about Face Tracking and Emotion Detection in RealSense SDK
- Setup the camera and designed experiments for gaze detection using the NADS MiniSim driving simulator
- Got familiar with OpenDS driving simulator
- Wrote an app for detecting gaze direction
- Learned how to setup and work with SMI eye tracker
- Intel RealSense 3D SDK
- Visual C#.net
- SMI eye tracker
- OpenDS driving simulator
- Face Tracking
- Emotion Detection
- Account the lab hardware and suggesting new lab hardware based on needs
- Assisting in backing up the systems using Carbon Copy Cloner
- Creating new survey for Story Comprehension using Qualtrics for an autism detection study
- Modifying Qualtrics CSS query using Media Query and Bootstrap to work with various devices
- Learning how to work with Google DevTools
- Setting up XAMP in Ubuntu
- FTP file transfer using FileZilla
My research focused on GPU CUDA-C/C++ code profiling using available tools like GPGPU-Sim, HPCToolkit, TAU, and Lynx and extracting the DFG and CFG of a code using GPUOcelot PTXOptimizer, and Lynx. I used TAU for realizing how much time is used in each functions in each of the kernels. I characterized the Rodinia and Parboil benchmarks based on various metrics as kernel runtime, function runtime, sensitivity to bandwidth and latency, on-chip and off-chip memory usage and found the hot basic blocks in CFG as well as the common patterns in DFG to be moved to a GPU accelerator so as to optimize the kernel(s) runtime and reduce the bandwidth usage. I ran most of the Parboil and Rodinia benchmarks using both GPU toolkit provided by NVIDIA as well as GPGPU-Sim v3.x besides on GPU-Gem5.
Additionally I did the following tasks:
- Learned how to profile with Intel VTune Amplifier XE tool CLI
- Ran gem5 in FS mode with ruby detailed memory system with both timing and detailed CPU for a simple benchmark that doesn’t need external input
- Learned how to make gprof and gcov work together as well as using Linux Perf
- Submitted simulations tasks to the cluster using Condor
- Modified and annotated SV-VBS benchmark for GPU accelerator
- Converting the CUDA-C code hotspots to HDL
- Nvidia GPU Profiler
Supervised by Joseph Krachey.
January 2012 - May 2012.
Designed, revised or modified FPGA labs for:
- Introduction to Altera Quartus
- Ripple Carry Adders
- BCD Incerementors, MUXes, Decoders
- Carry Look-ahead Adders, Priority Encoders, Universal Gates
- Finite State Machines, General Purpose Registers
- Shift Registers, Special Purpose Registers
- Altera Quartus
- Digital System Design