Solving Dynamic Programming Problem by Pipeline Implementation on GPU

In this paper, we show the effectiveness of a pipeline implementation of Dynamic Programming (DP) on GPU. As an example, we explain how to solve a matrix-chain multiplication (MCM) problem by DP on GPU. This problem can be sequentially solved in \(O(n^3)\) steps by DP where \(n\) is the number of ma...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:arXiv.org
Hlavní autoři: Matsumae, Susumu, Miyazaki, Makoto
Médium: Paper
Jazyk:angličtina
Vydáno: Ithaca Cornell University Library, arXiv.org 05.08.2020
Témata:
ISSN:2331-8422
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Abstract In this paper, we show the effectiveness of a pipeline implementation of Dynamic Programming (DP) on GPU. As an example, we explain how to solve a matrix-chain multiplication (MCM) problem by DP on GPU. This problem can be sequentially solved in \(O(n^3)\) steps by DP where \(n\) is the number of matrices, because its solution table is of size \(n \times n\) and each element of the table can be computed in \(O(n)\) steps. A typical speedup strategy for this is to parallelize the \(O(n)\) step computation of each element, which can be easily achieved by parallel prefix computation, i.e., an \(O(\log n)\) step computation with \(n\) threads in a tournament fashion. By such a standard parallelizing method, we can solve the MCM problem in \(O(n^2 \log n)\) steps with \(n\) threads. In our approach, we solve the MCM problem on GPU in a pipeline fashion, i.e., we use GPU cores for supporting pipeline-stages so that many elements of the solution table are partially computed in parallel at one time. Our implementation determines one output value per one computational step with \(n\) threads in a pipeline fashion and constructs the solution table totally in \(O(n^2)\) steps with \(n\) threads.
AbstractList In this paper, we show the effectiveness of a pipeline implementation of Dynamic Programming (DP) on GPU. As an example, we explain how to solve a matrix-chain multiplication (MCM) problem by DP on GPU. This problem can be sequentially solved in \(O(n^3)\) steps by DP where \(n\) is the number of matrices, because its solution table is of size \(n \times n\) and each element of the table can be computed in \(O(n)\) steps. A typical speedup strategy for this is to parallelize the \(O(n)\) step computation of each element, which can be easily achieved by parallel prefix computation, i.e., an \(O(\log n)\) step computation with \(n\) threads in a tournament fashion. By such a standard parallelizing method, we can solve the MCM problem in \(O(n^2 \log n)\) steps with \(n\) threads. In our approach, we solve the MCM problem on GPU in a pipeline fashion, i.e., we use GPU cores for supporting pipeline-stages so that many elements of the solution table are partially computed in parallel at one time. Our implementation determines one output value per one computational step with \(n\) threads in a pipeline fashion and constructs the solution table totally in \(O(n^2)\) steps with \(n\) threads.
Author Miyazaki, Makoto
Matsumae, Susumu
Author_xml – sequence: 1
  givenname: Susumu
  surname: Matsumae
  fullname: Matsumae, Susumu
– sequence: 2
  givenname: Makoto
  surname: Miyazaki
  fullname: Miyazaki, Makoto
BookMark eNotjd1Kw0AUhBdRsNY-gHcLXiee_UvOXkqttVAwYL0um82mbEl2Y5IW-_ZGFAZm-Bhm7sh1iMER8sAglagUPJn-259TDoApMC3wisy4ECxByfktWQzDEQB4lnOlxIysPmJz9uFAXy7BtN7Soo-H3rTtL5ty2biWlhda-M41Pji6absJuTCa0cdAJ62Lz3tyU5tmcIt_n5Pd62q3fEu27-vN8nmbGMUhkRU4rqsSbWkQuUWprJY1clNnpXTCMaWmTlVpLfO6ZsyBzRByoZSxUmoxJ49_s10fv05uGPfHeOrD9LjnUgByhhmIH-7jTf0
ContentType Paper
Copyright 2020. This work is published under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
Copyright_xml – notice: 2020. This work is published under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
DBID 8FE
8FG
ABJCF
ABUWG
AFKRA
AZQEC
BENPR
BGLVJ
CCPQU
DWQXO
HCIFZ
L6V
M7S
PHGZM
PHGZT
PIMPY
PKEHL
PQEST
PQGLB
PQQKQ
PQUKI
PRINS
PTHSS
DOI 10.48550/arxiv.2008.01938
DatabaseName ProQuest SciTech Collection
ProQuest Technology Collection
Materials Science & Engineering Collection
ProQuest Central (Alumni)
ProQuest Central UK/Ireland
ProQuest Central Essentials
ProQuest Central
ProQuest Technology Collection
ProQuest One
ProQuest Central
SciTech Premium Collection
ProQuest Engineering Collection
Engineering Database
ProQuest Central Premium
ProQuest One Academic
ProQuest Publicly Available Content Database
ProQuest One Academic Middle East (New)
ProQuest One Academic Eastern Edition (DO NOT USE)
ProQuest One Applied & Life Sciences
ProQuest One Academic (retired)
ProQuest One Academic UKI Edition
ProQuest Central China
Engineering Collection
DatabaseTitle Publicly Available Content Database
Engineering Database
Technology Collection
ProQuest One Academic Middle East (New)
ProQuest Central Essentials
ProQuest One Academic Eastern Edition
ProQuest Central (Alumni Edition)
SciTech Premium Collection
ProQuest One Community College
ProQuest Technology Collection
ProQuest SciTech Collection
ProQuest Central China
ProQuest Central
ProQuest One Applied & Life Sciences
ProQuest Engineering Collection
ProQuest One Academic UKI Edition
ProQuest Central Korea
Materials Science & Engineering Collection
ProQuest Central (New)
ProQuest One Academic
ProQuest One Academic (New)
Engineering Collection
DatabaseTitleList Publicly Available Content Database
Database_xml – sequence: 1
  dbid: PIMPY
  name: Publicly Available Content Database
  url: http://search.proquest.com/publiccontent
  sourceTypes: Aggregation Database
