Programming Languages and Compilers in Industry Day (PLACID 2024)

March 30, 2024
IIT Bombay, Mumbai, India


Hello folks! Greetings from the Compilers and PL group at CSE, IIT Bombay!

Get ready for an exhilarating experience as we unveil the Programming Languages and Compilers In Industry Day (PLACID) on March 30, 2024. Join us in exploring the backstage marvels of programming languages- the compilers industry engineers. Featuring talks by industry experts from leading compiler-focused companies and posters session featuring the research work done by our Masters and PhD students. This exclusive event is designed to expose IIT Bombay students to the dynamic world of compilers and programming languages, offering insights into industry advancements. Don't miss this opportunity to dive into the heart of cutting-edge developments on the grand stage of programming languages and compiler technology!

Please note that this event is an internal IIT Bombay Event.

Venue

FC Kohli Auditorium, KReSIT Building, IIT Bombay, Powai, Mumbai - 400076

Navigate to FC Kohli Auditorium:


Industry Delegates

add img/speakers/Saiyedul Islam-AMD

Sriram Rajamani

President and Managing Director, Microsoft Research

Programming and Machine Learning

Sriram Rajamani

Sriram Rajamani is Corporate Vice President and Managing Director of Microsoft Research India. Sriram is an ACM fellow, INAE fellow, and winner of the Computer Aided Verification Award. His work has impacted both academic and industrial practice in programming languages, systems, security, and formal verification. He is currently working on reimagining the future of programming and software engineering with LLMs to improve productivity, agility and user experience while preserving reliability and security. Sriram did his PhD in Computer Science at UC Berkeley.

add img/speakers/Pritam-MSR

Pritam Gharat

Senior Researcher at Microsoft Research

LLMs for Code Generation, Static Analysis, Verification

Pritam Gharat

Pritam is a Senior Researcher at Microsoft Research (MSR) where she is working on leveraging Large Language Models (LLMs) for static analysis. Prior to this, she was a Postdoctoral Researcher at Imperial College, London where she worked on static analysis and dynamic symbolic execution for efficient bug detection. She has done her masters and doctoral degrees in Computer Science from IIT Bombay. Her Ph.D. thesis focused on Pointer Analysis and proposed a new form of representation for procedure summaries that can be used for scalable flow- and context-sensitive points-to analysis.

add img/speakers/Ramana Radhakrishnan-Nvidia

Ramana Radhakrishnan

Director CPU Compilers, NVIDIA

Compilers, Software tools and Toolchains

Ramana Radhakrishnan

Ramana has worked in the field of compilers since 2002 and has worked on building out GNU Toolchain for a variety of CPU architectures including some very popular ones such as AArch64. He is involved with GCC as a steering committee member and as a maintainer for the AArch32 port. While GNU Toolchain has been his mainstay, he has also dabbled in the field of machine learning compilers building out a team. He currently leads a team doing OSS CPU Compilers for Grace, NVIDIA's data centre CPU , Grace and is very interested in compiler optimisations for GCC and LLVM designed for these CPUs.

add img/speakers/Shekhar Divekar

Shekhar Divekar

Principal Compiler Engineer, NVIDIA

Principal Compiler Engineer, NVIDIA

Shekhar Divekar

Shekhar is a compiler engineer with 20+ years of experience in the area of compilers. He has worked on compilers for different types of architectures like RISC/DSP/GPUs. He has experience in mid and low level optimizations including register allocation, instruction scheduling etc. Currently he manages the GPU compiler backend team in NVIDIA. His team work on mid and low level optimizations for GPUs. The focus of the team is supporting new GPU architectures and tuning the code generation for graphics (gaming) and compute (CUDA) workloads. The compiler handles all types of programing APIs supported by the GPU.

add img/speakers/Girish Bharambe-Nvidia

Girish Bharambe

Senior System SW Manager, NVIDIA

PTX Compiler for NVIDIA GPUs

Girish Bharambe

