Title | : | D2P: An Inspector-Executor Based Approach to Automatically Creating Distributed Dynamic Programming Codes |
Speaker | : | Nikhil Hegde (Purdue University) |
Details | : | Mon, 18 Mar, 2019 3:00 PM @ Turing Hall |
Abstract: | : | Dynamic Programming (DP) algorithms are common targets for parallelization, and, as these algorithms are applied to larger inputs, distributed implementations become necessary. However, creating distributed-memory solutions involves the challenges of task creation, program and data partitioning, communication optimization, and task scheduling. In this work we present D2P, an end-to-end system for automatically transforming a specification of any recursive DP algorithm into distributed-memory implementation of the algorithm. When given a pseudo-code of a recursive DP algorithm, D2P automatically generates the corresponding MPI-based implementation. Our evaluation of the generated distributed implementations shows that they are efficient and scalable. Moreover, D2P-generated implementations are faster than implementations generated by recent general distributed DP frameworks, and are competitive with (and often faster than) hand-written implementations.
Speaker Bio: Nikhil is a PhD candidate in the department of Electrical and Computer Engineering at Purdue University advised by Prof. Milind Kulkarni. The focus of his research is on developing techniques for exploiting distributed-memory parallelism in irregular applications. This research has taken him into topics in high-performance computing, programming languages, and more recently, bioinformatics. Currently, he is working on automatic code generation techniques for dynamic programs. |