About GSoC Contributions Blog Skills Contact
Google Summer of Code 2026 · Selected

Harsh Singh

Pre-final year IT undergraduate focused on scientific computing, numerical methods, and high-performance Julia. Contributor to OrdinaryDiffEq.jl, SciMLBenchmarks.jl, and ODEInterfaceDiffEq.jl.

Building infrastructure for scientific computing

I'm an IT undergraduate at Sarvajanik College of Engineering and Technology (expected 2027), focused on numerical methods, solver infrastructure, and performance engineering.

As a Codeforces Specialist and competitive programmer, I bring algorithmic rigour to every problem. My open-source work centres on the Julia ecosystem — specifically the SciML organization — where I contribute high-performance solver code used by researchers and engineers worldwide.

My interests span scientific computing, differential equations, high-performance computing, and building robust, zero-allocation numerical infrastructure at scale.

Education

B.Tech IT — SCET, Gujarat (2023–2027)

Competitive Programming

Codeforces Specialist — algorithmic problem solving

Research Interests

Numerical methods, solver design, performance

Open Source

Active contributor across the SciML / Julia ecosystem

Recent posts

View all posts

Native Julia ODE, SDE, DAE, DDE & PDE solvers

Refactoring the core of OrdinaryDiffEq.jl with generic tableau-driven solver infrastructure.

OrganizationSciML (NumFOCUS)
Year2026
StatusActive

The project refactors OrdinaryDiffEq.jl by introducing generic tableau-driven solver infrastructure to replace duplicated perform_step! implementations across Runge–Kutta and IMEX solver families. Targeting ~3,300 lines of duplicated stepping code for removal while maintaining performance parity with handwritten kernels.

Key Goals

  • Introduce generic IMEXTableau abstraction
  • Replace duplicated perform_step! implementations
  • Refactor RK-based solver families
  • Add multirate methods (MREIL, MIS, MRGARK)
  • Ensure zero-allocation implementations
  • Maintain performance parity with handwritten kernels
Generic Tableau Dispatch IMEX Runge–Kutta Multirate Integration Zero-Allocation Kernels Performance-Critical Julia Scientific Computing
Mentors Chris Rackauckas Kanav Gupta Utkarsh Oscar Smith

Project Timeline

May 2026

Community Bonding

Deep-dive into OrdinaryDiffEq.jl internals, align with mentors on design, benchmark existing solvers.

June 2026

IMEXTableau Stabilization

Finalize the generic IMEXTableau type, implement core dispatch infrastructure, first solver migrations.

July 2026

RK Family Migration

Migrate explicit, implicit, and IMEX Runge–Kutta solvers to the generic tableau framework.

August 2026

Multirate Implementations

Implement MREIL, MIS, and MRGARK multirate time integration methods.

September 2026

Benchmarks & Documentation

Comprehensive performance benchmarks, documentation, and final polish.

Open-source impact

Pull requests merged across the SciML ecosystem.

#3916Merged

Fix jacobian2W! DimensionMismatch for ScalarOperator mass matrix

#3975Merged

Fix ExplicitTaylor fsallast aliasing to state buffer

#3959Merged

Fix NonlinearSolveAlg with polyalgorithm inner solvers

#3944Merged

Unwrap operator mass matrices before findall in Differentiation

#3923Merged

get_differential_vars: check Diagonal.diag, not the full matrix

#3763Merged

Make rand_prototype dense for a sparse noise_rate_prototype

#3683Merged

Fold RK46NL into the generic LowStorageRK2N dispatch

#3468Merged

Fix SROCK2 NoiseWrapper and non-square noise

#3893Merged

NSA: gate iter-1 convergence on inner solver retcode

#3886Merged

Multirate: implicit MRI-GARK-ESDIRK46a (order 4)

#3945Merged

Extrapolation: drop stale BaseThreads/Sequential imports

#3837Merged