DeliveryMethod fulltext_linktorsrc
Discipline Physics
EISSN 2331-8422
Genre Working Paper/Pre-Print
GroupedDBID 8FE
8FG
ABJCF
ABUWG
AFKRA
ALMA_UNASSIGNED_HOLDINGS
AZQEC
BENPR
BGLVJ
CCPQU
DWQXO
FRJ
HCIFZ
L6V
M7S
M~E
PHGZM
PHGZT
PIMPY
PKEHL
PQEST
PQGLB
PQQKQ
PQUKI
PRINS
PTHSS
ID FETCH-LOGICAL-a520-4d0e29db8cba882c845c94f82af6b4e3e1554d0dd9947ff11e0c6807355ac4493
IEDL.DBID M7S
IngestDate Mon Jun 30 09:05:34 EDT 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a520-4d0e29db8cba882c845c94f82af6b4e3e1554d0dd9947ff11e0c6807355ac4493
Notes SourceType-Working Papers-1
ObjectType-Working Paper/Pre-Print-1
content type line 50
OpenAccessLink https://www.proquest.com/docview/2430821860?pq-origsite=%requestingapplication%
PQID 2430821860
PQPubID 2050157
ParticipantIDs proquest_journals_2430821860
PublicationCentury 2000
PublicationDate 20200805
PublicationDateYYYYMMDD 2020-08-05
PublicationDate_xml – month: 08
  year: 2020
  text: 20200805
  day: 05
PublicationDecade 2020
PublicationPlace Ithaca
PublicationPlace_xml – name: Ithaca
PublicationTitle arXiv.org
PublicationYear 2020
Publisher Cornell University Library, arXiv.org
Publisher_xml – name: Cornell University Library, arXiv.org
SSID ssj0002672553
Score 1.7302265
SecondaryResourceType preprint
Snippet In this paper, we show the effectiveness of a pipeline implementation of Dynamic Programming (DP) on GPU. As an example, we explain how to solve a matrix-chain...
SourceID proquest
SourceType Aggregation Database
SubjectTerms Computation
Dynamic programming
Multiplication
Parallel processing
Pipelines
Title Solving Dynamic Programming Problem by Pipeline Implementation on GPU
URI https://www.proquest.com/docview/2430821860
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV1JSwMxGA3aKnhyx6WWHLwOnSXJJCdBbVXQEmyVeirZBgp2Wmdq0X9vkpnqQfAizCUzlyHLl29533sAnJOMCSKJDDAVJEBaUXvmaBJkDNvrQoZS-y7X5_u036ejEeN1wq2sYZUrm-gNtZ4plyPvxMgRq0SUhBfzt8CpRrnqai2hsQ6ajiUh8tC9wXeOJSap9ZiTqpjpqbs6oviYLGsIpfVd6C8T7O-V3vZ__2gHNLmYm2IXrJl8D2x6PKcq90F3MHt1qQJ4XSnOQ17hsKbuHa9EZKD8hHwydw3pBnqW4GndiJRD-9zwpwMw7HWHV7dBrZgQCGzDQKRDEzMtqZLCes6KIqwYymgsMiKRSYxzHnSoNWMozbIoMqEi1B5yjIVCiCWHoJHPcnMEoKYmckU6FSmJUKKFxgKlNl52lH2JjI9BazUp43rXl-OfGTn5-_Mp2Ipd3OqgF7gFGovi3ZyBDbVcTMqiDZqX3T5_bPvFtCN-98BfvgBu7Klb
linkProvider ProQuest
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V1LT8JAEN4Q0ejJd3yg9qDHhna7224PxoOAEJA0AQ23Zl9NmkjBFlF-lP_R3T70YOKNg0lP7WXT2fnm9c0MANdu5FOXuczEhLomEpwonSOOGflYmQtmMZF3uT4PvOGQTCZ-UAOfVS-MplVWmJgDtZhxnSNvQqQHq9jEte7mr6beGqWrq9UKjeJa9OXqXYVs2W2vpeR7A2GnPb7vmuVWAZNiFSohYUnoC0Y4o8q75ARh7qOIQBq5DElHagMrLCF8H3lRZNvS4i5RioAx5Qjp2UsK8evKi4B-zhQcfad0oOspB90paqf5pLAmTT_iZcnYVK4S-YX4uRnr7P6zH7AH6gGdy3Qf1GRyALZytirPDkF7NHvRiRCjtUroNOZGULDMpvpdUKzIMdjKCOK5breXRj4DeVq2WSWGeh6CpyMwXsfBj8FGMkvkCTAEkbYuQXKbM4QcQQWmyPMUliGMHAZPQaOSQVjqdBb-CODs789XYLs7fhyEg96wfw52oI7QNckEN8DGIn2TF2CTLxdxll7m98cA4ZrF9QUrzwGD
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Solving+Dynamic+Programming+Problem+by+Pipeline+Implementation+on+GPU&rft.jtitle=arXiv.org&rft.au=Matsumae%2C+Susumu&rft.au=Miyazaki%2C+Makoto&rft.date=2020-08-05&rft.pub=Cornell+University+Library%2C+arXiv.org&rft.eissn=2331-8422&rft_id=info:doi/10.48550%2Farxiv.2008.01938