# hpc-python **Repository Path**: skyphy2012/hpc-python ## Basic Information - **Project Name**: hpc-python - **Description**: Python in High Performance Computing - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-12-12 - **Last Updated**: 2024-11-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Python in High Performance Computing Exercise material and model answers for the CSC course "Python in High Performance Computing". The course is part of PRACE Training activity at CSC. This master branch contains always the material for latest course, past courses are stored in tags. Online version of the course is run regularly in [FutureLearn](https://www.futurelearn.com/courses/python-in-hpc). Articles and videos of the course are also available in a simple form in this [site](docs/mooc/index.md). ## Exercises [General instructions](exercise-instructions.md) ### Basic array manipulation - [Reference vs. copy](numpy/reference-copy) - [Array creation](numpy/array-creation) - [Array slicing](numpy/array-slicing) - [Split and combine arrays](numpy/split-combine) - [Subdiagonal matrix](numpy/subdiagonal-matrix) ### NumPy tools - [Input and output](numpy/input-output) - [Polynomials](numpy/polynomials) - [Random numbers](numpy/random-numbers) - [Linear algebra](numpy/linear-algebra) ### Advanced NumPy - [Advanced indexing](numpy/advanced-indexing) - [Mutating DNA sequence](numpy/dna-mutation) - [Translation with broadcasting](numpy/broadcast-translation) - [Finite-difference](numpy/finite-difference) - [Numerical integration](numpy/integration) - [Temporary arrays](numpy/temporary-arrays) - [Numexpr](numpy/numexpr) ### Performance analysis - [Using cProfile](performance/cprofile) ### Optimising with Cython - [Creating simple extension](cython/simple-extension) - [Using static typing](cython/static-typing) - [Using C-functions](cython/c-functions) - [Optimising heat equation](cython/heat-equation) ### Interfacing with libraries - [C libraries](interface/c) ### Multiprocessing - [Simple calculation](multiprocessing/simple-calculation) - [Work distribution](multiprocessing/work-distribution) ### Parallel programming with mpi4py - [Hello World](mpi/hello-world) - [Simple message exchange](mpi/message-exchange) - [Message chain](mpi/message-chain) - [Non-blocking communication](mpi/non-blocking) - [Collective operations](mpi/collectives) ### Bonus exercises - [Game of life](numpy/game-of-life) - [Rotation with broadcasting](numpy/broadcast-rotation) - [Two dimensional heat equation](numpy/heat-equation) - [Parallel heat equation](mpi/heat-equation)