Pattern-Based Programming Abstractions for Heterogeneous Parallel Computing
Saved in:
| Main Author: | |
|---|---|
| Format: | eBook |
| Language: | English |
| Published: |
Linköping
Linkopings Universitet
2021
|
| Edition: | 1 |
| ISBN: | 9179291953, 9789179291952 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Author | Ernstsson, August |
|---|---|
| Author_xml | – sequence: 1 fullname: Ernstsson, August |
| BookMark | eNpNjstOwzAURI14CFL6D9mxiuRHEvsu26hQRCWygHVlx9dRRGIXO_1_gmDR1Wikc0aTkRsfPF6RDJgEDgwqcX1Z7kjGOCgBjJbynqxTGgytaEmBc3ggb62eZ4y-2OqENm9j6KOepsH3-cakOepuHoJPuQsx3-NChh49hnPKWx31OOKYN2E6nefFeCS3To8J1_-5Ip_Pu49mXxzeX16bzaHQSgEtale7qmRGcm4ZuFobaZUBB6qyNZVMOoulNcJCBcwIVAw6_ct3lHKNIFbk6W_3FMP3GdN8RBPCV4d--Tsed9umVkpyUYofr3JR3A |
| ContentType | eBook |
| DeliveryMethod | fulltext_linktorsrc |
| EISBN | 9179291953 9789179291952 |
| Edition | 1 |
| ExternalDocumentID | EBC6887234 |
| GroupedDBID | AABBV AIQUZ ALMA_UNASSIGNED_HOLDINGS BBABE |
| ID | FETCH-LOGICAL-a8890-6f6f541b722d19f6ab7d8b9f985d60717fde4db3d9591b3e819ca41b7c002ae93 |
| ISBN | 9179291953 9789179291952 |
| IngestDate | Tue Jan 23 03:41:32 EST 2024 |
| IsPeerReviewed | false |
| IsScholarly | false |
| Language | English |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-a8890-6f6f541b722d19f6ab7d8b9f985d60717fde4db3d9591b3e819ca41b7c002ae93 |
| OCLC | 1298391047 |
| PQID | EBC6887234 |
| PageCount | 292 |
| ParticipantIDs | proquest_ebookcentral_EBC6887234 |
| PublicationCentury | 2000 |
| PublicationDate | 2021 |
| PublicationDateYYYYMMDD | 2021-01-01 |
| PublicationDate_xml | – year: 2021 text: 2021 |
| PublicationDecade | 2020 |
| PublicationPlace | Linköping |
| PublicationPlace_xml | – name: Linköping |
| PublicationYear | 2021 |
| Publisher | Linkopings Universitet |
| Publisher_xml | – name: Linkopings Universitet |
| SSID | ssib050409229 |
| Score | 2.197849 |
| SourceID | proquest |
| SourceType | Publisher |
| TableOfContents | Markov Chain Monte Carlo methods in LQCD-PRNG with explicit state -- Designing a deterministic PRNG for SkePU -- Global synchronization -- Stream splitting -- State forwarding -- Optimizing long or iterated skeleton chains by pre-forwarding -- API extension design -- Related work -- Towards a modernized auto-tuner -- Background -- SkePU variadic tuner design -- Implementation -- Multi-dimensional argument sequences -- Sampler -- Execution plan and persistence -- Future work -- Evaluation results -- SkePU usability evaluation -- SkePU 2 prototype survey -- SkePU 3 survey -- Initial SkePU 2 performance evaluation -- Performance evaluation of lineages -- Sequences of Maps -- Heat propagation -- Hybrid backend -- Single skeleton evaluation -- Generic application evaluation -- Comparison to dynamic hybrid scheduling using StarPU -- Evaluation of multi-variant user functions -- Vectorization -- Median filtering -- Application benchmarks of SkePU 3 -- Libsolve ODE solver -- N-body -- Blackscholes and Streamcluster -- Brain simulation -- CO2 capture -- Supercapacitor simulation -- Conjugate gradient -- Experimental evaluation of deterministic PRNG -- Monte-Carlo Pi approximation -- LQCD Mini-Application -- Miller-Rabin primality testing -- Natural noise generation -- Programmability evaluation -- SkePU-GPI cluster backend -- Microbenchmarks of SkePU 3 -- OpenMP scheduling modes -- SkePU memory consistency model -- Variadic tuner prototype -- High-level skeleton fusion -- Limitations and future work -- Limitations -- Applicability of data-parallel patterns -- Dynamic data structures -- Limitations of language embedding -- Future work -- Further backend targets: reconfigurable accelerators -- Extending the parallel pattern set: stream parallelization -- Testing, debugging, and visualization -- Higher-level language interface -- Conclusions -- Bibliography Additions and changes from the licentiate thesis -- New contributions -- Other changes -- Definitions -- Abbreviations -- Domain-specific terminology -- SkePU-specific terminology -- SkePU-BLAS API -- Application source code samples -- N-body simulation -- Game of life -- Conjugate gradient -- CO2 capture -- Dr-sammanst Backends -- Sequential CPU backend -- Multi-core CPU backend: OpenMP -- GPU backends: OpenCL and CUDA -- C and Fortran language bindings -- Continuous integration and testing -- Dependencies -- Availability -- Hybrid CPU-GPU skeleton execution -- Introduction -- Workload partitioning and implementation -- StarPU backend implementation -- Auto-tuning -- Skeleton programming on large-scale cluster systems -- Background -- StarPU-MPI backend -- GPI backend -- GASPI and GPI -- Implementation -- Design -- Synchonization and state tracking -- Consistency model and double buffering -- Communication pattern -- Data representation -- Data transfers and caching -- Conclusions -- Extending smart data-containers for data locality awareness -- Introduction -- Large-scale data processing with MapReduce and Spark -- MapReduce -- Spark -- Lazily evaluated skeletons with tiling -- Basic approach and benefits -- Backend selection -- Loop optimization -- Evaluation points -- Further application areas -- Implementation -- Lazy tiling for stencil computations -- Applications and comparison to kernel fusion -- Polynomial evaluation using Horner's method -- Exponentiation by repeated squaring -- Heat propagation -- Related work -- High-level skeleton fusion -- Comparison to lineages -- Kernel fusion -- Types of fusions -- Example: N-body simulation -- Future work -- Multi-variant user functions -- Introduction -- Idea and implementation -- Use cases -- Vectorization example -- Generalized multi-variant components with the Call skeleton -- Other use cases -- Related work -- A deterministic portable parallel pseudo-random number generator -- Introduction -- Determinism in heterogeneous parallel computing -- Parallel pseudo-random number generation -- Previous manual parallelization of PRNG in SkePU programs -- Monte Carlo pi calculation-index-based scrambling Intro -- Populärvetenskaplig sammanfattning -- Abstract -- Acknowledgments -- Contents -- Introduction -- Aims and research questions -- Published work behind this thesis -- Other work behind this thesis -- Structure -- Background and related work -- Motivation -- High-level parallel programming -- Skeleton programming -- Related work -- GrPPI -- Musket -- Kokkos -- SYCL -- MLIR -- StarPU -- C++ AMP, and other industry efforts -- Other related frameworks, libraries, and toolchains -- Independent surveys -- Earlier related work on SkePU -- SkePU overview -- Basic constructs -- Backend architecture -- History -- SkePU 2 design principles -- SkePU 3 design principles -- Skeleton set -- Skeleton set -- Map skeleton -- Freely accessible containers inside user functions -- Variadic type signatures -- Multi-valued return -- Index-dependent computations -- MapPairs skeleton -- MapOverlap skeleton -- Edge handling modes -- Update modes -- Reduce skeleton -- One-dimensional reductions -- Two-dimensional reductions -- Scan skeleton -- MapReduce skeleton -- MapPairsReduce skeleton -- Call skeleton -- User functions -- User functions as lambda expressions -- User types -- User constants -- Strided skeletons -- Strides Map, MapPairs, and their reduce variants -- Strides in MapOverlap -- Data representation with smart data-containers -- Smart data-containers -- Container indexing -- Container proxies -- MatRow proxy -- MatCol proxy -- Region proxy -- Memory consistency model -- External scope -- Standard library -- Deterministic random number generation -- Complex numbers -- Linear algebra -- Image filtering and visualization -- Benchmark utilities -- High-level consistent input and output -- General utilities -- Implementation -- Implementation overview -- Language embedding and type safety -- Improved type safety from SkePU 1 -- Source-to-source compiler |
| Title | Pattern-Based Programming Abstractions for Heterogeneous Parallel Computing |
| URI | https://ebookcentral.proquest.com/lib/[SITE_ID]/detail.action?docID=6887234 |
| Volume | 2205 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV3NS8MwFA9u8-BNUfGbHMSLFJb08x23MZkIY8IGw8tIm1QE7Wa3yf58X9K0-_AgHryUNoSEvkfyPvJ7-RFy60EgJLryTiTAdTwQvhMDE45IIBK4H6ogbRqyibDfj8ZjGFiajrmhEwizLFqtYPavqsY2VLYunf2DuqtBsQHfUen4RLXjc8cjrj4LjQ_MVZmZ00bDZCoANPDqw6Q9Yp3QSArQm8YV9jQIZoqjKI2AHYhcM6q83xcUD6Ux0352jt7j3BZltZavS3sWZdMEnO2mCTCyNRVYG7AbW2FdBpMYuKGvxMDf2h11Ie7aVlQIvm67E-D-xF3vbvbpaBIvPaBlNKmRWhhgJNxoPT6PXsrl7eN-AZwDxsbVVG5xB9J66h8m0dj54SFpKF38cUT2VHZMnrYkSjckSjclSlGidEuitJQorSR6QkYP3WGn51jyCUdEEWBInQap77E45FwySAMRhzKKIYXIl_pOvjCVypOxK8EHFrsKPatE6P4J2hihwD0l9WyaqTNCPcUlLgXGm4nylMtF6Ct9uilDV0jF2Dmh5T9PzBG5xeVO1kK--L3LJTlY6_2K1Bf5Ul2T_eRr8TbPb6wuvgGMOCDH |
| linkProvider | ProQuest Ebooks |
| 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%3Abook&rft.genre=book&rft.title=Pattern-Based+Programming+Abstractions+for+Heterogeneous+Parallel+Computing&rft.au=Ernstsson%2C+August&rft.date=2021-01-01&rft.pub=Linkopings+Universitet&rft.isbn=9789179291952&rft.volume=2205&rft.externalDocID=EBC6887234 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9789179291952/lc.gif&client=summon&freeimage=true |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9789179291952/mc.gif&client=summon&freeimage=true |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9789179291952/sc.gif&client=summon&freeimage=true |

