Curriculum Vitae

Curriculum Vitae #

Research Interests #

I am interested in designing distributed, efficient, cache-friendly, and scalable data structures and algorithms that optimize the runtime performance of mathematical, scientific, and machine-learning applications. This includes mapping algorithms to parallel, new emergent, and state-of-the-art architectures for these domains. I am also interested in building compilers and developing compiler optimizations for all layers of the compiler stack to enhance performance further and reduce energy consumption.

My interest also lies in the application and development of machine learning techniques and algorithms for algorithmic and structured data problems such as network graphs, sequences, images, and time-series data. Of particular interest are applications of these ideas to solving problems in high-performance computing, bioinformatics/computational biology, data science, and computer vision.

Research Experience #

University of Illinois Urbana Champaign (UIUC) #

Research Software Engineer

  • Led Quantitative Light Imaging Laboratory’s (QLI) efforts in software development for data acquisition and analysis, including software-hardware interfacing for microscopy systems and development and deployment of AI tools for solving biomedical problems under the supervision of the late Dr. Gabriel Popescu.

  • Work closely with doctoral students from interdisciplinary research groups to develop new ML models for biomedical research with Spatial Light Interference Microscopy (SLIM) imaging modality.

  • Ensured accurate and reliable data acquisition for extended imaging sessions of live and suspension cell cultures by leading the development efforts to solve the focus drift and tracking problem by developing and integrating new ML models into the C++ acquisition system using ONNX to provide a common format for ML model computation graphs, TensorRT for GPU kernel auto-tuning and computation graph optimization, CUDA, NVIDIA NPP for image processing in the inference pipeline, and cuDNN.

  • Accelerated the application of AI to biomedical problems by designing an AutoML system as part of an internal tooling initiative to streamline the process of network architecture search, hyper-parameter tuning, and inference time optimization to be run on the NCSA (National Center for Supercomputing Application) compute clusters.

  • Reduced time and energy expended on manual data curation efforts by field experts by building an AI driven decision-making systems for intelligent image triggered acquisition by having the system eliminate frames with redundant or little to no information during the acquisition of live samples in bioreactor environments.

Colorado State University (CSU) #

Performance Software Engineer

  • Worked as a research assistant and performance software engineer under Dr. Anton Betten on optimizing the performance of Orbiter Computer Algebra system for classification of combinatorial objects.

  • Wrote object-oriented machine learning and BLAS templated library using CUDA C++. Standard BLAS packages could not be used as operations on group elements is not the same as operations on real numbers.

  • Used Deep Reinforcement Learning (DRL) with Graph Embeddings to optimize the Poset Classification algorithm by generating shallow Schreier trees.

  • Developed object-oriented CUDA C++ code for accelerating rainbow clique backtrack searches on large graphs of more than 50,000 vertices

  • Quadrupled the speed of polynomial long division used in Cyclic Redundancy Check by developing an equivalent parallel algorithm in CUDA C++.

  • Implemented multithreaded CPU and CUDA versions of group theory algorithms to be run on Summit HPC Clusters

  • Optimized graph theory algorithm implementation by an order of magnitude by making the underlying data structure more cache friendly.

Open-Source Software Contributions #

Orbiter Computer Algebra System #

  • Designed a custom context-free grammar system and expression parser with flex and bison for performing symbolic algebraic operations with Finite Field objects through successive graph rewrites based on rewrite rules.

  • Solved two of the fundamental limitations of the visitor design pattern with 20% improvement in performance used in evaluation of expression trees over Finite Fields by using C++ template programming and automatic return type deduction.

  • Built a parallel graph execution engine to automatically divide and schedule a Finite Field computation graph on parallel processors

Publications #

Autonomous Software-Driven Microscopy Focusing System #

Authors: Sajeeb Roy Chowdhury, Masayoshi Sakakura, Neha Goswami, Young Jae Lee, Gabriel Popescu (Deceased)

Invited talk at Stanford University (2022)

Presented my work on building an accurate and reliable data acquisition system for extended imaging sessions of live and suspension cell cultures by developing an interpretable AI-driven solution to addressed the focus drift and tracking problem in bioreactor environments.

Intelligent Image Triggered Acquisition #

Authors: Sajeeb Roy Chowdhury, Gabriel Popescu (Deceased)

Society of Photo-Optical Instrumentation Engineers, SPIE 2022

Presented my work on building AI driven decision-making systems for intelligent image acquisition by having the AI system eliminate frames with redundant or little to no information during the acquisition of live samples under bioreactor environments; increasing reliability and reducing manual data curation efforts by field experts.

Machine Learning for Better Combinatorial Algorithms #

Authors: Sajeeb Roy Chowdhury, Anton Betten

50th Southeastern International Conference on Combinatorics, Graph Theory & Computing (2019)

Presented my research on using Deep Reinforcement Learning (DRL) with Graph Embedding for combinatorial algorithm optimization by finding better algorithm heuristics for generating shallow schreier trees.

A Rainbow Clique Search Algorithm for BLT-Sets #

Authors: Abdullah Al-Azemi, Anton Betten, Sajeeb Roy Chowdhury

International Conference on Mathematical Software (2018)

Presented my research on using dynamic-parallelism on GPU for performing backtrack searches using the rainbow clique search algorithm, including discussing our strategy to handle thread divergence following a brief overview of the SIMT architecture. [Paper]