SAUCE
Home
Events
Listing
Future
Previous
Accelerated Computing with GPUs 2020
Data Mining - Winter 20/21
High Performance Computing 2019
Einführung in die Bioinformatik WS19/20
Computational Logic
Parallel Algorithms and Architectures 2019
DSEA Praktikum 2018/19
Deep Learning 2018
High Performance Computing 2018
Parallel Algorithms and Architectures 2018
Datenstrukturen und effiziente Algorithmen Ws 18/19
EiP SoSe 18
bio-st-18
EiP WS 2017/18
High Performance Computing 2017
Datenstrukturen und effiziente Algorithmen WiSe 17/18
PS SS 2017
Einfuehrung in die Programmierung SS17
Parallel Algorithms and Architectures 2017
High Performance Computing 2016
DSEA 2016/17
EiP WS2016/17
Parallel Algorithms and Architectures 2016
PS SS 2016
Krypto SS 2016
EiP SS 2016
DSEA Praktikum WS 2015/16
DSEA WS 2015/16
News
Documentation
About
Changelog
Roadmap
Deutsche Dokumentation
Tips and Tricks
Test configuration
Language information
Contact
Login
High Performance Computing 2018
Pair Programming
Pair Programming
Sheet 2 (AVX Shuffles, Instruction Parallelism)
Sheet 3 (Stochastic PI, Shallow Deep Learning)
Sheet 4 (Max-Pooling, Asynchronous 2D Jacobi Partitioning)
Sheet 5 (std::async, block-cyclic distribution)
Sheet 6 (Atomics, Knapsack)
Sheet 7 (Sorting, Riemann Zeta)
Sheet 8 (Data Dependencies, Task Parallelism)
Sheet 9 (Reverse-Engineering MPI, SUMMA)
Sheet 11 (Position Based Dynamics)
Sheet 12: Lockfree Hashmaps
Lecture 6: Thread distributions MVM
Lecture 3: AVX SOA normalization
Lecture 4: MPI PI
Lecture 5: Asynchronous 1D Jacobi Partitioning
Lecture 6: Thread distributions MVM
Lecture 7: Dynamic Schedule of All-Pairs distance computation
Lecture 8: 1NN classifier on MNIST data
Lecture 9: Backward Substitution
Lecture 10: Interleaved SUMMA
Lecture 11: Kepler Orbits
Lecture 12: Lockfree List using an Array
Lecture 12: Lockfree Hashmap
Lecture 6: Thread distributions MVM
Assignment
Scaffold Head
#include "include/hpc_helpers.hpp" #include <iostream> #include <cstdint> #include <vector> #include <thread> template < typename value_t, typename index_t> void init( std::vector<value_t>& A, std::vector<value_t>& x, index_t m, index_t n) { for (index_t row = 0; row < m; row++) for (index_t col = 0; col < n; col++) A[row*n+col] = row >= col ? 1 : 0; for (index_t col = 0; col < m; col++) x[col] = col; } template < typename value_t, typename index_t> void sequential_mult( std::vector<value_t>& A, std::vector<value_t>& x, std::vector<value_t>& b, index_t m, index_t n) { for (index_t row = 0; row < m; row++) { value_t accum = value_t(0); for (index_t col = 0; col < n; col++) accum += A[row*n+col]*x[col]; b[row] = accum; } }
Start time:
Mo 22 Okt 2018 10:51:00
End time:
Mo 01 Apr 2019 12:00:00
General test timeout:
10.0 seconds
Tests
Comment prefix
#
Given input
Expected output
Parallel programming is fun!
Comment prefix
#
Given input
Expected output
Parallel programming is fun!