cv

Find my brief CV below. For a complete version, click on the PDF button to the right.

Basics

Name Karan Kumar Gangadhar
Phone +1 929-691-9190
Email kk5409@nyu.edu
Linkedin https://www.linkedin.com/in/karan-kumarg
Github https://github.com/Spielerr

Education

  • 2023.09 - 2025.05

    New York, NY

    Masters of Science in Computer Science
    New York University (Courant Institute of Mathematical Sciences)
    4.00/4.00
    • Honors Analysis of Algorithms
    • Programming Languages
    • GPUs-Architecture and Programming
    • Operating Systems
    • Deep Learning
    • Research study on Programmable Network Switches with Prof. Anirudh Sivaraman
    • Advanced Database Systems
    • Big Data Application Development
  • 2018.08 - 2022.05

    Bengaluru, India

    Bachelor of Technology in Computer Science and Engineering
    PES University
    3.98/4.00
    • Computing Using Python
    • Engineering Mathematics
    • Problem Solving with C
    • Digital Design & Computer Organization
    • Data Structures
    • Introduction to Data Science
    • Web Technologies
    • Discrete Mathematics & Logic
    • Operation Linux
    • Design and Analysis of Algorithms
    • Database Management Systems
    • Microprocessor & Computer Architecture
    • Theory of Computation
    • Linear Algebra
    • Computer Networks
    • Operating Systems
    • Machine Intelligence
    • Advanced Algorithms
    • Big Data
    • Generic Programming
    • Design Patterns
    • Compiler Design
    • Cloud Computing
    • Performance Engineering
    • Computer Forensics
    • Advanced Java

Skills

Programming Languages
C
C++
Java
Python
Scala
P4
Databases
MySQL
MongoDB
ElasticSearch
Redis
Tools and Platforms
Git/GitHub
Linux
Docker
Kubernetes
Jenkins
GCP
AWS
Prometheus
Grafana
ELK Stack
Frameworks and Libraries
GDB
Valgrind
Bash Scripting
SpringBoot
Django
Flask
Node.js
PyTorch
Scikit-Learn
Other Technical Skills
Parallel Programming using OpenMP, CUDA and C++ threads
Compiler Optimisation using LLVM and MultiIR
Deep Learning Architecture and Programming using PyTorch
Network Switch Architecture and Programming using P4
CI/CD Pipelines
DevOps Practices
Microservices Architecture
RESTful API Development
Agile and Scrum Methodologies
Certifications
Architecting with Google Compute Engine Specialization

Work

  • 2022.07 - 2023.07

    Bengaluru, India

    Analyst - Software Engineer
    Goldman Sachs
    • Developed a Java Springboot based backend microservice with REST APIs fetching data from MySQL and MongoDB databases for the Asset Management Dashboard, eliminating spreadsheets and reducing human effort from 1 week to 1 day per client transaction
    • Introduced a Reliability Monitoring Service (using Prometheus and Grafana), hosted on Kubernetes, to track availability and latency for all hosted services, thereby eliminating human effort to manually track failures and improve application performances by over 75% by identifying latency spikes, all using Agile methodologies
    • Implemented CI/CD pipelines using Jenkins, integrated with Docker and Kubernetes for seamless deployment and monitoring
  • 2022.02 - 2022.07

    Bengaluru, India

    Technical Undergraduate Intern
    Cisco
    • Introduced C Unit Testing Automation using the Cmocka framework which enabled easier and faster addition of new unit tests across multiple components in the Cisco IOS-XR Network OS, reducing human effort by over 80%
    • Integrated the local Unit testing with CI/CD pipeline to automate pre-commit and nightly checks which helped in improving the code test coverage to over 95% for selected modules
    • Recognized with the 'Best Intern Project' award for outstanding contributions to unit testing automation
  • 2021.06 - 2021.07

    Bengaluru, India

    Summer Technical Intern
    Goldman Sachs (Remote)
    • Improved text based search performance of a web application by database caching using Elasticsearch, thereby making searches faster by 150% resulting in better user experience and efficiency
    • Required redesigning of the backend service to support the new functionalities, thereby improving code quality and introducing common design patterns for better code reusability and understandability
    • Received the 'Excellence in Engineering' award for enhancing search performance

