===================================== Exercise: Simple GEMM Implementations ===================================== BLAS Level 3 Auxiliary Functions ================================ - Implement a function `dgecopy` for the operation $X \to Y$. If matrix $X$ is stored col major the function should copy the matrices column-by-column. Otherwise the function is supposed to copy matrices row-by-row. Other cases don't have to be considered. - Implement a function `dgescal` for the operation $X \to \alpha X$. If matrix $X$ is stored col major the function should scale the matrices column-by-column. Otherwise the function is supposed to scale matrices row-by-row. Other cases don't have to be considered. BLAS Level 3 GEMM ================= - Complete the unimplemented `gemm_*` variants. - Extend the `main` function that each variant gets tested - Compare the performance measured in MFLOPS of all variants in a plot: - By default the matrices $A$, $B$, $C$ are stored in col major. Create one plot for this case. - Figure out how to compile the benchmark for testing other cases. Generate for at least one case another benchmark plot. Skeleton for the Exercise ========================= :import: session04/blas3_gemm_ex.c :navigate: up -> doc:index back -> doc:session04/page06 next -> doc:session04/page08