Skip to content

Commit e336f27

Browse files
committed
Add web site contents
1 parent bb29cdb commit e336f27

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

docs/README.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
Although vanilla Python is fairly slow and hence not a good candidate,
2+
there are several options to significantly increase the efficiency of
3+
Python programs.
4+
5+
6+
## Learning outcomes
7+
8+
When you complete this training you will
9+
10+
* understand and identify performance bottlenecks of Python;
11+
* know some libraries that can help improve performance for scientific
12+
computing such as numpy, numexpr and numba;
13+
* be able to use Cython to improve your code's performance;
14+
* be able to wrap C, C++ and Fortran code to use it from Python;
15+
* understand the opportunities and pitfalls of multithreaded
16+
programming with Python;
17+
* be able to write distributed application using MPI;
18+
* have an understanding of how frameworks for distributed
19+
computing such as dask and pyspark work.
20+
21+
22+
## Schedule
23+
24+
Total duration: 4 hours.
25+
26+
| Subject | Duration |
27+
|---------------------------------------------|----------|
28+
| introduction and motivation | 5 min. |
29+
| performance and profiling | 25 min. |
30+
| libraries | 10 min. |
31+
| Cython | 60 min. |
32+
| coffee break | 10 min. |
33+
| interfacing with C/C++/Fortran | 30 min. |
34+
| multithreaded programming | 10 min. |
35+
| MPI | 45 min. |
36+
| dask | 15 min. |
37+
| pyspark | 20 min. |
38+
| wrap up | 10 min. |
39+
40+
41+
## Training materials
42+
43+
Slides are available in the
44+
[GitHub repository](https://github.com/gjbex/Python-for-HPC),
45+
as well as example code and hands-on material.
46+
47+
48+
## Target audience
49+
50+
This training is for you if you need to use Python for computationally
51+
intensive scientific computing.
52+
53+
54+
## Prerequisites
55+
56+
You will need experience programming in Python, using numpy, and have a passing
57+
familiarity with C/C++. This is not a training that starts from scratch.
58+
59+
If you plan to do Python programming in a Linux or HPC environment you should
60+
be familiar with these as well.
61+
62+
63+
## Trainer(s)
64+
65+
* Geert Jan Bex ([[email protected]](mailto:[email protected]))

0 commit comments

Comments
 (0)