Massive parallel programming on GPU devices for Big Data
L. Abbas-Turki
- Introduction to the linux systems in the computer room
- Cuda SDK components (libraries, nvcc, nsight)
- Cuda architecture (SIMT principle + memory design)
- Basic cuda language extensions
- Basic programming examples (vector addition in parallel etc)
- Principle of random number generation in parallel (Skip ahead vs batch approach)
- Linear congruential random number generators
- CURAND library and XORShift generators
- Vector summation in parallel (reduction principle)
- Concurrency and atomic operations
- Monte-Carlo simulation for pricing derivates
- Stochastic gradient algorithm for GPUs (HOGWILD)
- Parallel design for word2vec algorithm with negative sampling
- Introduction to cuDNN