I'm a GPU Software Engineer who has excellent understanding and hands on experience of C, C++, Vulkan API, GPU Computing Model, 3D Rendering, and 3D Mathematics. I've worked on GPU Compilers based on LLVM, and 3D Renderer based on Vulkan API. In Open Source world, I sometimes contribute to Glslang Project which is a GLSL frontend for SPIR-V.
Spectrum Graphics Engine (SGE) // Owner and the only developer/maintainer of the project
- A low level graphics engine built on Vulkan API
- SUTK - a UI library made on top of SGE, now a subproject in the same directory (VulkanRenderer/sutk)
Scalable KVM Over IP // Owner and the only developer/maintainer of the project
- This project allows us to fully replay keyboard and mouse inputs and get video output in real-time
- Works even in BIOS!
- Cheaper than PiKVM for multiple machines
Build Master // Owner and the only developer/maintainer of the project
- A wrapper around meson build system specifically for C/C++ projects
- Its main goal is to make it easy to build, test, package and deploy a C/C++ software, whether it is a library or executable.
GLSLang // I try to contribute to this project whenever a bug interests me in it
Tool/Tech | What I use it for? |
---|---|
LibreOffice Writer | For writing technical design documents |
C and C++ | For writing high performance code in SGE and other projects |
GDB | for debugging C/C++ code |
GNU Make | for building C/C++ projects |
Catch2 | For writing unit tests |
Bash Scripts | for complementing GNU Make |
Pkg Config | For packaging C/C++ projects and using them as dependencies |
Meson/BuildMaster | Building system for my projects |
Vulkan | For GPU Accelerated programming, see: SKVMOIP |
Bugzilla | Bugzilla server for bug-tracking |
Gitlab | Gitlab self-hosted instance for Git repo hosting and DevOps (CI/CD pipelines) |
Git | For source version control |
Python | For process level unit testing, and automating things like adding notice in each source file or creating gdb pretty printers |
Docker | For hosting web services on my internal servers |
Vagrant | For creating instant virtual machines and doing some testing in them |
- Computer Networking (Handwritten Notes & Solutions https://u.pcloud.link/publink/show?code=XZMrdp5Z2qzgt6DvfgBzzlloQWFjLfLoyOck)
- Operating Systems (Handwritten Notes & Solutions: https://u.pcloud.link/publink/show?code=XZprdp5ZjqgH1vvAt9u61BRCcbjbRuzS4Ok7)
- Compilers
- CPU and GPU Architecture
- Computer Graphics, Linear Algebra and 3D Mathematics
- Data Structures and Algorithms
- Software Engineering (My Handwritten Notes: https://u.pcloud.link/publink/show?code=XZT3dp5ZzXNMsTsuvQfOT2K4I8coOfou4z3X)
- Discrete Mathematics
- Digital Logic
- GPU Programming using Vulkan
- Software Architecting and Engineering in C and C++
- Multi-computer systems (SKVMOIP, PDV
- GUI Library Design and Implementation in C++ (SUTK)
- Compiler Frontend Design and Implementation (Parsing, IR Codegen)
- Fine-grain Multi-threading, and Multi-threaded data structures and algorithms (Repo)
- Advanced Linear Algebra and relavant numerical computations (Machine Learning algorithms)
- Multivariable Calculus, ODE, PDE, and relavant numerical computations (Solvers, Jacobians)
- Scientific Computing and ML/AI Fundamentals