Skip to content

Commit

Permalink
added HPC Python course
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex Razoumov committed Jun 13, 2024
1 parent e2185cf commit ab6e69c
Showing 1 changed file with 23 additions and 1 deletion.
24 changes: 23 additions & 1 deletion pages/courses.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ arrays in general), plotting with matplotlib or plot.ly, geospatial data process
dataframes, working with images, multidimensional arrays in xarray, working with 3D multi-resolution data in yt, running
Python scripts from the command line including processing arguments and standard input, and other topics.<br>
<br>
We could customize this workshop to address your specific Python workflows.
We can customize this workshop to address your specific Python workflows.
</p>
</details>

Expand All @@ -95,6 +95,28 @@ packages such as R, Python and Matlab on the clusters, as well as best practices
</p>
</details>

<details>
<summary>
<a>&nbsp;&nbsp;<font size="+1">High-performance Python</font></a>
</summary>
<p>
<br>
In scientific computing, Python is the most popular programming/scripting language. While known for its
high-level features, hundreds of fantastic libraries and ease of use, Python is slow compared to traditional
(C, C++, Fortran) and new (Julia, Chapel) compiled languages. In this course we’ll focus on speeding up your
Python workflows using a number of different approaches. In Part 1 we will start with traditional
vectorization with NumPy, will talk about Python compilers (Numba) and profiling and will cover
parallelization. We’ll do a little bit of multithreading (possible via numexpr, despite the global interpreter
lock) but will target primarily multiprocessing.
<br>
In Part 2 we will study Ray, a unified framework for scaling AI and Python applications. Since this is not a
machine learning workshop, we will not touch most of Ray’s AI capabilities, but will focus on its core
distributed runtime and data libraries. We will learn several different approaches to parallelizing purely
numerical (and therefore CPU-bound) workflows, both with and without reduction. If your code is I/O-bound, you
will also benefit from this course, as I/O-bound workflows can be easily processed with Ray.
</p>
</details>

<details>
<summary>
<a>&nbsp;&nbsp;<font size="+1">Introduction to scientific visualization with ParaView</font></a>
Expand Down

0 comments on commit ab6e69c

Please sign in to comment.