CV
General Information
Full Name | Andy Wanna |
Spoken Languages | English, Arabic, French |
Education
-
2024 - 2029
Ph.D of Computer Engineering
Georgia Institute of Technology, Georgia, United States
-
Relevant Modules
- High Dimensional Statistics and Optimization (ML/DL)
- Advanced Programming Techniques (HW/SW)
-
Relevant Modules
-
2020 - 2024
Masters of Engineering (Computer Engineering) - First Class Honors (4.0 GPA)
Imperial College London, London, United Kingdom
-
Year 1
- First Class Honors
-
Year 2
- First Class Honors
-
Year 3
- First Class Honors
- Dean's List (Top 10% of Year)
-
Year 4
- First Class Honors
- Dean's List (Top 5% of Year)
-
Relevant Modules
- Advanced Computer Architecture (HW)
- Advanced Deep Learning Systems (HW/DL)
- Digital System Design (HW)
- Deep Learning (DL)
- Topics in Large Dimensional Data Processing (ML/DL)
- Mathematics for Machine Learning (ML/DL)
- Financial Signal Processing and Machine Learning (ML/DL)
- Probability and Stochastic Processes (DSP/ML/DL)
- Computer Vision (ML/DL)
- Introduction to Machine Learning (ML/DL)
- Digital Signal Processing (DSP)
- Instruction Architectures & Compilers (HW)
- Information Processing (HW)
- Digital Arithmetic and Computer Architecture (HW)
- Operations Research (SW)
- Embedded Systems (SW)
- Software Systems (SW)
- Discrete Maths (SW)
- Programming (SW)
-
Year 1
-
2020
International Baccalaureate
Dhahran High School, Dhahran, Saudi Arabia
- IB
- SAT + SAT Subject tests
Technical Experience
-
Jun 2024 - Aug 2024
Numerical Hardware Engineer Intern
Intel, London (Remote), United Kingdom
- Automated mixed-precision floating point multiplier design optimization in Rust using E-Graph
- Investigated glitch power minimization in hardware designs using Integer Linear Programming
- Explored techniques and methods for optimal dot-product hardware units
-
Apr 2023 - Oct 2023
FPGA Engineer - 6 month Industrial Placement (CO-OP) at Quantum Motion
Quantum Motion Technologies, London, United Kingdom
- Designed and integrated bespoke signal generator into QICK stack for High-Speed Qubit Feedback on an FPGA in System Verilog, using Vivado
- Built a high-level, user-friendly software library to interface with and take advantage of optimised FPGA hardware with PYNQ and QICK Python libraries
- Programmed an RP2040 to communicate using TCP/IP over ethernet connections in C using the light-weight IP library
- Ported functions into C to be used on the RP2040, building an extensive codebase
-
Jul 2022 – Oct 2022
Analogue and Digital IC Validation Intern at Quantum Motion
- Automated Data analysis using Python scripting
- Devised model predicting transistor threshold voltage based on ring oscillator measurements
- Validated operation of ring oscillator hardware on silicon chips
- Characterized properties of silicon across a range of chips, at room and cryogenic Temperatures (2K)
- Designed low-noise, wide range (1na-10ma), wide-band (100MHz) current sensor schematic and PCB
Research Experience
-
Aug 2024 - Present
Hardware Accelerator Generation and Optimization for Cryptographic Primitives
Georgia Institue of Technology
- Automatically applying HLS Optimizations to Cryptographic Primitives, using E-Graphs to generate formally verified cryptographic accelerators for resource-constrained hardware
- Developing surrounding C-to-RTL HLS workflow to guarantee the correctness and optimal accelerator PPA
-
Oct 2023 - Jun 2024
Quantifying and Automating Interpretability for Deep Learning - Final Year Project - Primary Author
Imperial College London
- Designed metric to quantitatively evaluate the interpretability of a deep learning model, enabling trade-off analysis
- Developed an automated workflow to add interpretability to CNNs, achieving up to an 84\% inference latency improvement over the manual INN model
- Demonstrated comparable interpretability results on standard CNNs with state-of-the-art GradCAM methods
- Submitted to AAAI 2025
-
Oct 2023
OptiMult - Multiplier Optimization via E-Graph Rewriting - Undergraduate Research - Primary Author
Imperial College London - Under
- Created tool in Rust to compile hardware arithmetic expressions into optimized representations for area and latency
- Demonstrated up to a 46% latency reduction in squarer circuits and 9% latency reduction in general multiplication against industry standard logic synthesis tools
- Presented at ASILOMAR 2023
Technical Projects
-
Jan 2024 - Mar 2024
Deep Learning Activation Function Hardware Accelerators in SystemVerilog
- Designed and Verified 4 – 16 bit parameterized implementations of Softmax, LogSigmoid, Sigmoid, ELU, SILU, Softshrink activation functions
- Integrated activation functions into a re-configurable, dynamically scheduled hardware architecture
-
Jan 2024 - Mar 2024
Generative Deep Learning Models in PyTorch
- Analyzed a VAE transformer architecture on generating and classifying the MNIST dataset
- Explored Class Conditional & Wasserstein-GP DCGAN architectures on generating images in the CIFAR-10 dataset
-
Feb 2023 - Mar 2023
Cosine Accelerator on FPGA in Verilog
- Reduced the output latency of vector function by 77% by implementing custom cosine block on an FPGA using CORDIC in SystemVerilog with Quartus
- Designed customized hardware Floating-Point Arithmetic blocks for further speed-ups
- Optimized function further via low-level programming in C
-
Feb 2023 - Mar 2023
MRI Diagnosis Model using Computer Vision in PyTorch
- Implemented U-Net CNN architecture to perform image classification and segmentation on brain scans
-
Jan 2023 - Mar 2023
Digital Synthesizer in Embedded C
- Programmed an STM32 micro-controller using Multi-Threading in Embedded C
- Developed advanced functionality while maintaining thread safety, without affecting latency of sound output
- Enabled automatic detection and integration of additional devices to expand the synthesizer's functionality
-
Jan 2023 - Mar 2023
GymBro Embedded Raspberry PI Device
- Built a network hosting an AWS server, a Raspberry Pi Client, and MySQL Database
- Expanded functionality for multiple concurrent users, using Express.js, Node.js and MySQL
- Ensured security by adding user authentication
-
Nov 2022
Maximized Energy Efficiency of a SuperScalar CPU by varying MicroArchitectural Parameters
- Varied microarchitectural parameters such as Branch Predictors, Memory Hierarchy, and Instruction Parallelism, investigating their impact on energy usage
-
Nov 2022
House Price Regression Model in PyTorch
- Designed a regression model using a neural network
- Preformed data pre-processing, K-fold hyperparameter validation, early stopping, batched gradient descent and various other ML optimization techniques
- Implemented a custom NN training and inference mini library with batched gradient descent, arbitrary layers and custom activation functions
-
May 2022 – Jul 2022
Webapp for Mars Rover
- Developed backend for webserver using AWS, Node.js and Express.js for communication between the webapp and embedded system on Mars Rover
- Designed front-end with HTML/CSS/JavaScript
- Utilized MySQL on an AWS instance as a database for the WebApp, to maintain live rover position and data
-
Feb 2022 – Mar 2022
C to MIPS Assembly compiler in C++
- Object-Oriented compiler
- Compiles complex expressions in C such as pointer arithmetic, arrays and advanced function calls
-
Jul 2022 – Oct 2022
Automatic Scheduler in C++
- Created software to allocate projects within a set schedule to improve time management in C++
-
Feb 2022 – Mar 2022
Video game with FPGA hand-held controller
- Instantiated NIOS-II soft-core CPU onto FPGA using Quartus
- Programmed FPGA accelerometer functionality and low-level local processing and networking in C with Eclipse
- Developed client-side communication with server and user along with advanced signal processing for motion detection in Python
-
Nov 2021 – Dec 2021
MIPS 32-bit CPU in Verilog
- MIPS 32-bit CPU written in Icarus Verilog to process standard instructions
- Wrote test-benches to systematically test edge cases for each instruction
-
May 2021
Boolean Algebra Solver in C++
- Programmed tool that could reduce and solve Boolean algebra expressions using trees in C++
Leadership and Team Experiences
-
Oct 2022 – Present
Vice-President of Electrical Engineering Society
-
Oct 2021 – Jun 2022
Year 2 Academic Representative
-
Aug 2019 – Jun 2020
Fundraising Officer at Habitat for Humanity
-
Aug 2018 – Jun 2019
President of Robotics Club
-
Sept 2016 – Jul 2018
Founder of BISAK Tutoring Club
Skills, Strengths and Achievements
-
Proficient in C/C++, Python, Rust, Verilog/SystemVerilog
-
Experienced in JavaScript (NodeJS), SQL, Rust
-
Familiar Technologies - AWS, Git, FPGAs, Microcontrollers, TCP/IP, PyTorch, Vivado, Quartus, Eclipse, LTSpice, QICK
-
Adept in (written and spoken) English, French, and Arabic
-
Completed Math and Further pure maths iGCSE, 2 years early
-
Achieved Best delegate at 4 international MUN conferences, chairing 4 further ones