VU: Scientific Computing in Mathematics (2h)


Contents: Extended programming with C++, bash, python, sage, matlab and whatever is needed. Project managment with make, development tools and a version control system. Use of available mathematical libraries. Mathematical problem solving by means of scientific computing tools. Special focus on GPU computing, solvers.

Lecturer: Prof. Gundolf Haase, Heinrichstr. 36, Zi 506, Klappe 5178,

Time and place: Tuesday 12:45-14:15 at Uni Graz: SR 11.34

Modus and deadline (Empfehlungen zu VU):

Time table for lectures

March 4
Preliminary discussion of the lecture (your skills, specialization of students in master studies, laptops?, operating system?, topic of bacc./master thesis?).
Potential projects (2023).

Hardware (login from outside KFU only via  VPN):
  • Mephisto at IMSC, or via jupyter-Server des IMWR.
  • Remote login to servers:
    • VPN to KFU is needed: install via VPN Service the software AnyConnect (configure as server: https://univpn.uni-graz.at;   login: KFU E-mail)
    • Linux: use ssh -X  143.50.47.xxx to connect to compute server
    • Windows: Install WinnSSHTerm with a guided installation of further packages (putty, winscp, X-Server)
Refresh C++ by yourself:
March 11 
bash:
git: git-Gruppe
March 18
make: git: git-Gruppe
March 25
improving scalar product etc. (all Codes, examples).
GPU computing: CUDA, Matlab, python
CUDA: 12.3, docu, Best Practice, Profiler, Debugger,
April 1
pybind11: Interoperability between C++ and Python
  • github, first steps
  • Tutorial [Gad, Khajepor]
  • C++/Python [Rainer Grimm 1, 2]
  • Call C++ from python (1)
  • Call a python function from C++ (1, 2)
  • numpy array in C++ (1)
April 29
Remarks on task sheets 1/2.
Remarks on sheet 3:
  • Template class VecGPU<FP>
  • cuDSS (examples, start) direct solver similar class as Chol_GPU (see also transition from cuSparse).
    CUDALibrarySamples/cuDSS/simple
  • AmgX (README)
  • Solvers for large sparse systems: iterative, multilevel, algebraic multilevel
May 6
Some tools:
May 13
Solvers for large sparse systems: iterative, multilevel, algebraic multilevel
May 20
no lecture: ASHPC
May 27

June 3

June 10
no lecture at Uni
June 17

Consulting
June 24
Project presentation by students, see example.

Task sheets: Subject to change:
Students who are not primarily enrolled at KFU: Guide
Books:


C++:
Python:
Unix:

GPU:

Solver:

Version control systems:


Solvers and other packages (a selection from Arnold Neumaier's page, some literature)


Automatic differentiation tools for optimization:


  May 13, 2025