Ramakrishna Upadrasta (U.Ramakrishna)
Assistant Professor
Dept. of Computer Science & Engineering
Indian Institute of Technology Hyderabad
Kandi-502285
Sangareddy
Telangana, India
ramakrishna AT cse DOT iith DOT ac DOT in
ramakrishna AT iith DOT ac DOT in
Brief Bio
I graduated with a PhD from
University of Paris-Sud, France, and INRIA, Paris,
where I worked under Prof. Albert Cohen.
My 2013 thesis was
titled "Sub-Polyhedral Compilation using (Unit-)Two-Variables-Per-Inequality Polyhedra", in which I addressed the problem of improvement of scalability of algorithms that are used in
loop-parallelization.
My thesis used techniques from polyhedral compilation, abstract interpretation, combinatorial optimization and graph theory.
I have a M.S from Colorado State University, USA, an M.Tech in Computer Science from
Indian Institute of Science (IISc), Bangalore and a B.E in
Electrical and Electronics Engineering from Andhra University, Visakhapatnam.
I have been at IITH since March-2014.
Earlier, I was a visiting scientist at IISc, a research engineer at INRIA, Paris, a
research scholar at Lawrence Livermore National Laboratories, USA and
a compiler engineer in Hewlett Packard.
Research Interests
My broad research is in Programming Languages and Compilers. More specifically, these are the following research areas I am currently working on.
- Domain Specific Programming Languages for Parallelization: Building Domain Specific Languages (DSLs) and compilation strategies for
applications from various domains. An example is Big-Data applications and High-Performance Computing. We have funding for this.
- LLVM Optimizations: Various aspects of the open-source LLVM compiler.
We are working in collaboration with various industries on this.
I also run the IITH-LLVM group. Join the Group (only with IITH email-IDs)
- Coarse/Fine-Grain Compiler Optimization and Parallelization techniques for modern architectures for multi-core/GPUs:
Proposal of new parallelization algorithms and improvement of the range of programs that are amenable to parallelization schemes in existing polyhedral compilation tools.
As an example, I am interested in the range of programs that could be accepted by the well known polyhedral compilation tools
like Pluto and Polly.
- Improvement of Scalability of Tools in Polyhedral Compilation The above mentioned polyhedral compilation tools use expensive tools that limit their scalability.
I am interested in improving their scalability using advanced approximations like (U)TVPI sub-polyhedra, similar and more powerful to our POPL-2013 paper.
- Abstract Interpretation and sub-polyhedral approximations: Abstract interpretation is a formal framework to perform static analysis of programs. It
was formalized by the classic work of Cousot-Cousot in the 1970s.
Since then, there have been advances, with the Astrée
static analyzer being one of its largest successes.
It uses a variety of sub-polyhedral approximations; for example Antoine Miné's Octagon
domain.
I am interested in various aspects of scalability vs. precision issues of these approximations, with a particular focus in loop-programs (Affine Control
Programs/SCoPs).
- Any aspects of program analysis.
- ...
Selected Publications
Current (TBD)
Earlier
- Ramakrishna Upadrasta and Albert Cohen. Sub-polyhedral scheduling using
(unit-)two-variable-per-inequality polyhedra. In Proceedings of the 40th annual ACM
SIGPLAN-SIGACT symposium on Principles of programming languages (POPL '13). ACM, New York, NY, USA, 483-496. ACM-DL.
Recipient of a European Network of Excellence on High Performance and Embedded Architecture and Compilation (HiPEAC) paper award.
- Ramakrishna Upadrasta and Albert Cohen. Potential and Challenges of Two-Variable-Per-Inequality Sub-Polyhedral Compilation. In 1st International Workshop on Polyhedral
Compilation Techniques (IMPACT-2011), in conjunction with CGO'11, Chamonix, France, April 2011. IMPACT-11 from INRIA
- Dibyendu Das, U. Ramakrishna: A practical and fast iterative algorithm for phi-function computation using DJ graphs. ACM Trans. Program. Lang. Syst. 27(3): 426-440
(2005) ACM-DL
- Maya Madhavan, Priti Shankar, Siddhartha Rai, U. Ramakrishna: Extending Graham-Glanville techniques for optimal code generation. ACM Trans. Program. Lang. Syst. 22(6):
973-1001 (2000) ACM-DL
DBLP
Google Scholar
Compilers Group Website
https://compilers.cse.iith.ac.in/ (NEW!!)
IKS Website
https://iks.iith.ac.in/ (NEW!!)
Teaching
January 2023: CS6383: Introduction to Compiler Engineering
August 2022: CS6300: Topics in Compiler Optimizations
January 2022 (Mar-May 2022) : CS3320: Compilers-I (1 credit: includes lab)
January 2022 (Jan-May 2022) CS5863: IPACO: Introductioon to Program Analysis and Compiler Optimization
(Coordinator) January 2022 (Mar-May 2022) CA1048: Samskritam Sambhashana Praveshah (Course offered by Samskrita Bharati)
(Coordinator) January 2022 (Mar-May 2022) CA1070: Samskritam Bhaashaa Praveshah (Course offered by Samskrita Bharati)
(Coordinator) January 2022 (Mar-May 2022) CA1080: Samskritam Bhaashaa Parichayah (Course offered by Samskrita Bharati)
November 2021 (Nov-Mar 2022) CS1063: Introduction to Programming
August 2021: CS3423: Compilers-II (3 Credits: includes lab)
(Coordinator) August 2021: CS5820: Graphical Processing Unit: Hardware and Software (Course offered by Intel)
(Coordinator) August 2021 (Aug-Nov 2021) CA1048: Samskritam Sambhashana Praveshah (Course offered by Samskrita Bharati)
(Coordinator) August 2021 (Aug-Nov 2021) CA1070: Samskritam Bhaashaa Praveshah (Course offered by Samskrita Bharati)
January 2021: CS6843: C4ML: Compilers for Machine Learning
January 2021: CS6393: Advanced Compiler Engineering
January 2021 (Mar-Apr 2021) : CS3320: Compilers-I (1 Credit: includes lab)
January 2021 (Jan-May 2021) CS2433: Principles of Programming Languages - II
January 2021 (Jan-May 2021) CS232: Compilers and Programming Languages (IIIT-Raichur)
(Coordinator) January 2021 (Feb-Mar 2021) CA1048: Samskritam Sambhashana Praveshah (Course offered by Samskrita Bharati)
(Coordinator) August 2020: CS5820: Graphical Processing Unit: Hardware and Software (Course offered by Intel)
(Coordinator) (Nov 2020 - Mar 2021) CS1000: Introduction to Computer Science
August 2020: CS6250: Advanced Compiler Optimizations
August 2020: CS3423: Compilers-II (3 Credits: includes lab)
August 2020: CS6383: Introduction to Compiler Engineering
August 2020 (Oct-Dec 2020) CS2400: Principles of Programming Languages - I (1 credit fractal course)
August 2020 (Oct-Dec 2020) CS231: Principles of Programming Languages (IIIT-Raichur) (1 credit fractal course)
(Coordinator) August 2020: CS5820: Graphical Processing Unit: Hardware and Software (Course offered by Intel)
(Coordinator) (Nov 2020 - Mar 2021) CS1000: Introduction to Computer Science
(Coordinator) (Nov 2020 - Mar 2021) CS101: Introduction to Computer Science (IIIT-Raichur)
January 2020: CS5260: Compiler Optimizations
January 2020: CS3320: Compilers-I (1 Credit: includes lab)
January 2020 (Jan-Feb 2020) CS2433: Principles of Programming Languages - II (1 credit of a 3 Credit Fractal Course
taught by Gang of Three (Dr. Saurabh Joshi, Dr. P.K. Srijith and me))
August 2019: CS6250: Advanced Compiler Optimizations
August 2019: CS3423: Compilers-II (3 Credits: includes lab) and CS6240 Advanced Compiler Design
August 2019: CS6383: Introduction to Compiler Engineering (2 credit fractal course)
January 2019: CS6863: Compilers for Machine Learning: An Introduction (NEW!! First Time!, Thanks to Prof.
Albert Cohen)
January 2019: CS5260: Compiler Optimizations
January 2019: CS6300: Topics in Compiler Optimizations
January 2019: CS3320: Compilers-I (1 Credit: includes lab)
August 2018: CS6250: Advanced Compiler Optimizations
August 2018: CS3423: Compilers-II (3 Credits: includes lab) and CS6240 Advanced Compiler Design
August 2018: CS6383: Introduction to Compiler Engineering (2 credit fractal course)
January 2018: CS5260: Compiler Optimizations and CS6300: Topics in Compiler Optimizations
January 2018: CS3320: Compilers-I (1 Credit: includes lab)
January 2018 (Jan-May 2018) CS2433: Principles of Programming Languages - II (Fractal 3 Credit Courses) at
IITBhilai
August 2017 (Oct-Nov 2017) CS2400: Principles of Programming Languages - I (Fractal 1 Credit Courses) at
IITBhilai
August 2017: CS6250: Advanced Compiler Optimizations
August 2017: CS3423: Compilers-II (3 Credits: includes lab) and CS6240 Advanced Compiler Design
August 2017: CS6383: Introduction to Compiler Engineering (2 credit fractal course)
January 2017: CS5260: Compiler Optimizations and CS6300: Topics in Compiler Optimizations
January 2017: CS3320: Compilers-I (1 Credit: includes lab)
August 2016: CS3320: Compilers-I (1 Credit), CS3423: Compilers-II (3 Credits: includes lab) and CS6240 Advanced Compiler Design
August 2016: CS6250: Advanced Compiler Optimizations (3 credits)
August 2016: CS6380: Introduction to Compiler Engineering (1 credit fractal course)
January 2016 (Jan-Mar 2016) CS2430: Principles of Programming Languages - II (and CS2431 Lab) (Fractal 2:2 Courses)
January 2016: CS5260: Compiler Optimizations and CS6300: Topics in Compiler Optimizations
August 2015 (Oct-Nov 2015) CS2400: Principles of Programming Languages - I (and CS2401 Lab) (Fractal 1:1 Courses)
August 2015: CS3020: Principles of Compiler Design (and CS3021 lab) and CS6240 Advanced Compiler Design
January 2015: CS6250: Advanced Compiler Optimizations
January 2015: CS2040: Principles of Programming Languages (and CS2041 Lab)
August 2014: CS3020: Principles of Compiler Design (and CS3021 lab) and CS6240 Advanced Compiler Design
Spring 2014: FC5264: Introduction to Basic and Advanced Compiler Optimization Techniques
Students
The following students are currently working with me.
Current Students:
- Keyur Joshi, B.Tech 4th year, (Undergraduate honors thesis).
- Pratik Bhatu, Dual (B.Tech+M.Tech) degree 5th year.
- Abhishek Patwardhan M.Tech-RA 2nd year.
- Santanu Das, M.Tech-RA 2nd year.
- Dangeti Tharun Kumar, M.Tech-TA 2nd year.
- Shalini Jain, PhD 2nd year.
- Gayatri PK, PhD 2nd year.
- Utpal Bora, PhD 2nd year (converted from M.Tech-TA program).
Past Students:
- Ajay Brahmakshatriya, B.Tech (Undergraduate honors thesis).
- Kiran Bhos, M.Tech.
- Yogesh Chavan, M.Tech.
- Bhargav Reddy Godala, B.Tech (Undergraduate honors thesis).
I am looking for both graduate as well as undergraduate students.
If you are at IITH and are broadly interested in any areas of compilation, parallelization or programming languages, please feel free to send me an email or meet me in person.
Misc
Read this blog.
Advaita
Veda
Sanskrit
GITA_COMMENTARIES
Fun:
Account in "The Bank of San Serriffe"