Files in this item



application/pdfPOTHUKUCHI-DISSERTATION-2020.pdf (4MB)
(no description provided)PDF


Title:Code generation of array constructs for distributed memory systems
Author(s):Pothukuchi, Sweta Yamini
Director of Research:Padua, David
Doctoral Committee Chair(s):Padua, David
Doctoral Committee Member(s):Kale, Laxmikant V; Kloeckner, Andreas; Franchetti, Franz
Department / Program:Computer Science
Discipline:Computer Science
Degree Granting Institution:University of Illinois at Urbana-Champaign
Subject(s):Code Generation
Distributed Memory Sytems
High Level Abstractions
Abstract:Programming for high-performance systems to fully utilize the potential of the computing system is a complex problem. This is particularly evident when programming distributed memory clusters containing multiple NUMA chips and GPUs on each node since it would require a complex combination of MPI, OpenMP, CUDA, OpenCL, etc to achieve high performance even for sequentially simplistic codes. Programs requiring high performance are usually painstakingly written by hand in C/C++ or Fortran using MPI+X to target these machines. This work presents a multi-layer code generation framework Vaani that takes a very high-level representation of computations and generates C+MPI code by transforming the input through a series of intermediate representations. The very high-level nature of the language greatly facilitates programming parallel systems. Additionally, the use of multiple representations provide a flexible and transparent venue for the user to interact and customize the transformation process to generate code suitable to the user and the target machine. Experimental evaluation shows that the current implementation of Vaani generates code that is competitive with handwritten codes and hand-optimized libraries.
Issue Date:2020-12-01
Rights Information:Copyright 2020 Sweta Yamini Pothukuchi
Date Available in IDEALS:2021-03-05
Date Deposited:2020-12

This item appears in the following Collection(s)

Item Statistics