Publications

Languages

Kannada
Native speaker
English
Fluent

Projects

  • Cross-Platform Transpilation of Packet-Processing Programs using Program Synthesis
    • Developing a transpiler to automatically convert packet processing programs between multiple switch hardware architectures and supported programming languages such as P4, NPL, etc., using the technique of Program Synthesis
    • Employing use of Multi-Intermediate Representation to use a common interface for transpiling between numerous source and target platform combination programs
    • Optimisations to fit the programs into available parser hardware to successfully compile the programs and prevent failure
    • Integrating the optimisations, program synthesis engine into LLVM architecture to provide a seamless interface for network device programmers
  • Automated Parallelization of Source Code using Program Comprehension
    • Explored techniques to optimize sequential source code by converting to its parallel equivalent capable of utilizing the underlying hardware more efficiently, achieving a speed up of upto 500 times in execution times for larger inputs
    • Broadened existing loop-based parallelization techniques by adopting both inter and intra functional parallelization
    • Achieved inter functional parallelization by calculating dependencies, designing a scheduling algorithm and using C++ threads
    • Implemented intra-functional parallelization using techniques of program comprehension to identify and replace sequential algorithms with its suitable parallel equivalent
  • Analytical Model for GPU Kernel Performance Prediction
    • Developed an innovative analytical model aimed at predicting kernel performance on GPUs. Despite the simplicity of the model, it accurately predicts execution times for multiple GPU programs.
    • Implemented several kernel functions, including matrix-vector multiplication, dot product, vector and matrix addition. Both linear and non-linear execution time functions are supported, demonstrating the model’s versatility and robustness.
    • The model’s predictions were highly accurate, with the percentage deviation of predicted execution times from actual execution times falling within 6.9%. This high level of precision underscores the model’s effectiveness in real-world applications.
    • Utilized CUDA for GPU programming, time profiling for performance measurement, and CUDA optimization analysis to enhance model accuracy. Key influencing parameters were analyzed, demonstrating expertise in GPU architecture and programming.
  • Future Video Frame Prediction
    • Utilized the Masked Conditional Video Diffusion (MCVD) model to predict future video frames with a Jaccard index score improvement from 0.12 to 0.36 with increased sampling, demonstrating enhanced prediction accuracy.
    • Employed the U-Net architecture for precise semantic segmentation of predicted video frames, achieving over 96% accuracy on the validation set.
    • Combined MCVD for video frame prediction and U-Net for segmentation to generate and analyze high-quality video frames, showcasing significant strides in predictive capabilities and detailed scene analysis.
    • Identified and worked on model limitations, such as image blurring and inference time, highlighting areas for future improvement to enhance the robustness and efficiency of video frame prediction models.
  • Generic Programming in C
    • A C project which implements the following Generic Programming Features in C using Pre-Processor Directives
    • Generic Containers - list, stack, queue, vector and hashmap that can be initialised with any type
    • Iterators to decouple the containers and algorithms and generic algorithms like find, count, min, max, accumulate etc, that make use of these iterators
  • Implementation of Treaps
    • A C++ project which implements treaps as a data structure and added functionalities to support various operations on treaps
    • The treap is implemented with nodes built using canonical classes, with multiple operations supported such as insert, delete, split treap, merge two treaps, union, intersection, difference and traversal of treaps
    • A bidirectional iterator along with member algorithms such as find and replace are also implemented
  • YACS - Yet Another Centralized Scheduler
    • A centralised scheduling framework maintaining a master node and multiple worker nodes, all simulated as different processes on a single machine using Python programming
    • 3 different scheduling algorithms implemented - Least loaded, Round robin and Randomised