Skip to content
View bhaskargurram-ai's full-sized avatar

Block or report bhaskargurram-ai

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.

Content in all repositories owned by your account will be closed.
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
bhaskargurram-ai/README.md
Bhaskar Gurram

typing banner

Website Google Scholar LinkedIn Email

19 merged upstream PRs 17 projects 30+ in review 2 arXiv papers profile views

I work on the performance and numerical correctness of scientific and ML software. Most of my open-source work is algorithmic speedups and correctness fixes in libraries that other people build on: Google JAX, statsmodels, xarray, Hugging Face candle, Apple MLX, the Rust cc crate, Apache ShenYu, ONNX, and tools run by CISA, USGS and Sandia National Laboratories.

M.S. in Computer Science, University of Cincinnati. AI Engineer at Zasti Inc. (Ashburn, VA).


Where my code runs

Google JAX statsmodels xarray Hugging Face candle Apple MLX Rust cc-rs Apache ShenYu ONNX Bokeh pylint Microsoft Olive LangSmith SDK CISA CSET USGS dataretrieval Sandia pyGSTi CNCF cartography
flowchart TB
    me(("Bhaskar Gurram")):::me
    me --> jax1
    me --> jax2
    me --> cc

    subgraph perf["Performance"]
        jax1["JAX: batched lexsort / unique"]:::node
        sm["statsmodels: closed-form LOO influence"]:::node
        xr["xarray: interp skips redundant sort"]:::node
        candle["candle: tiled CPU quantized matmul"]:::node
        jax1 ~~~ sm ~~~ xr ~~~ candle
    end

    subgraph corr["Numerical correctness"]
        jax2["JAX: zeta JVP, pareto support"]:::node
        mlx["MLX: left-padding mask in batched generation"]:::node
        onnx["ONNX: DynamicQuantizeLinear all-zero scale"]:::node
        pygsti["pyGSTi: default POVM on sub-models"]:::node
        pylint["pylint: pyreverse recursion hang"]:::node
        bokeh["Bokeh: layout border alignment"]:::node
        jax2 ~~~ mlx ~~~ onnx ~~~ pygsti ~~~ pylint ~~~ bokeh
    end

    subgraph sec["Security and reliability"]
        cc["Rust cc: PGO flags no longer leak to C"]:::node
        shenyu["Apache ShenYu: no HTML rendering of responses"]:::node
        cset["CISA CSET: PBKDF2 work factor"]:::node
        usgs["USGS: open-ended date ranges"]:::node
        ls["LangSmith: keep HTTP response on errors"]:::node
        cc ~~~ shenyu ~~~ cset ~~~ usgs ~~~ ls
    end

    classDef me fill:#2a78d6,stroke:#1f4e9c,color:#ffffff,font-weight:bold
    classDef node fill:#f5f7fb,stroke:#9fbce6,color:#0b1b3a
    style perf fill:#eaf1fb,stroke:#2a78d6,color:#0b1b3a
    style corr fill:#eaf1fb,stroke:#2a78d6,color:#0b1b3a
    style sec fill:#eaf1fb,stroke:#2a78d6,color:#0b1b3a
Loading

Speedups that shipped

Bar chart of measured speedups: statsmodels 13,000x, JAX lexsort 736x, xarray interp 57x, JAX unique 55x, candle prefill 1.45x

Each bar is a change that was reviewed and merged by the project's maintainers. Timings are from the pull requests.


Merged upstream contributions