get_differential_vars: accept IdentityOperator/ScalarOperator mass matrices

#3828Merged

Bump SciMLBase compat floor 3.10 → 3.30 across sublibraries

#3827Merged

SDIRK: ESDIRK3(2)5L[2]SA (Kennedy-Carpenter 2019)

#3824Merged

OOP build_J_W: route MatrixOperator mass matrix through WOperator

#3812Merged

Multirate: implicit MRI-GARK-ESDIRK34a (order 3)

#3811Merged

Multirate: implicit MRI-GARK-IRK21a (order 2)

#3799Merged

NonlinearSolveCache: define resize!, guard firstcall write

#3796Merged

NLNewton OOP: handle AbstractSciMLOperator W

#3795Merged

NonlinearSolveAlg: pipe wrapprecs, update weight per step

#3756Merged

Fix extrapolation error-estimate denominator

#3755Merged

Add MSRK10 (Stepanov order-10 RK) tableau

#3753Merged

NonlinearSolveAlg: extend W-reuse to WOperator

#3747Merged

Multirate: MRI-GARK-ERK33a/ERK45a, unify formulation

#3741Merged

Multirate: fuse MRI-GARK slow-forcing accumulation

#3724Merged

Multirate: MRI-GARK-ERK22a/22b (Sandu 2019)

#3717Merged

Multirate: MIS2 (Wensch–Knoth–Galant 2009)

#3707Merged

Multirate: MRAB (Adams–Bashforth k-step)

#3706Merged

SDIRK: BHR(5,5,3) IMEX-RK (Boscarino–Russo)

#3705Merged

SDIRK: IMEX-SSP family + non-ESDIRK tableau support

#3704Merged

SDIRK: ARS222/232/443 IMEX-RK schemes

#3703Merged

NonlinearSolveAlg: modified-Newton for nlstep/DAE/OOP

#3693Merged

NonlinearSolveAlg: reuse ODE W matrix as Jacobian

#3668Merged

Generic stage-predictor menu for ESDIRK methods

#3662Merged

Fix ESDIRK659L2SA embedded coefficients

#3656Merged

Migrate ABDF2 to ESDIRKIMEXCache

#3651Merged

Migrate CFNLIRK3 into ESDIRKIMEX tableau

#3650Merged

Unify error estimation under calculate_error_estimate!

#3641Merged

Fix behavioral regressions in generic SDIRK/IMEX perform_step

#3624Merged

Fix ARS343 BoundsError

#3621Merged

Unify SFSDIRK4-8 and Hairer4/42 into generic PureSDIRK

#3597Merged

Tighten Kvaerno3+NLFunctional convergence test

#3591Merged

Specialize Verner tableau/extras/interp constructors

#3590Merged

Refactor LowStorageRK, unify alg_cache

#3473Merged

SymplecticRK generic drift-kick migration

#3273Merged

Rosenbrock23/32 RodasTableau refactor

#3246Merged

pRRK22/33/54 methods

#3241Merged

16 ES-DG 3S* LSRK methods

#3215Merged

Ralston4 solver pipeline

#3196Merged

IMEXTableau framework

#3139Merged

MREEF multirate implementation

Contribution Activity Less More

Notes from the field

Deep dives into numerical computing, Julia performance, and GSoC progress.

Technical toolkit

Languages

Julia C++ Python Go Scala JavaScript

Domains

Scientific Computing Numerical Methods Differential Equations High Performance Computing Open Source Development Performance Optimization Solver Design Data Structures & Algorithms

Milestones

Google Summer of Code 2026

Selected contributor under SciML (NumFOCUS)

Codeforces Specialist

Competitive programming — algorithmic excellence

Top 100 All-India (Physics)

CUET — national-level ranking

JEE Main Qualified

National engineering entrance examination

80+ Merged PRs in SciML

Active contributor across the ecosystem

Let's connect

Open to collaboration, research discussions, and opportunities.