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

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.

Goal in the Engineering and Research Career

My ultimate goal in GPU software engineering is to develop GPU Computing and Rendering frameworks for Scientific Visualizations and Simulations which will be available free of cost for anybody anywhere in the world. I believe, many scientific concepts can be understood and analysed more conveniently with the help of GPUs and Extensive Software Support which is user friendly and doesn't require much technical in-depth knowledge.

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

GLSLang // I try to contribute to this project whenever a bug interests me in it

What tools and programming languages do I use?

  • 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
  • Bash Script: for complementing GNU Make
  • Pkg Config: For packaging C/C++ projects and using them as dependencies
  • Vulkan: For GPU Accelerated programming, see: SKVMOIP
  • Bugzilla: Bugzilla server for bug-tracking
  • Gitlab: Gitlab instance for hosting mirror repositories and their internal CI/CD
  • Git: For source code management
  • Python: For automating thigs like adding notice in each source file or creating gdb pretty printers.

Academic Knowledge Areas

  • Computer Networking
  • Operating Systems
  • Compilers
  • CPU and GPU Architecture
  • Computer Graphics, Linear Algebra and 3D Mathematics
  • Data Structures and Algorithms
  • Software Engineering
  • Discrete Mathematics
  • Digital Logic

Pinned Loading

  1. SKVMOIP SKVMOIP Public

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

    C 3

  2. VulkanRenderer VulkanRenderer Public

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

    C 23 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. MeshLib MeshLib Public

    Library for reading, writing, processing meshes from different 3D file formats.

    C 3

  6. HPML HPML Public

    HPML is a high performance mathematics library for computational science & 3d applications

    C 3