Tanmay Tirpankar
Research Assistant at University of Utah- Claim this Profile
Click to upgrade to our gold package
for the full feature experience.
-
English Professional working proficiency
-
Hindi Limited working proficiency
-
Marathi Native or bilingual proficiency
-
Japanese Elementary proficiency
Topline Score
Bio
Credentials
-
React Nanodegree
UdacityOct, 2020- Oct, 2024 -
Full Stack Nanodegree
UdacityJul, 2018- Oct, 2024 -
AWS Certified Solutions Architect – Associate
Amazon Web Services (AWS)Jun, 2020- Oct, 2024 -
Summer School in Formal Techniques
SRI International
Experience
-
University of Utah
-
United States
-
Higher Education
-
700 & Above Employee
-
Research Assistant
-
Aug 2020 - Present
-
-
-
Apple
-
United States
-
Computers and Electronics Manufacturing
-
700 & Above Employee
-
Compiler Engineering Intern
-
May 2023 - Aug 2023
Formally verifying compiler transformation verification for functional correctness is a challenge due to the size of the compiler codebases. Instead, a weaker formal technique called translation validation can be used to certify that individual executions of the compiler respected its specification. Alive is such a tool that works specifically on the LLVM compiler's intermediate representation ensuring its specifications are met. At Apple, we were interested in verifying an intermediate representation called Machine IR for their GPU compiler backend which is at a level lower than LLVM IR. I implemented an intermediate representation translator to lift Machine IR to LLVM IR as an LLVM compiler pass. I then integrated the open-source tool Alive in Apple’s GPU compiler backend litmus tester to verify Machine IR transformations. This tooling was used to test the correctness of Apple’s GPU compiler backend test suite focusing on floating-point and arithmetic instructions. I was able to successfully reproduce and detect former bugs that have been fixed using this integration to validate the approach. Show less
-
-
-
Lawrence Livermore National Laboratory
-
United States
-
Research Services
-
700 & Above Employee
-
Software Engineering Intern
-
May 2022 - Aug 2022
Floating-point errors occur due to the inherent rounding that takes place due to the limited precision offered by the floating-point format. State-of-art tools detecting errors are divided into two classes; those that depend on a high-precision oracle and those that do not. These tools can then be used to find high-error triggering inputs through optimization techniques. However, relative errors are often a more relevant metric as they directly relate to the precision loss. This metric is especially useful in detecting cancellations and tracking down high error-causing operations and inputs. In this 2022 summer internship, I developed an LLVM-based instrumentation framework to detect high relative errors using condition numbers of atomic operations called atomic conditions. Atomic conditions help capture how relative errors build up along computational chains. We accomplished the following • The design of a comprehensive toolchain based on the popular LLVM intermediate form for rigorously estimating the atomic condition. • This work can determine the amount by which the error by some operation is amplified. • Estimating relative errors without relying on a high-precision oracle • Dynamic generation of the computation graph. Show less
-
-
-
Galileo Financial Technologies
-
United States
-
Financial Services
-
400 - 500 Employee
-
Software Engineer Intern
-
May 2020 - Aug 2020
-
-
-
University of Utah, Department of Biomedical Informatics
-
United States
-
Higher Education
-
1 - 100 Employee
-
Research Assistant
-
Jan 2020 - May 2020
-
-
-
University of Utah
-
United States
-
Higher Education
-
700 & Above Employee
-
Research Assistant
-
Aug 2019 - Dec 2019
Implemented a novel framework for reducing the number of terms in Computational Chemistry Expressions. Our approach of operation minimization for tensor contraction resulted in a performance improvement of 10 times over existing state of the art. Used Google’s MLIR framework in C++ to implement the feature for the NWChem High Performance Computational Chemistry library. Implemented a novel framework for reducing the number of terms in Computational Chemistry Expressions. Our approach of operation minimization for tensor contraction resulted in a performance improvement of 10 times over existing state of the art. Used Google’s MLIR framework in C++ to implement the feature for the NWChem High Performance Computational Chemistry library.
-
-
-
University of Utah
-
United States
-
Higher Education
-
700 & Above Employee
-
Research Intern
-
Jun 2018 - Jun 2018
Improved upon the shared memory parallel Radix sort to speed up the triangle counting utility by over 3 times. Triangle counting in large graphs is useful in applications such as social engineering for finding influences. Used the C++ implementation of OpenMP for this project. Improved upon the shared memory parallel Radix sort to speed up the triangle counting utility by over 3 times. Triangle counting in large graphs is useful in applications such as social engineering for finding influences. Used the C++ implementation of OpenMP for this project.
-
-
-
H.E.F., Khadkee
-
India
-
Software Engineer Intern
-
Jun 2017 - Jun 2017
Created webpages to display information about the products offered. Also created webpages to display information about company and its department and facilities. Used HTML, CSS, JavaScript for the frontend. IBM Informix was used as the database as well as the filestore. Created webpages to display information about the products offered. Also created webpages to display information about company and its department and facilities. Used HTML, CSS, JavaScript for the frontend. IBM Informix was used as the database as well as the filestore.
-
-
Education
-
University of Utah
Doctor of Philosophy - PhD, Computer Science -
University of Utah
Master's degree, Computer Science -
Maharashtra Institute of Technology
BE - Bachelor of Engineering, Computer Engineering -
Udacity
FullStack Web Development Nanodegree, Web Development