Skip to content

ravi688/ravi688

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 

Repository files navigation

Ravi Prakash Singh

Introduction

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.

Key Projects

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

What tools and programming languages do I use?

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

Academic (and Practical) Knowledge Areas

Specialization Areas

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

TODO

  • 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

Social Media

About

My Github Profile Introduction README(s)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published