Skip to content
View ravi688's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report ravi688

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ravi688/README.md

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

Pinned Loading

  1. SKVMOIP SKVMOIP Public

    Scalable KVM Over IP Software Suite for Managing Servers and Remote Computers.

    C 6

  2. VulkanRenderer VulkanRenderer Public

    Spectrum Graphics Engine, 3D Renderer built on Vulkan API which works on Linux and Windows

    C 28 2

  3. PlayVk PlayVk Public

    PlayVk is a single header file library for simplifying vulkan objects creation, initializing vulkan, and rendering basic geometries.

    C++

  4. BufferLib BufferLib Public

    BufferLib is a small library for managing memory buffers

    C 3

  5. CrackingTheCodingInterview CrackingTheCodingInterview Public

    Coding Practice for my Job interviews as well as experiments.

    C++ 2

  6. BuildMaster BuildMaster Public

    BuildMaster is a wrapper around meson to make C/C++ project configuration convenient, faster, and remove boiler plate code

    C++ 1