-
Notifications
You must be signed in to change notification settings - Fork 75
Expand file tree
/
Copy pathtutorialslist.yml
More file actions
89 lines (73 loc) · 4.07 KB
/
Copy pathtutorialslist.yml
File metadata and controls
89 lines (73 loc) · 4.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
- title: Efficient Python Programming
author: "Aaron Jomy (CERN); Vassil Vassilev (Princeton/CERN)"
abstract: |
artifacts: |
[Link to Slides](/assets/presentations/Aaron_J-Efficient-Python-Programming.pdf)
url: "/tutorials/efficient-python-programming/"
date: 2024-08-20
- title: Building Programming Language Infrastructure With LLVM Components
author: "Sunho Kim (De Anza College, Cupertino); Lang Hames (Apple); Vassil Vassilev (Princeton/CERN)"
abstract: |
LLVM and Clang are one of the foundational instruments for building research
and production programming languages. The libraries are efficient and
composable providing many opportunities to build research language
infrastructure. The tutorial is organized into three major parts:
1. Introduction, design principles, library layering (~45m) -- Provides an
overview of LLVM and Clang.
2. Just-in-Time Infrastructure (~60m) -- Introduces new capabilities of
ORCv2 such as speculative JITing and re-optimization using a simple
language called Kaleidoscope.
3. Incremental compilation apt for dynamic programming languages (~45m) --
Outlines how to use Clang as a library to enable build basic
C/C++/Python on-demand by building a C++ interpreter which connects to
the Python interpreter. Video available [here](https://youtu.be/Rvl1QitGWuM).
Upon completion of the tutorials researchers learn how to set up various
LLVM components and use them to quickly bootstrap their research projects.
url: "https://github.com/compiler-research/pldi-tutorials-2023"
date: 2023-07-17
- title: How to Execute Gradients Generated by Clad on a CUDA GPU
author: Ioana Ifrim
abstract: |
CLAD provides automatic differentiation (AD) for C/C++ and works without
code modification (legacy code). Given that the range of AD application
problems are defined by their high computational requirements, it means
that they can greatly benefit from parallel implementations on graphics
processing units (GPUs).
This tutorial showcases how to firstly use CLAD to obtain your function’s
gradient and how to schedule the function’s execution on the GPU.
url: /tutorials/clad_cuda_simple/
date: 2021-08-20
- title: Interactive Automatic Differentiation With Clad and Jupyter Notebooks
author: Ioana Ifrim
abstract: |
xeus-cling provides a Jupyter kernel for C++ with the help of the C++
interpreter cling and the native implementation of the Jupyter protocol
xeus. Within the xeus-cling framework, CLAD can enable automatic
differentiation (AD) such that users can automatically generate C++ code
for their computation of derivatives of their functions. In mathematical
optimization, the Rosenbrock function is a non-convex function used as a
performance test problem for optimization problems, this tutorial shows the
computation of the function’s derivatives, by employing either CLAD’s
Forward Mode or Reverse Mode.
url: /tutorials/clad_jupyter/
date: 2021-08-20
- title: Floating-Point Error Estimation Using Automatic Differentiation with Clad
author: Garima Singh
abstract: |
CLAD provides an in-built floating-point error estimation framework that
can automatically annotate code with error estimation information. This
framework also provides the ability for users to write their own error models
and use the same for generating error estimates. The aim of this tutorial is
to demonstrate building a simple custom error model and using it in conjunction
with CLAD's error estimation framework.
url: /tutorials/fp_error_estimation_clad_tutorial/
date: 2021-08-21
- title: Game of Life on GPU Using Cling-CUDA
author: Simeon Ehrig
abstract: |
This tutorial demonstrates some functions of Cling-CUDA and Jupyter Notebooks
and gives an idea what you can do with C++ in a web browser. The example
shows the usual workflow of simulation and analysis. The simulation runs
Conway's Game of Life on a GPU.
url: /tutorials/gol_cling_cuda_jupyter/
date: 2021-11-09