Girish works as Senior System SW Manager for GPU Compilers in NVIDIA. He manages PTX Compiler group and assembler/disassembler tools group at NVIDIA. He has experience in working on GPU programming languages design, compiler front end implementation and linkers, ABI for GPUs. He has worked on all NVIDIA GPUs since Fermi generation and has contributed to lot of features in CUDA and PTX since then. He has several patents in areas of abstraction for GPU programs, linkers and runtime. His areas of interest are programming language design, ABI and linkers.

add img/speakers/1.Sameer-AMD.jpeg

Sameer Sahasrabuddhe

Sameer is Principal MTS (PMTS) at AMD in the AI GPU Software Group (working on the GPU compiler). He has done his PhD in Computer Science from IIT Bombay.

Compilers for AMD GPUs

Sameer Sahasrabuddhe

Sameer is Principal MTS (PMTS) at AMD in the AI GPU Software Group (working on the GPU compiler). He has done his PhD in Computer Science from IIT Bombay.

add img/speakers/Saiyedul Islam-AMD

Saiyedul Islam

Principal Member of Technical Staff (MTS), AMD

Compilers, HPC, GPU Programming

Saiyedul Islam

Saiyed is Senior MTS at AMD in the AI Group working on GPU Compilers. He is also an Adjunct Faculty at BITS Pilani's WILP Division. He has been working on GPUs since 2009. He designed a Domain Specific Language for Clustering and its parallelizing compiler targeting distributed systems during his PhD at BITS Pilani. His primary interests are HPC, Data Clustering, Programming Languages, and Compiler Design.

add img/speakers/Gireesh Punathil-IBM

Gireesh Punathil

Master inventor and Senior Technical Staff Member, IBM

Programming and Machine Learning

Gireesh Punathil

Gireesh is an IBM master inventor and Senior Technical Staff Member part of IBM Runtimes team that develops and supports Java, Node.js and Eclipse SDK. He is an Eclipse committer and Node.js TSC member. In 22 years of his career, he has been porting, developing and debugging web servers, virtual machines, compilers and cloud platform frameworks. He has spoken at several Node.js, Java and Eclipse conferences and has authored a book on Node.js enterprise application development.

add img/speakers/Makarand-Kulkarni-Saankhya

Makarand Kulkarni

Software-Wireless & Networking, Saankhya labs

DSLs for Radio Access Networks (RAN)

Makarand Kulkarni

Makarand leads the wireless innovation efforts at Saankhya labs with focus on improving the operational and development efficiencies of RAN solutions. He is an active member of O-RAN standardization forum where he represents Saankhya in WG6.He has extensive experience in building and deploying wireless infrastructure products and is a known SME in the field. Prior to Saankhya, Makarand has been part of several leading edge startups like UbiNetics (now Viavi), well known for the TM500 series of test platforms and then Navini networks, a pioneer in industry leading beamforming solutions.

add img/speakers/Sameera Deshpande-Quadric

Sameera Deshpande

Principal Compiler Engineer, Quadric Inc

Graph Compiler and LLVM

Sameera Deshpande

Sameera is Principal Compiler Engineer at Quadric Inc, managing team of 6 compiler Engineers globally. Their team at Quadric Inc work on Graph compiler and LLVM for our Chimera architecture.

add img/speakers/Arun Rangasamy-Qualcomm

Arun Rangasamy

Senior Staff Engineer, Qualcomm

Compiler & Tools for Snapdragon Chipsets

Arun Rangasamy

Arun Rangasamy is a Senior Staff Engineer at Qualcomm, Hyderabad. He has over 14 years of industry experience in developing compilers for CPUs, GPUs and DSPs, simulators and firmware. His doctoral thesis at IISc, Bangalore focused on compiler-based energy optimization

add img/speakers/Ravishankar Kolachana-Qualcomm

Ravishankar Kolachana

Director Engineering, Qualcomm

Compiler & Tools for Snapdragon Chipsets

Ravishankar Kolachana

Ravishankar is Director Engineering at Qualcomm. Since he graduated from IIT Guwahati, Ravi has been passionate about Computer Systems in general and Compilers in particular. He is also passionate about Program Analysis and code hygiene tools. He has been working in the Wireless semiconductor industry for almost 22 years now. For the past 7 years he has been mainly working Compilers, linkers, loaders, simulators, debuggers and IDEs.

