000 03495nam a22004935i 4500
001 978-3-031-01736-0
003 DE-He213
005 20240730163432.0
007 cr nn 008mamaa
008 220601s2012 sz | s |||| 0|eng d
020 _a9783031017360
_9978-3-031-01736-0
024 7 _a10.1007/978-3-031-01736-0
_2doi
050 4 _aTK7867-7867.5
072 7 _aTJFC
_2bicssc
072 7 _aTEC008010
_2bisacsh
072 7 _aTJFC
_2thema
082 0 4 _a621.3815
_223
100 1 _aMidkiff, Samuel.
_eauthor.
_4aut
_4http://id.loc.gov/vocabulary/relators/aut
_978499
245 1 0 _aAutomatic Parallelization
_h[electronic resource] :
_bAn Overview of Fundamental Compiler Techniques /
_cby Samuel Midkiff.
250 _a1st ed. 2012.
264 1 _aCham :
_bSpringer International Publishing :
_bImprint: Springer,
_c2012.
300 _aXII, 157 p.
_bonline resource.
336 _atext
_btxt
_2rdacontent
337 _acomputer
_bc
_2rdamedia
338 _aonline resource
_bcr
_2rdacarrier
347 _atext file
_bPDF
_2rda
490 1 _aSynthesis Lectures on Computer Architecture,
_x1935-3243
505 0 _aIntroduction and overview -- Dependence analysis, dependence graphs and alias analysis -- Program parallelization -- Transformations to modify and eliminate dependences -- Transformation of iterative and recursive constructs -- Compiling for distributed memory machines -- Solving Diophantine equations -- A guide to further reading.
520 _aCompiling for parallelism is a longstanding topic of compiler research. This book describes the fundamental principles of compiling "regular" numerical programs for parallelism. We begin with an explanation of analyses that allow a compiler to understand the interaction of data reads and writes in different statements and loop iterations during program execution. These analyses include dependence analysis, use-def analysis and pointer analysis. Next, we describe how the results of these analyses are used to enable transformations that make loops more amenable to parallelization, and discuss transformations that expose parallelism to target shared memory multicore and vector processors. We then discuss some problems that arise when parallelizing programs for execution on distributed memory machines. Finally, we conclude with an overview of solving Diophantine equations and suggestions for further readings in the topics of this book to enable the interested reader to delve deeper into the field. Table of Contents: Introduction and overview / Dependence analysis, dependence graphs and alias analysis / Program parallelization / Transformations to modify and eliminate dependences / Transformation of iterative and recursive constructs / Compiling for distributed memory machines / Solving Diophantine equations / A guide to further reading.
650 0 _aElectronic circuits.
_919581
650 0 _aMicroprocessors.
_978500
650 0 _aComputer architecture.
_93513
650 1 4 _aElectronic Circuits and Systems.
_978501
650 2 4 _aProcessor Architectures.
_978502
710 2 _aSpringerLink (Online service)
_978503
773 0 _tSpringer Nature eBook
776 0 8 _iPrinted edition:
_z9783031006081
776 0 8 _iPrinted edition:
_z9783031028649
830 0 _aSynthesis Lectures on Computer Architecture,
_x1935-3243
_978504
856 4 0 _uhttps://doi.org/10.1007/978-3-031-01736-0
912 _aZDB-2-SXSC
942 _cEBK
999 _c84601
_d84601