NotMe

Faez S

Graphics Software Engineer

I did game dev before becoming an electrical engineer; now I write high performance code for GPUs.

Work Experience

Software Engineer

Advanced Micro Devices (AMD)

July 2023 - Present

  • Development of software tests in C++ and shader code for GPUs in pre and post-silicon to verify functionality of new features and stress test performance
  • Developing deep learning libraries in HIP (AMD's version of CUDA) for my team's internal deep learning framework to stress test the performance of new AI chips
  • Developed tests to verify the instruction set for hardware-based raytracing on new GPU architecture
  • Worked on both graphics and compute pipelines and their individual stages using OpenGL, OpenCL, Vulkan

FYP Intern

Aruvii

August 2022 - May 2023

  • Designed and implemented ROS framework for deep learning-based object tracking and detection system using LiDAR
  • Created pipeline for deep learning inference and visualisation through subsystems implemented with ROS nodes
  • Implemented separate inference pipelines in Python and C++ for compatibility with different models
  • Optimized performance of deep learning inference to improve runtime performance on embedded hardware

Intern - RTG Diagnostics

Advanced Micro Devices (AMD)

March 2022 - August 2022

  • Responsible for development of AMD GPU diagnostics suites including build, test, debug, and documentation
  • Participated in new GPU ASIC Bring-up and execution, responsible for SLT (system level test) and ASIC qualification suites
  • Implemented various tests using C++ and shader code to verify features on new advanced GPU
  • Organized a teambuilding event with other interns for the Singapore Diagnostics team and participated in events with other SgIS scholars at AMD

Mandatory Military Service

Singapore Armed Forces

2018 - 2020

  • Served 2 years of mandatory military service in the Singapore Armed Forces
  • Worked in transportation and logistics
  • Transformed a pen-and-paper-based logging system into a digital database running on a centralized server accessible from authorized devices
  • Facilitated maintenance and servicing operations for millions of dollars worth of equipment

Technology Intern

Tribal Worldwide

September 2017 - December 2017

  • Created prototypes of interactive applications using biometric recognition to improve personalisation, security, and increase user engagement
  • Demonstrated the feasibility of such applications through web implementations to run on most devices regardless of platform
  • Created 3D simulations of real-world use cases to give a realistic demonstration of the overall concept
  • Collaborated with the UI/UX design team to improve the usability and presentation of the applications
  • Other responsibilities included operating and maintaining the 3D printer at the office

Projects

I don't release demos and source code publicly. Please contact me if you would like to see any of my projects.

Mandelbrot Set Visualizer

Personal

June 2024

Interactive mandelbrot set visualizer accelerated with CUDA and rendered in OpenGL.

Tools used: C++, CUDA, OpenGL

3D Object Detection and Tracking System

Aruvii and National University of Singapore

August 2022 - May 2023

Design and implementation of object detection, object tracking and mapping algorithms running on embedded hardware to create a 3D LiDAR perception engine for intelligent automation.

Tools used: Python, C++, Robot Operating System (ROS)

Patient Monitoring with STM32L4 Microcontroller

National University of Singapore

November 2021

Patient monitoring via sensors on the B-L475E-IOT01A Discovery Kit

STM32L4 microcontroller programmed in embedded C to control various sensors on the board for patient monitoring (temperature, humidity, orientation, etc.) utilising polling, interrupts interfaced with I2C; UART for output to terminal via serial communication.

Tools used: STM32CubeIDE

DEX Price Sniper

Personal

July 2021

Smart contracts written in Solidity to fetch price information from Chainlink oracles on the Ethereum network

Developed in the Brownie environment with Python. The smart contracts can be utilised for high-frequency* trading on decentralized exchanges with up-to-date price information from the blockchain; useful against sandwich bots, etc.
* high-frequency because Ethereum nodes mostly run in data centers scattered throughout the world and my country's internet connectivity is in the top 1% in the world. If in doubt, pay more for gas.

Tools used: Solidity, Python, Brownie, Ganache

Basys 3 Games

National University of Singapore

February 2021 - April 2021

Three games implemented on the Basys 3 FPGA board.

Games made use of microphone input from the Pmod MIC3 and displayed graphics on the Pmod OLEDrgb.

Tools used: Vivado, Verilog

VR Simulation for Culinary Students

Temasek Polytechnic

July 2017 - September 2017

VR simulation built for the HTC Vive to train culinary students in proper fine-dining table preparation.

Targeted at the students of Temasek Culinary Academy in Temasek Polytechnic as part of their course in Culinary & Catering Management. The simulation involves preparing a dining table for seating by guests in a fine-dining restaurant. The students are timed and have to complete the procedure within a specified time limit in order to demonstrate their aptitude.

Tools used: Unity, Autodesk Maya, Substance Painter, C#

Primitive CMS

Personal

July 2017 - August 2017

A content management system I made on my own after picking up enough web development by myself.

The CMS manages the pages of a fictonal banking company - allowing the user to edit, hide or delete the pages. It also makes use of user authentication & password encryption for admin accounts that can access the CMS. The CMS runs on PHP & uses MySQL to store the database containing the page data & admin accounts that can access the CMS.

Tools used: SQL, PHP

Robo Conflict - An Augmented Reality Turn-Based Strategy Game (Tech Demo)

Temasek Polytechnic

April 2017 - June 2017

An augmented reality (AR) game for Android that features player vs AI gameplay & makes use of AR marker manipulation to do cool things in the game.

Robo Conflict is a turn-based strategy game where the player controls a team of robots against a team of AI robots on a hexagonal grid, and has to destroy the enemy team to win. The AI makes use of behaviour trees for decision-making, A* pathfinding & Minimax algorithm. The main highlight of the game is a feature which lets the player tilt the AR marker to causes all the robots on the grid to fall towards the direction the marker was tilted to.

The project was created to demonstrate the feasibility of AR marker manipulation as a part of main gameplay mechanics & to showcase our AI design.

Tools used: Unity, ARToolKit, C#

Devil Dice Redux - A recreation in OpenGL

Temasek Polytechnic

January 2017 - February 2017

A recreation of Devil Dice in OpenGL

The game mimics the mechanics of Devil Dice, with additional features such as terrain generated from a height-map & a particle emitter.

The project was created to demonstrate my skills in graphics programming. It was written in C++ using the freeGLUT library and makes use of computer graphics fundamentals such as working with vectors, matrices for 3D transformations, lighting & billboarding.

Tools used: OpenGL, C++

Kaijuu Trainer - A Location-Based Digital Pet RPG for Temasek Polytechnic

Temasek Polytechnic

December 2016 - February 2017

A Location-based game for Android that uses GPS tracking & QR code scanning for players to collect & pets and pit them against monsters encountered around Temasek Polytechnic

Kaijuu Trainer is a game created to promote exercising for students at Temasek Polytechnic. It intended to accomplish this by having them walk around the campus to collect digital pets & randomly encounter different types of monsters in different parts of the campus. They would battle these monsters with their pets to make them stronger. Located in different parts of the campus would also be QR codes which can be scanned to heal their pets & battle stronger boss monsters which drop eggs that hatch into new pets.

Tools used: Unity, ZXing, C#

Education

National University of Singapore

Electrical Engineering, 2020 - 2023

  • Bachelor of Engineering with Honours (Highest Distinction)
  • Singapore-Industry Scholarship (Sponsored by Advanced Micro Devices)
  • SP Group Book Prize (Best Student in Power and Energy Systems)
  • Dean's List for Semester 1, Academic Year 2022/2023 (Top 5%)
  • Dean's List for Semester 2, Academic Year 2022/2023 (Top 5%)

University of California, Davis (Student Exchange)

Electrical Engineering, 2022

Temasek Polytechnic

Game Design & Development, 2015 - 2018

  • Diploma in Game Design & Development with Merit (Top 10%)
  • Director's list for Academic Year 2016/2017 (Top 5%)