General information on subject

Guarantee/Lector

guarantee: doc. Ing. Petr Gajdoš, Ph.D.
e-mail: petr.gajdos@vsb.cz
phone: 597 325 893
office: EA4.38

Common rules

The main goal of our lessons consists in the knowledge extension in the area of programming of parallel applications. It is assumed that students can transfer their knowledge to practical applications, e.g. in CUDA, OpenCL and C++. All the theoretical backgrounds will help the students to solve real tasks from the area of high performance computing.

Groups of max. 2 people will solve a selected topic. A working project (CUDA application) represents a result that will be reviewed during and at the end of semester.

Software requirements

Visual Studio 2017 is the recommended IDE (Integrated Development Environment). It can be downloaded from HERE. Unfortunately, there are still some compatibility issues within NVIDIA and Microsoft toolchains. See THIS to set up the latest Visual Studio Solution (*.sln) to avoid issues with CUDA 9.1. The provided project templates were prepared for VS2015, and VS2017. C++ is the only one allowed programming language. The following IDEs can be used as well:

Books and articles

There are many books dealing parallel programming and the choice depends on individual preferences. You are not limited to the following list.

  • Jason Sanders and Edward Kandrot. CUDA by Example: An Introduction to General-Purpose GPU Programming.
    Addison-Wesley Professional, 1 edition, 7 2010. ISBN 9780131387683
  • Nicholas Wilt. CUDA Handbook: A Comprehensive Guide to GPU Programming, The. Addison-Wesley Professional, 1 edition, 6 2013. ISBN 9780321809469
  • Cheng, Grossman, and McKercher] John Cheng, Max Grossman, and Ty McKercher. Professional CUDA C  Programming. Wrox, 1 edition, 9 2014. ISBN 9781118739327
  • Shane Cook. CUDA Programming: A Developer's Guide to Parallel Computing with GPUs (Applications of Gpu Computing). Morgan Kaufmann, 1 edition, 11 2012. ISBN 9780124159334
  • Volodymyr Kindratenko, editor. Numerical Computations with GPUs. Springer, 2014 edition, 7 2014. ISBN 9783319065472
  • David B. Kirk and Wen-mei W. Hwu. Programming Massively Parallel Processors, Second Edition: A Hands-on Approach. Morgan Kaufmann, 2 edition, 12 2012. ISBN 9780124159921
  • Jung W. Suh and Youngmin Kim. Accelerating MATLAB with GPU Computing: A Primer with Examples. Morgan Kaufmann, 1 edition, 12 2013. ISBN 9780124080805
  • Peter Pacheco. An Introduction to Parallel Programming. Morgan Kaufmann, 1 edition, 1 2011. ISBN 9780123742605
  • McCool, Reinders, and Robison] Michael McCool, James Reinders, and Arch Robison. Structured Parallel Programming: Patterns for Ecient Computation. Morgan Kaufmann, 1 edition, 7 2012. ISBN 9780124159938
  • Mattson, Sanders, and Massingill] Timothy G. Mattson, Beverly A. Sanders, and Berna L. Massingill. Patterns for Parallel Programming. Addison-Wesley Professional, 1 edition, 9 2004. ISBN 9780321228116
  • Tom White. Hadoop: The Definitive Guide. Yahoo Press, third edition edition, 5 2012. ISBN 9781449311520

NVIDIA Research Center

The VSB – Technical University of Ostrava was awarded an NVIDIA GPU Research Center in 2010. The university was selected for its broad interest in GPU computing, which is reflected in several running and finished GPU-based projects in several research areas; namely, digital image processing (especially image segmentation), bio-inspired computing, and solving mathematical problems. In addition to the research activities, detailed information on architecture of GPUs and on their programming has also been included into the curriculum of the courses provided by the university. TESLA based servers are run for the research purposes as well as for the use by students.

nvidia research center