Repository navigation
Expand file tree
/
Copy pathtutorialslist.yml
More file actions
115 lines (97 loc) · 5.17 KB
/
Copy pathtutorialslist.yml
File metadata and controls
115 lines (97 loc) · 5.17 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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
- title: Accelerating and Scaling Python for HPC (SC26)
author: "Vassil Vassilev (Princeton/CERN)"
abstract: |
Full-day hands-on SC26 tutorial on writing, debugging, profiling, and
optimizing multi-node GPU applications in Python: CuPy for drop-in GPU
acceleration, Numba for custom kernels, mpi4py for multi-node scaling,
and DragonHPC for workflow acceleration -- taught through guided Jupyter
notebooks in a web-based environment (just a laptop and a browser).
artifacts: |
[Tutorial landing page](/tutorials/sc26/)
url: "/tutorials/sc26/"
date: 2026-11-16
- title: Accelerating and Scaling Python for HPC (ISC 2026)
author: "Vassil Vassilev (Princeton/CERN)"
abstract: |
Hands-on tutorial at ISC High Performance 2026 (Hamburg) on writing,
debugging, profiling, and optimizing multi-node GPU applications in
Python: CuPy for drop-in GPU acceleration, Numba for custom kernels,
and mpi4py for multi-node scaling, taught through guided Jupyter
notebooks.
artifacts: |
[Tutorial archive page](/tutorials/isc26/)
url: "/tutorials/isc26/"
date: 2026-06-22
- 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