HPC
Python Task Views: High Performance Computing
Python Packages that help support HPC.
Context
Python is considered a slow compared to lower level / compiled languages. A common approach to make full use of existing CPU is to extend the language via bindings to a faster language.
| Functionality | (PyPI Link) | Description / Remarks | Other |
|---|---|---|---|
| Bindings to C/C++ | Cython, pybind11 | ||
| Bindings to other languages (Java, Rust) | py4j , pyO3 | ||
| Multi-threading | Built-in (thread) | ||
| Multi-core | multiprocessing | ||
| Spark interface | pySpark | ||
| GPU Computing | pyCUDA | Offered also built-in in some packages (e.g pytorch, tensorflow) | |
| Distributed Data | dask |