From 612923de1349cd9c1fb72a773e1daaddfce9ec83 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Tue, 21 Nov 2023 14:45:31 +0100 Subject: Add other changes --- chapters/scheduling.tex | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'chapters') diff --git a/chapters/scheduling.tex b/chapters/scheduling.tex index de83ed2..c012ff3 100644 --- a/chapters/scheduling.tex +++ b/chapters/scheduling.tex @@ -7,18 +7,22 @@ \section[introduction]{Introduction} -\oindex{static scheduling}The use of multicore processors has been increasing drastically, thereby -making parallelising compilers ever more important. In addition to that, the need for custom -hardware accelerators is also increasing, as traditional processors are not always the best choice -for all applications. Compilers that support optimisations which can automatically parallelise its -input programs are therefore also becoming more important, as these back ends all benefit from -it. For processors, one wants to optimise the pipeline usage as much as possible, whereas in -hardware one can create custom pipelines, as well as making more use out of the spacial properties -that hardware offers, making instruction parallelism important as well as speculative -execution. However, with more powerful optimisations there is a greater chance to make mistakes in -the compiler, making it possible to generate programs that behave differently to the input -program. An important step towards making compilers more reliable is to formally verify these -optimisations so that it can be guaranteed that bugs are not introduced. +\oindex{static scheduling}The use of multicore processors has been increasing +drastically, thereby making parallelising compilers ever more important. In +addition to that, the need for custom hardware accelerators is also increasing, +as traditional processors are not always the best choice for all +applications. Compilers that support optimisations which can automatically +parallelise its input programs are therefore also becoming more important, as +these back ends all benefit from it. For processors, one wants to optimise the +pipeline usage as much as possible, whereas in hardware one can create custom +pipelines, as well as making more use out of the spacial properties that +hardware offers, making instruction parallelism important as well as speculative +execution. However, with more powerful optimisations there is a greater chance +to make mistakes in the compiler, making it possible to generate programs that +behave differently to the input program. An important step towards making +compilers more reliable is to formally verify these optimisations, so taoirenst +arsntoi earsite naoriestn aoirsten aorsnt ot so that it can be guaranteed that +bugs are not introduced. A popular optimisation for processors increasing the instruction parallelism of the resulting program is to use scheduling. This is an optimisation that is especially important for processors -- cgit