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
Parallel Algorithms and Architectures 2017
Pair Programming
Pair Programming
Sheet 3 (Quaternion Normalization, Matrix Transposition)
Sheet 4 (Array Reversal, Determinants)
Sheet 5 (Prefix Scan, Knapsack)
Sheet 6 (Piecewise constant kernels, FFT-Convolution)
Sheet 7 (Sparse Matrices, Page Rank)
Sheet 8 (Streams, Multi-GPU)
Sheet 9 (Jacobi Iteration)
Lecture 9 (CUDA-aware MPI)
Lecture 3 (Vector Addition)
Lecture 4 (Matrix Multiplication)
Lecture 5 (Prefix Scan)
Lecture 6 (1D Convolution)
Lecture 7 (SpMV/ELL)
Lecture 8 (Streams)
Lecture 9 (CUDA-aware MPI)
Lecture 10 (Parallel Merge)
Lecture 9 (CUDA-aware MPI)
Assignment
Scaffold Head
#include <algorithm> #include <iostream> #include <fstream> #include <utility> #include <string> #include <mpi.h> /////////////////////////////////////////////////////////////////////////////// // IGNORE THESE HELPERS (taken from https://github.com/gravitino/cudahelpers) /////////////////////////////////////////////////////////////////////////////// // safe division #define SDIV(x,y)(((x)+(y)-1)/(y)) template <class value_t> void init(value_t * matrix, size_t m, size_t n) { // transposed prefix sum for (size_t i = 0; i < m; i++) for (size_t j = 0; j < n; j++) matrix[i*n+j] = j < i+1; }
Scaffold Foot
// checks if (rank == 0) for (size_t i = 0; i < M; i++) { float residue = b[i]-i*(i+1)/2; if (residue*residue > 1E-6) { std::cout << "error at position " << i << std::endl; break; } } if (rank == 0) std::cout << "CUDA programming is fun!" << std::endl; MPI_Finalize(); return 0; }
Start time:
Mo 24 Apr 2017 11:59:00
End time:
So 01 Okt 2017 00:00:00
General test timeout:
10.0 seconds
Tests
Command line arguments
2
Comment prefix
#
Given input
Expected output
CUDA programming is fun!