add img/speakers/R Venkatesh-TCS

R Venkatesh

Chief Scientist at TCS Research

Tools for analysis and synthesis of programs

R Venkatesh

With over 30 years of experience in TCS Research, Venkatesh specializes in developing tools for program analysis and synthesis. His journey began with formal verification tools and has evolved to specialize in program synthesis, continually advancing software development capabilities.

30th March 2024

09:00AM
30min
Registration
Registration
09:30AM
15min
Introduction
Introduction
09:45AM
30min
Talk 1: AMD
Talk 1: AMD
10:15AM
30min
Talk 2: Qualcomm
Talk 2: Qualcomm
10:45AM
30min
Talk 3: IBM
Talk 3: IBM
11:15AM
15min
Tea Break
Tea Break
11:30AM
30min
Talk 4: NVIDIA
Talk 4: NVIDIA
12:00PM
30min
Talk 5: Microsoft Research
Talk 5: Microsoft Research
12:30PM
60min
Lunch
Lunch
01:30PM
45min
Poster Session
Poster Session
02:15PM
15min
Group Photo
Group Photo
02:30PM
30min
Talk 6: Quadric Inc
Talk 6: Quadric Inc
03:00PM
30min
Talk 7: TCS Research
Talk 7: TCS Research
03:30PM
15min
Tea Break
Tea Break
03:45PM
30min
Talk 8: Saankhya Labs
Talk 8: Saankhya Labs
04:15PM
45min
Panel Discussion
Panel Discussion
add img/speakers/amd

Event Registration

Embark on an exhilarating journey into the dynamic world of programming languages and compilers at the "Programming Languages and Compilers In Industry Day" on March 30, 2024. This exclusive event, hosted by IIT Bombay, offers a rare opportunity to explore the backstage marvels of compiler technology alongside industry leaders. Featuring captivating talks by experts from leading compiler-focused companies and a poster session showcasing groundbreaking research by Masters and PhD students, attendees will gain invaluable insights into the latest advancements shaping the future of software development. Don't miss this chance to dive deep into the heart of cutting-edge developments, network with like-minded individuals, and ignite your passion for innovation in programming languages and compiler technology. Join us and be inspired to push the boundaries of what's possible in the ever-evolving landscape of technology.

add img/speakers/amd

Event Introduction

add img/speakers/amd

The GPU Compiler for AMD

We will take a very broad look at the typical engineering work involved in delivering a compiler for GPUs. We will also briefly dive into OpenMP, one of the software technologies supported by AMD GPUs.

add img/speakers/qualcomm

Compiler Tool Chain at Qualcomm

The LLVM Toolchain team at Qualcomm works on compilers and development tools for the different hardware blocks in the Snapdragon chipsets . The tools are based on the LLVM framework and enable developers to write efficient and high quality C/C++ applications for properietery chipsets, DSPs and ARM architectures. The team also supports Halide, a DSL meant for image processing applications and TVM, a framework for AI/ML applications. Halide and TVM compilers make it easy for the developers to write applications and generate optimized code for the Hexagon DSP hardware. The toolchain also includes simulators, debuggers, profilers, and code hygiene tools that help developers write better code.

add img/speakers/ibm

IBM Semeru Runtimes: Compiling for the Cloud

Cloud computing market size stands at 0.7T$ and is expected to double in 5 years. IBM's response to that credible forecast was to transform their enterprise quality Java runtimes (called IBM Semeru Runtimes) to optimize for the cloud, leveraging the characteristics of such a computing environment, while preserving the same efficiency for the existing workloads. The intensive research, development and result thereon has been amazing and worth sharing to this audience! Semeru's openj9 virtual machine and JIT, a profiler driven dynamic compiler that sits at VM's core were the target of their innovation. Come, learn about the key performance metrics for cloud, and how Semeru JVM design was constructively reflected, restructured and optimized to meet those metrics. They will illustrate several OOTB strategies that rendered the scope of conventional compiler boundaries to spill and overflow into the virtual machine and even the container host!

add img/speakers/amd

Tea-break

