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)
  • 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)
  • 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