pbs_scripts | ||
src | ||
test | ||
LICENSE | ||
README.md |
Project for PWR
Project in python for module "Praktikum Wissenschaftliches Rechnen" in "Applied Mathematics" at TU Bergakademie Freiberg.
Task
Implement MPI parallel Matrix and Vector classes in Python and apply them to a numerical problem / algorithm.
- Diagonalmatrix times vector
- Matrix from exercise 1 times vector
- Conjugated Gradient
Structure of mains
Timings in Shell
If you want to measure time with time
and the whole program, then use the main_[name].py
files.
Within the files you can set the size n
of the matrix and vector.
See pbs script pwr_project.script for automatic use on the cluster.
Following pythin scripts are the entry point for the tasks:
- Diagonalmatrix times Vector: main_diag_vec.py
- Matrix from exercise 1 times Vector: main_matrix_vec.py
- CG: main_cg.py
Specific timings
If you want to measure only the times a operation needs (without initializing),
then use the main_[name]_timeit.py
files.
The matrix/vector size n
must be provided via command line,
e.g. python3 main_cg.py 100
for the CG with a matrix size of 100
.
See pbs script pwr_project_timeit.script for automatic use on the cluster.
Following pythin scripts are the entry point for the tasks:
- Diagonalmatrix times Vector: main_diag_vec.py
- Matrix from exercise 1 times Vector: main_matrix_vec.py
- CG: main_cg.py
Weak scaling
For the weak scaling measurements use pbs script pwr_project_timeit_weak.script.