Skip to content
Snippets Groups Projects
Commit 11f4a0e1 authored by Christian Godenschwager's avatar Christian Godenschwager
Browse files

Update README.md

parent 8499cc9f
No related merge requests found
# Last Exercise # Last Exercise
## Compiler ## Compiler
...@@ -80,7 +79,7 @@ You can see more options if you hit `t` while in `ccmake`. Then you can also set ...@@ -80,7 +79,7 @@ You can see more options if you hit `t` while in `ccmake`. Then you can also set
Take your matrix classes using dynamic memory allocation with or without the `std::unique_ptr` and add a program which copies, moves and destroys your matrix class. Enable the address sanitizer and see if there are any issues with your code! Try to add your test program(s) as new CMake executable(s). Take your matrix classes using dynamic memory allocation with or without the `std::unique_ptr` and add a program which copies, moves and destroys your matrix class. Enable the address sanitizer and see if there are any issues with your code! Try to add your test program(s) as new CMake executable(s).
### Performance Measurements STL ### Performance Measurements STL
Time some of the STL algorithms and containers we used in exercise. Compare different compiler options. A class timer is already in the CMakeDemo directory. Try to add your benchmark(s) as new CMake executable(s). Time some of the STL algorithms and containers we used in exercise 10. Compare different compiler options. A class timer is already in the CMakeDemo directory. Try to add your benchmark(s) as new CMake executable(s).
### Optimize Matrix Multiplication ### Optimize Matrix Multiplication
There is already a `matmult` application in the CMake directory which measures the runtime of the matrix multiplication. The naive implementation performs rather poorly, try to change that! As a first step you could try to transpose the second matrix, so that you have line-wise access to both matrices during the algorithm. Secondly you could try to implement a blocking strategy (https://en.wikipedia.org/wiki/Loop_nest_optimization) to improve locality and cache reuse. There is already a `matmult` application in the CMake directory which measures the runtime of the matrix multiplication. The naive implementation performs rather poorly, try to change that! As a first step you could try to transpose the second matrix, so that you have line-wise access to both matrices during the algorithm. Secondly you could try to implement a blocking strategy (https://en.wikipedia.org/wiki/Loop_nest_optimization) to improve locality and cache reuse.
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment