Please use this identifier to cite or link to this item: https://dspace.iiti.ac.in/handle/123456789/4614
Full metadata record
DC FieldValueLanguage
dc.contributor.authorGanapathi, Pramoden_US
dc.date.accessioned2022-03-17T01:00:00Z-
dc.date.accessioned2022-03-17T15:34:58Z-
dc.date.available2022-03-17T01:00:00Z-
dc.date.available2022-03-17T15:34:58Z-
dc.date.issued2019-
dc.identifier.citationJavanmard, M. M., Ganapathi, P., Das, R., Ahmad, Z., Tschudi, S., & Chowdhury, R. (2019). Toward efficient architecture-independent algorithms for dynamic programs doi:10.1007/978-3-030-20656-7_8en_US
dc.identifier.isbn9783030206550-
dc.identifier.issn0302-9743-
dc.identifier.otherEID(2-s2.0-85067508267)-
dc.identifier.urihttps://doi.org/10.1007/978-3-030-20656-7_8-
dc.identifier.urihttps://dspace.iiti.ac.in/handle/123456789/4614-
dc.description.abstractWe argue that the recursive divide-and-conquer paradigm is highly suited for designing algorithms to run efficiently under both shared-memory (multi- and manycores) and distributed-memory settings. The depth-first recursive decomposition of tasks and data is known to allow computations with potentially high temporal locality, and automatic adaptivity when resource availability (e.g., available space in shared caches) changes during runtime. Higher data locality leads to better intra-node I/O and cache performance and lower inter-node communication complexity, which in turn can reduce running times and energy consumption. Indeed, we show that a class of grid-based parallel recursive divide-and-conquer algorithms (for dynamic programs) can be run with provably optimal or near-optimal performance bounds on fat cores (cache complexity), thin cores (data movements), and purely distributed-memory machines (communication complexity) without changing the algorithm’s basic structure. Two-way recursive divide-and-conquer algorithms are known for solving dynamic programming (DP) problems on shared-memory multicore machines. In this paper, we show how to extend them to run efficiently also on manycore GPUs and distributed-memory machines. Our GPU algorithms work efficiently even when the data is too large to fit into the host RAM. These are external-memory algorithms based on recursive r-way divide and conquer, where r (≥ 2) varies based on the current depth of the recursion. Our distributed-memory algorithms are also based on multi-way recursive divide and conquer that extends naturally inside each shared-memory multicore/manycore compute node. We show that these algorithms are work-optimal and have low latency and bandwidth bounds. We also report empirical results for our GPU and distribute memory algorithms. © Springer Nature Switzerland AG 2019.en_US
dc.language.isoenen_US
dc.publisherSpringer Verlagen_US
dc.sourceLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)en_US
dc.subjectCache memoryen_US
dc.subjectComputational complexityen_US
dc.subjectDynamic programmingen_US
dc.subjectEnergy utilizationen_US
dc.subjectGraphics processing uniten_US
dc.subjectMulticore programmingen_US
dc.subjectProgram processorsen_US
dc.subjectRandom access storageen_US
dc.subjectCommunication efficiencyen_US
dc.subjectDistributed Memoryen_US
dc.subjectDistributed memory algorithmsen_US
dc.subjectDistributed memory machinesen_US
dc.subjectDivide-and-conquer algorithmen_US
dc.subjectExascaleen_US
dc.subjectExternal memory algorithmsen_US
dc.subjectShared memoryen_US
dc.subjectMemory architectureen_US
dc.titleToward efficient architecture-independent algorithms for dynamic programsen_US
dc.typeConference Paperen_US
Appears in Collections:Department of Computer Science and Engineering

Files in This Item:
There are no files associated with this item.


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Altmetric Badge: