Skip to content
View trg-rgb's full-sized avatar

Block or report trg-rgb

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.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

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

Report abuse
trg-rgb/README.md

Tanmay Gulhane

Systems and toolchain work on RISC-V: cross-compilation, vectorization, and performance verification.

I build things that have to work outside controlled environments.

B.Tech Robotics & Automation · MIT World Peace University, Pune

Email Hugging Face

What I do

I cross-compile HPC and scientific libraries to RISC-V (riscv64), then check, by disassembling the result, that the hot loops genuinely use the vector unit instead of silently falling back to scalar code. My focus is embedded systems, computer architecture, and machine learning on constrained hardware.

Everything is verified under QEMU and reproducible from a single command. I document the tests that fail instead of tuning them away, and I defer performance claims to real hardware rather than dressing up emulator timings as throughput.


RISC-V HPC porting: riscv-hpc-port

A portfolio of HPC, scientific, and ML software cross-compiled and forensically verified for riscv64, built on x86_64 with riscv64-linux-gnu-gcc 15.2 and run under qemu-riscv64.

Port Result
LAMMPS (molecular dynamics) Cross-compiled to riscv64 with zero upstream patches. Packaged as a one-command installable .deb.
OpenMM 8.5 (molecular dynamics) Ported with a 4-hunk upstream-friendly patch. 12/12 platform tests passing, 861 RVV instructions in the hot nonbonded kernel.
OpenBLAS (linear algebra) Built for the RVV-1.0 (ZVL128B) target. Documentation PR under review upstream.
TensorFlow Lite Full TF Lite cross-compiled for riscv64, running INT8 CNN inference on a real model.
Eigen 5.0 Cross-compiled and tested under QEMU, 42/42 tests passing.
Chocolate Doom Running on riscv64 under full-machine emulation, with a deterministic timedemo matching x86 frame-for-frame.

Tooling: verify-rvv-port.sh, a forensic verifier I wrote that statically checks whether a binary's hot path is genuinely vectorized, rather than silently falling back to scalar. It caught an incorrect figure in my own published results before I shipped them, which is exactly why it exists.


Machine learning: Pretrained-CNN

6-class CNN for groundnut leaf disease detection. Gold Medal, First Place at Sci Quest 2025, MIT-WPU, against students from all branches and years. Trained, optimized for inference, and deployed live. Try the demo

The INT8-quantized version of this model is what later ran inference on RISC-V via TF Lite, which is how the ML work and the systems work connect.


Tech

C C++ Python GCC QEMU CMake TensorFlow RISC-V Linux


B.Tech 2025–2029 · open to internships in RISC-V, systems software, and toolchains

Pinned Loading

  1. riscv-hpc-port riscv-hpc-port Public

    Forensic RISC-V (riscv64) porting of HPC and scientific libraries: cross-compilation, RVV vectorization verification, and reproducible QEMU validation. LAMMPS, OpenMM, OpenBLAS, TF Lite.

    Shell 1

  2. Pretrained-CNN-with-6-class-image-classification Pretrained-CNN-with-6-class-image-classification Public

    Gold Medal — Sci Quest 2025, MIT-WPU. CNN for groundnut leaf disease detection across 6 classes, deployed on Hugging Face

    Python 1

  3. fixed-point-riscv fixed-point-riscv Public

    Portable fixed-point arithmetic library (16.16 and 32.32) for RISC-V cores without an FPU, written in C

    C 1

  4. rv32i-decoder rv32i-decoder Public

    CLI tool that decodes 32-bit RISC-V machine words into human-readable assembly mnemonics, supports all RV32I base integer instruction formats

    Python 1