Internship Experience

A brief about some of overall my work


Mentored by Dr David Lange and Dr Vassil Vassilev. (Sub organization: University of Princeton)

About project

Current Project

The Clang compiler is part of the LLVM compiler infrastructure and supports various languages such as C, C++, ObjC and ObjC++. Advancements in JIT infstructure and usability of Clang libriries in LLVM has enabled research into processing C++. It has been challenging to include incremental compilation and fitting compile time optimizations into a more dynamic environment. Incremental compilation pipelines process code chunk-by-chunk by building an ever-growing translation unit. Code is then lowered into the LLVM IR and subsequently run by the LLVM JIT. The incremental compilation mode is used by the interactive C++ interpreter, Cling, initially developed to enable interactive high-energy physics analysis in a C++ environment. Clang-repl is a new-tool incroporated in LLVM ecosystem by residesigning parts of CLing in Clang mainline. The project aims at enhancing the error recovery when users type C++ at the prompt of clang-repl.

Co-authored the LLVM Lightening talk at LLVM Developers meeting 2022 - Recovering from Errors in Clang-Repl and Code Undo

Past Project

This project had the objective to reduce CMSSW technical debt by finding and replacing boost dependencies that have an equivalent solution in standard C++. Reducing boost dependencies helps us create more lightweight boost clang modules for upcoming c++20. This also reduces the amount of headers that we need to work on to be able to use c++20 clang modules.

Google Summer of Code 21 and 22

Mentor: Sergei Gleyzer
Organization: Machine Learning for Science (ML4Sci).
Project: End-to-End Deep Learning Reconstruction for CMS Experiment

About project

The End to End framework provides functionality to run the CMSSW inference on various deep learning models for various taggers like Electron-Photon, Quark-Gluon, Top particles and perform the task of classification (regression to come soon). The user can add .pb file of the deep learning model to the framework and run the inference to benchmark the performance

GSoC 2022

As a part of GSoC 2022, I added regression support and Onnx inference to the E2E framework and thus enabled GPU support for it. We were able to benchmark the performance of inference on Perlmutter cluster during NSERC Nvidia GPU Hackathon and anaylsed the inference on nsys profiler

GSoC 2021

I had a pleasure to be working on my project End-to-End Deep Learning Reconstruction for CMS Experiment as a part of Google Summer of Code 2021. I extended the integration framework to tau tagger, included few secondary channels like BPIX 4 and SiStrip layers — TOB, TIB, TEC, TID and benchmarked their performance. Read more about my project in the blog here

Research Thesis at INCF

I did my Bachelor Thesis at IMEC (project affiliated to International Neuroinformatics Coordinating Facility). I worked on the project Deep Learning For Using Geometric Features under supervisors Dr Dimiter Prodanov and Sumit Vohra.

About project

ImageJ is an OpenSource image processing tool written in Java which has been extremely helpful in the analysis of scientific images especially medical and microscopic. Active Segmentation is a plugin that aims to provide a general purpose workbench that would allow biologists to access state-of-the-art techniques in machine learning and image processing to improve their image segmentation results. It provides researchers an extensible toolbox enabling them to select custom filters and machine learning algorithms for their research. Post processing algorithms help to overcome the spatial inconsistencies which pave a way for robust pipelines. The algorithms used for post processing steps are either pixel-based, region-based or edge based. One such region-based algorithm called the connected components has been implemented as a part of the thesis on the Active Segmentation ImageJ Plugin. Connected components labeling is a technique used in computer vision to detect connected regions in binary images. The algorithm has been added as a post processing step to the deep learning panel of Active Segmentation plugin. We have used the ISBI challenge dataset to benchmark the performance of deep learning architectures with connected components.