Project Contribution Result
Google JAX Batched lexsort / unique(axis=...): new batch_size keyword, designed with a core maintainer over six review rounds Compile time no longer grows with the number of keys: jnp.unique 15.5 s → 0.28 s; lexsort on 100 keys 162 s → 0.22 s
statsmodels Closed-form leave-one-out influence measures (dfbetas, dffits, cov_ratio, studentized residuals); closes maintainer issue #9009 35 s → 2.7 ms at n = 10,000; matches R's influence.measures to 12 decimals
xarray interp skips sortby on already-sorted coordinates Vectorized interp 164 ms → 2.9 ms
Hugging Face candle Row tiling in the CPU quantized matmul for prefill About 1.45x faster prefill for Q4K / Q8_0; outputs bit-identical
Rust cc crate (rust-lang/cc-rs) Stop forwarding -Cprofile-generate/-Cprofile-use to the C compiler; fixes #1986 PGO builds no longer segfault when the C compiler's LLVM differs from rustc's (the cause behind rust-lang/rust#163640); shipped in cc 1.8.0 the same day
Bokeh Row/Column layout reserves room for aligned borders (BokehJS) Fixes cropped axes and legends; milestone 4.0, backported
Apple MLX (mlx-lm) Left-padding mask in batched generation Fixes wrong logits for left-padded batches in two model families
Google JAX zeta JVP rule, pareto support boundary Correct values and gradients outside the domain and at the support edge
ONNX (Linux Foundation AI) Define DynamicQuantizeLinear scale for all-zero inputs Spec and reference fix: all-zero inputs no longer give a zero scale (NaN downstream); now matches ONNX Runtime
Apache ShenYu (Apache Software Foundation) Render non-JSON API debug responses as plain text; fixes security issue #614 The admin console no longer renders upstream response bodies as HTML; merged by a ShenYu PMC member
pylint Fix pyreverse hang/RecursionError with --all-associated; closes #3602 Class diagrams of code that rebuilds classes on each inference no longer hang or crash; merged by the pylint maintainer and backported to 4.1.x
CISA CSET (US DHS) Raise the PBKDF2 work factor to OWASP guidance Password-hash hardening in CISA's Cyber Security Evaluation Tool
USGS dataretrieval (US DOI) Open-ended (..) date ranges in the OGC client Fixes silently unfiltered results and HTTP 400s in the official USGS water-data client
Sandia National Laboratories pyGSTi Default POVM for circuits on a subset of a model's qubits; fixes #721, a 0.11 release blocker Circuits on part of a multi-qubit model no longer fail with "Missing POVM"; merged by a Sandia maintainer
Microsoft Olive Declare requests as an install dependency Fixes import olive failing after a fresh install; also hit by Microsoft's olive-recipes
LangSmith SDK Keep the HTTP response on raise_for_status_with_text errors Shipped in v0.14.2
ogx Dependency floor for the inline provider Fixes a user-reported install failure
cartography (CNCF) Handle empty Google Workspace groups Fixes a sync crash
In review right now (30+ open pull requests)

Features and fixes under maintainer review as of October 2026, among them:


Research

  • Valid Per-Field Selective Risk Control for Document Extraction: Three Failure Modes, a Validity Ladder, and When Conditioning Pays. B. Gurram. arXiv:2608.14639, 2026. Code: verifydoc.
  • Auditing Automated Evaluation, Error Propagation, and Runtime Mitigation in Tool-Using Language Agents. B. Gurram. arXiv:2604.16706, 2026. Code: agenthallu-bench.
  • Agentic systematic literature review: a multi-agent LLM pipeline evaluated on 62 randomized controlled trials across five medical specialties. Submitted to Expert Systems with Applications, 2026. Code: agentic-slr.
  • M.S. thesis (2024): EEG-fMRI fusion with temporal convolutional networks for decoding visual stimuli. Accuracy is 84.8% within subject and 81.1% leave-one-subject-out, compared with 65.5% for EEG only and 74.6% for fMRI only. Advisor: Prof. Vikram Ravindra.

Projects

verifydoc unwind provio HARNESS-DB

  • verifydoc: calibrated per-field confidence and source grounding for document-to-JSON extraction, with accept/review abstention.
  • unwind: a reversibility layer for agent tool calls. It is an MCP proxy with a cross-server undo log.
  • provio: authorization and provenance for AI agent tool calls.
  • HARNESS-DB: a coded dataset of 1,256 agent harnesses.

Toolbox

Python, Rust, Go, TypeScript, JavaScript, PyTorch, Docker, AWS, GCP, Postgres, Linux, Git, Bash

Numerics and ML: JAX, NumPy/SciPy, PyTorch, statsmodels, xarray, quantized inference (candle, MLX, GPTQ). Systems: Rust, Go, Python packaging, CI. Agents: MCP, retrieval, evaluation harnesses.


Experience

  • AI Engineer, Zasti Inc. (2024–present): agentic and retrieval systems for clinical research. Retrieval over 50M+ document embeddings, and 4-bit GPTQ deployment that cut model size by 75%.
  • Graduate Teaching Assistant, University of Cincinnati (2022–2024): Python, cloud and ML labs for 500+ students.
  • Deep Learning Developer, Technocolabs Softwares (2021–2022): led a four-person team building medical pattern-recognition models.

Education

  • M.S. Computer Science, University of Cincinnati, 2024. GPA 3.95/4.0. Graduate Incentive Award.
  • B.Tech. Computer Science, SRM Institute of Science and Technology, 2022. GPA 3.98/4.0.
  • MicroMasters in Data Science, UC San Diego, 2022.

@bhaskargurram-ai's activity is private