yiyang fei

Frank Yiyang Fei

Software Engineer

Email: feiyyfrank@outlook.com

github.com/FED4

- Technology stack: C++, Python, 3D Graphics (OpenGL), AI & ML (PyTorch, ONNX, Megatron, NLP, Transformers, LLM), Parallel Computing (CUDA), GPU Profiling (RenderDoc).

- Core Competencies: Fluent in English, experienced in debugging and optimization, skilled in innovative solution development, quick to learn, and eager to share insights.

- Career Vision: To specialize in optimizing AI and graphics applications on heterogeneous platforms like GPUs, aiming to become a domain expert and contribute to the team's success.

Work Experience

GPU Software Engineer

AMD - Shanghai, China

September 2022 - Present

Independently published a paper at the AMD AATC2024: Adapting Structural Similarity Estimator into Variable Rate Shading (VRS) Image Overlay Generation. Proposed, validated, and implemented a novel VRS algorithm. Developed a prototype using graphics and compute shaders and implemented it in the OpenGL driver, achieving over a 20% increase in frame rate in tested rendering scenes.

Responsible for the development of OpenGL and OpenGL ES drivers. Became a regular contributor to Khronos (such as OpenGL CTS). Solved various driver issues related to the rendering pipeline, shaders, and shader compilers.

Responsible for GPU driver profiling and benchmarking. Utilized machine learning (including decision trees, CNNs, Transformers) to improve driver performance, developed the Render Pass Analyzer with an accuracy rate of 99.82%. Also developed the Framebench Bottleneck Analyzer and occlusion prediction program, and deployed with ONNX. Conducted and presented on the topic of machine learning applications in GPU development to the department on multiple occasions.

Software Engineer Intern

HUAWEI Technology - Shanghai, China

June 2021 - August 2022

Developed 5G antenna weight configuration system. Created a check and convert module for a downlink signal beam under 10 scenarios. Constructed GUI, parsing and logging module for the system. Solved a multithread blocking problem. Mainly used Python, C++, and MATLAB.

Built a dependency analysis tool and a contributor locating tool.

Full Stack Developer Intern

KEDACOM - Suzhou,China

July 2019 - September 2019

Developed a video management system. Mainly used JAVA and SPRINGBOOT for backend and VUE JS for frontend.

My contribution:

Developed functions including video uploading & playing, video information CRUD and user permission management via JWT.

Implemented and maintained a MYSQL database server.

Education

Imperial College London

MEng Electronic and Information Engineering, 2018-2022

Modules Include: Signals and Communications, Digital Electronics, Signals and Linear Systems, Computer Architecture and Systems, Software Engineering, Algorithms and Complexity, Algorithms and Data Structure, Object Oriented Programming, Digital Systems Design, Advanced Database, Algorithms and Complexity, Graphics, Network and Web Security.


Dulwich College - London

A-levels, 2016-2018

Mathematics A*, Further Mathematics A*, Physics A*, Chemistry A.

Research Experience

Natural Language Processing & Analytics in A Scalable System

June 2021 - July 2022

  • Engineered a recommendation system utilizing PyTorch, comprising a translator and two BERT-based text classifiers, surpassing DLSTM and GPT models in accuracy, adaptability, and scalability.
  • Pioneered a BERT-based QA system to handle complex tasks such as data crawling, multimodal unstructured data preprocessing, and model evaluation.
  • Developed customized datasets from real-world business examples for model training and evaluation.

Topic Visualization and Application

July 2020 - September 2020

  • Developed a PYTHON library to visualize and evaluate topic models generated from LDA (Latent Dirichlet Allocation) method.
  • Generated word clouds for LDA models by word distribution for topics and number of topics assigned for the top words in the distribution.
  • Applied topic model evaluation to natural language processing tasks including email classification.

Projects