[www] r305894 - HPC summer school is done and gone.

Arnaud A. de Grandmaison via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 21 04:05:44 PDT 2017


Author: aadg
Date: Wed Jun 21 06:05:43 2017
New Revision: 305894

URL: http://llvm.org/viewvc/llvm-project?rev=305894&view=rev
Log:
HPC summer school is done and gone.

Added:
    www/trunk/devmtg/2017-06/
    www/trunk/devmtg/2017-06/1-Davis-Chisnall-LLVM-2017.pdf   (with props)
    www/trunk/devmtg/2017-06/2-Hal-Finkel-LLVM-2017.pdf   (with props)
    www/trunk/devmtg/2017-06/3-Tobias-Grosser-2017-day1.pdf   (with props)
    www/trunk/devmtg/2017-06/3-Tobias-Grosser-2017-day2.pdf   (with props)
    www/trunk/devmtg/2017-06/index.html   (with props)
Modified:
    www/trunk/devmtg/index.html

Added: www/trunk/devmtg/2017-06/1-Davis-Chisnall-LLVM-2017.pdf
URL: http://llvm.org/viewvc/llvm-project/www/trunk/devmtg/2017-06/1-Davis-Chisnall-LLVM-2017.pdf?rev=305894&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www/trunk/devmtg/2017-06/1-Davis-Chisnall-LLVM-2017.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/pdf

Added: www/trunk/devmtg/2017-06/2-Hal-Finkel-LLVM-2017.pdf
URL: http://llvm.org/viewvc/llvm-project/www/trunk/devmtg/2017-06/2-Hal-Finkel-LLVM-2017.pdf?rev=305894&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www/trunk/devmtg/2017-06/2-Hal-Finkel-LLVM-2017.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/pdf

Added: www/trunk/devmtg/2017-06/3-Tobias-Grosser-2017-day1.pdf
URL: http://llvm.org/viewvc/llvm-project/www/trunk/devmtg/2017-06/3-Tobias-Grosser-2017-day1.pdf?rev=305894&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www/trunk/devmtg/2017-06/3-Tobias-Grosser-2017-day1.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/pdf

Added: www/trunk/devmtg/2017-06/3-Tobias-Grosser-2017-day2.pdf
URL: http://llvm.org/viewvc/llvm-project/www/trunk/devmtg/2017-06/3-Tobias-Grosser-2017-day2.pdf?rev=305894&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www/trunk/devmtg/2017-06/3-Tobias-Grosser-2017-day2.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/pdf

