Automatic parallelization: Difference between revisions

Content deleted Content added
See also: Adding link to orphaned article, Wikiproject Orphanage: You can help!
 
(6 intermediate revisions by 5 users not shown)
Line 1:
{{Short description|Method of improving computer program speed}}
{{RefimproveMore citations needed|date=February 2008}}
{{Use dmy dates|date=January 2022}}
{{Use list-defined references|date=January 2022}}
Line 11 ⟶ 12:
This is the first stage where the scanner will read the input source files to identify all static and extern usages. Each line in the file will be checked against pre-defined patterns to segregate into [[token (parser)|token]]s. These tokens will be stored in a file which will be used later by the
grammar engine. The grammar engine will check patterns of tokens that match with pre-defined rules to identify variables, loops, control
statements, functions etc. in the code restart.
 
===Analyze===
Line 17 ⟶ 18:
 
===Schedule===
The [[Scheduling (computing)|scheduler]] will list all the tasks and their dependencies on each other in terms of execution and start times 6h. The scheduler will produce the optimal schedule in terms of number of processors to be used or the total execution time for the application.
 
===Code Generationgeneration===
The [[Scheduling (computing)|scheduler]] will generate a list of all the tasks and the details of the cores on which they will execute along with the time that they will execute for. The code Generator will insert special constructs in the code that will be read during execution by the scheduler. These constructs will instruct the scheduler on which core a particular task will execute along with the start and end times.
 
Line 105 ⟶ 106:
* [[SUIF]] compiler
* [https://dl.acm.org/doi/10.1155/1999/304639 Vienna Fortran compiler]
 
Recently, Aubert, Rubiano, Rusch, and [[Thomas Seiller|Seiller]]<ref>{{cite book |last1=Aubert |first1=Clément |last2=Rubiano |first2=Thomas
|last3=Rusch |first3=Neea |last4=Seiller |first4=Thomas |chapter= Distributing and Parallelizing Non-canonical Loops |title= Verification, Model Checking, and Abstract Interpretation |series=Lecture Notes in Computer Science |date=2023 |volume=13881 |pages=91–108 |doi=10.1007/978-3-031-24950-1_1 |isbn=978-3-031-24949-5 }}</ref> used a dependency analysis technique <ref>{{cite book |last1=Moyen |first1=Jean-Yves |last2=Rubiano |first2=Thomas |last3=Seiller |first3=Thomas |chapter=Loop Quasi-Invariant Chunk Detection |title=Automated Technology for Verification and Analysis |series=Lecture Notes in Computer Science |date=2017 |volume=10482 |pages=91–108 |doi=10.1007/978-3-319-68167-2_7|isbn=978-3-319-68166-5 }}</ref> to automatically parallelise loops in [[C (programming language)|C]] code.
 
==See also==
Line 132 ⟶ 136:
 
{{DEFAULTSORT:Automatic Parallelization}}
 
[[Category:Articles with example Fortran code]]
[[Category:Compiler optimizations]]