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