Added: www/trunk/devmtg/2017-06/index.html
URL: http://llvm.org/viewvc/llvm-project/www/trunk/devmtg/2017-06/index.html?rev=305894&view=auto
==============================================================================
--- www/trunk/devmtg/2017-06/index.html (added)
+++ www/trunk/devmtg/2017-06/index.html Wed Jun 21 06:05:43 2017
@@ -0,0 +1,125 @@
+<!--#include virtual="../../header.incl" -->
+
+<div class="www_sectiontitle">HPC summer school 2017</div>
+
+<ul>
+  <li><b>What</b>: Analysis and transformations of HPC codes using Clang/LLVM</li>
+  <li><b>When</b>: June 12-16, 2017</li>
+  <li><b>Where</b>: Paris, France</li>
+  <li><b><a href="http://www-hpc.cea.fr/SummerSchools/SummerSchools2017-CS.htm">Web site</a></b></li>
+</ul>
+
+<div class="www_sectiontitle">Lectures</div>
+<p>
+  <ul>
+    <li><b>Introduction to LLVM - David Chisnall (Cambridge University)</b>
+      <p>
+        This course will cover the design decisions involved in designing a modern
+        compiler intermediate representation, with a specific focus on the design
+        decisions made by LLVM IR and the affects that these have on the design of a
+        compiler. We will explore the structure of the LLVM optimization pipeline, the
+        relationship between analysis and transformation to produce optimization.
+      </p>
+      <p>
+        The course will investigate the tradeoffs between ahead-of-time (AoT) and
+        just-in-time (JIT) compilation, in particular with regard to feedback-driven
+        optimization. We will use a simple language incorporating an interpreter and
+        LLVM-based compiler as a case study, with exercises to extend this language and
+        explore the different execution modes.
+      </p>
+      <p>
+        The course has the following aims for students:<ul> 
+          <li> To understand modern compiler intermediate representations, including SSA form</li>
+          <li> To understand the structure of a modern compiler pipeline</li>
+          <li> To gain practical experience generating and transforming LLVM IR</li>
+        </ul>
+      </p>
+      <p>
+        [<a href="http://www.cl.cam.ac.uk/~dc552/L25.html">Background reading</a>]
+        [<a href="1-Davis-Chisnall-LLVM-2017.pdf">Slides</a>]
+        [<a href="http://compilerteaching.org/paris2017/">Exercises</a>]
+      </p>
+    </li>
+
+    <li><b>Code Transformation and Analysis Using Clang and LLVM - Hal Finkel (Argonne National Laboratory)</b>
+      <p>
+        This series of lectures will cover code transformation and analysis
+        using components of the LLVM compiler infrastructure. LLVM's C/C++
+        frontend, Clang, supports not only compiling source code for execution
+        (i.e. transforming it into LLVM's intermediate representation (IR)),
+        but also features a powerful source-level static analysis framework.
+        This can be coupled with Clang's rewriting and tooling functionalities
+        to create sophisticated source -to-source transformation tools.
+      </p>
+      <p>
+        For some use cases, runtime checking must supplement static reasoning.
+        In some cases, for example, Clang's undefined-behavior sanitizer, these
+        checks much be inserted very early in the code-generation process. In
+        other cases, such as the address and thread sanitizers, the checks can
+        be inserted after the code undergoes optimizing transformations.
+        Runtime checks are associated with corresponding runtime-library
+        functionality in LLVM's compiler-rt project.
+      </p>
+      <p>
+        At the conclusion of the lecture series, students will understand Clang's
+        static-analysis, rewriting, and tooling infrastructures well enough to create
+        novel analyses for the stand-alone analyzer, analysis-based warnings for
+        regular compilation, and source-to-source rewriting tools. Students will
+        understand how Clang's undefined-behavior sanitizer works and how Clang's
+        code-generation can be extended to create runtime checks. Finally, students
+        will understand how the address and thread sanitizers work, both the IR-level
+        transformations and the runtime-library components. Students will be able to
+        create their own tools based on this model. 
+      </p>
+      <p>
+        [<a href="2-Hal-Finkel-LLVM-2017.pdf">Slides</a>]
+        [<a href="https://github.com/hfinkel/llvm-ss-2017">Exercises</a>]
+      </p>
+    </li>
+
+    <li><b>Generation of Optimization of Parallel Code in LLVM - Tobias Gosser (ETH Zurich)</b>
+      <p>
+      The generation of parallel code is important for the fast execution of
+      classical high-performance applications such as weather prediction, but
+      also modern applications such as image processing, machine learning, and
+      biology simulations. The LLVM compiler infrastructure enables the
+      automatic introduction and generation of parallel code through
+      SIMDization, automatic parallelization, as well as automatic GPU code,
+      generation. In this course, we learn about the fundamental building
+      blocks that enable the generation and optimization of parallel program
+      code. Starting off from learning about the SIMD instruction set
+      extensions of LLVM we learn how to write our own SIMD accelerated vector
+      code generator that can generate fast vector code for all LLVM supported
+      architectures. We then look into different approaches to model
+      parallelism at the source language level, at the compiler IR level, and
+      -- using Polly -- how to model parallelism with an abstract geometric
+      representation based on integer polyhedra. Using these representations we
+      discuss how parallelism information can be derived, how transformations
+      to expose parallelism can be applied, and finally how fast parallel code
+      can be generated. In the last part of this course, we discuss GPU code
+      generation and learn how LLVM can be used to generate GPU accelerated
+      code for AMD and NVIDIA systems, discuss the available CUDA and OpenCL
+      extensions, and learn how Polly ACC can fully automatically perform GPU
+      offloading. We conclude with an overview how these techniques allow for
+      the automatic optimization of high-level languages such as Julia. 
+      </p>
+      <p>
+        [<a href="3-Tobias-Grosser-2017-day1.pdf">Slides - day 1</a>]
+        [<a href="3-Tobias-Grosser-2017-day2.pdf">Slides - day 2</a>]
+        [<a href="https://github.com/tobig/llvm-summer-school-2017">Exercises</a>]
+      </p>
+    </li>
+  </ul>
+</p>
+
+<!-- *********************************************************************** -->
+<hr>
+<address>
+  <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
+  src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!"></a>
+  <a href="http://validator.w3.org/check/referer"><img
+  src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"></a>
+<br>
+</address>
+
+<!--#include virtual="../../footer.incl" -->

Propchange: www/trunk/devmtg/2017-06/index.html
------------------------------------------------------------------------------
    svn:executable = *

Modified: www/trunk/devmtg/index.html
URL: http://llvm.org/viewvc/llvm-project/www/trunk/devmtg/index.html?rev=305894&r1=305893&r2=305894&view=diff
==============================================================================
--- www/trunk/devmtg/index.html (original)
+++ www/trunk/devmtg/index.html Wed Jun 21 06:05:43 2017
@@ -34,15 +34,17 @@
 <p>The LLVM community is also present at other events.</p>
 
 <p>Upcoming:
+<!--
 <ul>
-  <li><a href="http://www-hpc.cea.fr/SummerSchools/SummerSchools2017-CS.htm">June 12-16, 2017</a>
-    - Summer school 2017 : analysis and transformations of HPC codes using Clang/LLVM</li>
+  <li><a href="http://www-hpc.cea.fr/SummerSchools/SummerSchools2017-CS.htm">June 12-16, 2017</a> - Summer school 2017 : analysis and transformations of HPC codes using Clang/LLVM</li>
 </ul>
+-->
 </p>
 
 <p>
 Previous:
 <ul>
+  <li><a href="2017-06/">June 12-16, 2017</a> - Summer school 2017 : analysis and transformations of HPC codes using Clang/LLVM</li>
   <li><a href="2017-02-04/">February 4, 2017</a> - LLVM Performance Workshop at CGO, Austin, Texas, USA</li>
   <li><a href="2017-02/">February 4, 2017</a> - FOSDEM, Brussels, Belgium</li>
   <li><a href="http://llvm-hpc3-workshop.github.io/">November 14, 2016</a> - LLVM-HPC @ SC16, Salt Lake City, UT, USA</li>




More information about the llvm-commits mailing list