add img/speakers/nvidia

Talk by NVIDIA

NVIDIA's compiler org works on a variety of areas including PL standards (c++ stdpar, openmp, openacc being some of them), performance optimizations for various processing units including CPU's, GPUs and DPUs. One of the team focusses on CPU optimisations in the data centre space using open source compilers such as GCC and LLVM mostly in the middle-end and back-end. Areas of interest include vectorization, atomics and any optimisations that can help improve performance of applications. They also works on PTX Compiler that is used in compute languages on GPUs. PTX is a virtual assembly that provides backward compatibility for GPU programs. Specifically we work on designing PTX programming language, extend it to support new capability and the compiler front end implementation for the same.

add img/speakers/msr.jpg

Talk by Microsoft Research:
AI Empowered Software Engineering

Current software engineering workflow consists of starting from writing code in programming languages (like C, C++, Java, Python etc), and using a compiler and linker to compile the code into an executable binary, and running the binary. The intent of the programmer stays uncaptured in white boards, emails, and design documents. Programmers write, read, and understand code at the finest level of detail, line-by-line. With the advent of LLMs, a new software engineering workflow is emerging. The new workflow starts with the intent of what the programmer wants to accomplish in natural language and uses the power of LLMs to enable the programmer to make "big" steps in designing and evolving their system, instead of just programming line-by-line. The new workflow starts with intent, uses LLMs to capture intent to representations, and then performs planning and execution to execute the representations. In this talk, we describe our efforts in building tools to make this new workflow possible, and research challenges in this journey.

add img/speakers/amd

Lunch

add img/speakers/amd

Poster Session

add img/speakers/amd

Group Photo

add img/speakers/Quadric

Talk by Quadric

The team at Quadric Inc. work on Graph compiler and LLVM for the Chimera architecture.

add img/speakers/tcs-research

Talk by TCS Research: LLM based Code Synthesis and Testing

LLMs have had a big impact in various aspects of Software Engineering, particularly coding and unit testing. They can also be used to generate code and tests from English specifications; however, they cannot directly generate code or tests from high level specification. They need to be guided through a process of code and test generation. We have experimented with automating this guidance. In this talk we will present our thoughts on code and tests synthesis using LLMs and share our findings from these experiments.

add img/speakers/amd

Tea Break

add img/speakers/Saankhya-labs

DSL and Compilers for Signal Processing Algorithms

Newer generations of wireless technologies have harvested larger bandwidths and developed techniques to stack multiple layers of information on the same bandwidth. This has led to explosion in processing requirements and advent of multi-core, heterogenous, purpose specific architectures, a trend already witnessed in the AI/ML world. However, programmability of such devices remains a challenge and we are left with a huge gap between development of algorithms and their translation on the above complex devices. To add to misery is variety in platforms based on deployment scenarios. We intend to solve this problem by creating a domain specific language whose frontend resembles MATLAB, a popular language used in EE domain to design signal processing algorithms which, along with capturing the signal processing aspects, captures certain aspects of parallelism and scheduling the Directed Flow Graph (DFG) representing the algorithm. There are precedents to this in the form of upcoming Mojo language from Modular and certain techniques which TensorFlow uses from MLIR. The talk is not intended to give insight in programming languages. It is intended to bring out the problems in the domain of wireless software development and draw parallels from what techniques have been used in other domains (namely AI/ML) to solve similar issues. It should act as a motivator to address the issues relevant to the telecom industry through developments in programming languages.

add img/speakers/amd

Panel Discussion

Panelists:
    1. Ramana Radhakrishnan (Nvidia)
    2. R Venkatesh (TCS Research)
    3. Sameera Deshpande (Quadric Inc)
    4. Pritam Gharat (Microsoft Research)

Coordinator: Uday Khedker

Committee


Uday Khedker

Faculty, IITB CSE

Manas Thakur

Faculty, IITB CSE

Nisha Biju

Project Staff, IITB CSE

Student Team


Aditya Anand

PhD, IITB CSE

Meetesh K Mehta

PhD, IITB CSE

Supriya Bhide

PhD, IITB CSE

Contact Us