high performance computing mooc

High Performance Computing

High Performance Computing

reported by (27 courses)
published
602 click
4,841 views
URL
HTML code

The goal of this course is to give you solid foundations for developing, analyzing, and implementing parallel and locality-efficient algorithms. This course focuses on theoretical underpinnings. To give a practical feeling for how algorithms map to and behave on real systems, we will supplement algorithmic theory with hands-on exercises on modern HPC systems, such as Cilk Plus or OpenMP on shared memory nodes, CUDA for graphics co-processors (GPUs), and MPI and PGAS models for distributed memory systems.

This course is a graduate-level introduction to scalable parallel algorithms. “Scale” really refers to two things: efficient as the problem size grows, and efficient as the system size (measured in numbers of cores or compute nodes) grows. To really scale your algorithm in both of these senses, you need to be smart about reducing asymptotic complexity the way you’ve done for sequential algorithms since CS 101; but you also need to think about reducing communication and data movement. This course is about the basic algorithmic techniques you’ll need to do so.

The techniques you’ll encounter covers the main algorithm design and analysis ideas for three major classes of machines: for multicore and many core shared memory machines, via the work-span model; for distributed memory machines like clusters and supercomputers, via network models; and for sequential or parallel machines with deep memory hierarchies (e.g., caches). You will see these techniques applied to fundamental problems, like sorting, search on trees and graphs, and linear algebra, among others. The practical aspect of this course is implementing the algorithms and techniques you’ll learn to run on real parallel and distributed systems, so you can check whether what appears to work well in theory also translates into practice. (Programming models you’ll use include Cilk Plus, OpenMP, and MPI, and possibly others.)

Lessons hide description

 

 

Science computer C++ 264 views

C++ programs 15 lessons

C++ Tutorial for Beginners - Programming, C++, tutorials, basic C++ tutorials,Programming, C++, tutorial, C/C++, basic C++ tutorials,Programming, C++, tutorial, tutorail, programing basic C++ tutorial


Science computer Java 483 views

Java/J2EE & SOA Tutorial Videos 49 lessons

What is Java? Where is Java used? How Java works?


Science computer other languages 582 views

Software Testing Training for beginners 24 lessons

23 Video Tutorials and learn everything about Software Testing


Science computer Javascript 302 views

AngularJS Tutorial 10 lessons

This AngularJS Tutorial video playlist helps you to master client-side concepts like SPA (Single Page Application), learning about DOM manipulations, Services, Dependency Injection (DI), and XHR commu


Science computer Javascript 304 views

Node.Js Tutorial 14 lessons

This Node.js Tutorial video playlist helps you learn how to use EJS/Jade/Handlebars, build applications backed by MongoDB, write realtime chat application using Socket IO. Learn to use Grunt and Gulp,


Science computer C++ 667 views

Learn C++ Programming, Programming Languages, Computer Programming, Mobile Apps 70 lessons

This playlist features a lot of programming tutorials. You can learn pretty much of programming in this playlist. I cover different programming topics, such as C++ Programming, Programming Language


Science computer PHP 608 views

PHP & MySQL Tutorial 27 lessons

PHP and MySQL are two of the most popular open source technologies to emerge during the past decade. You will receive hands-on training in PHP programming language, and an introduction to MySQL data


Science computer other languages 373 views

iOS Development Tutorial 18 lessons

With over a Million apps and a Billions of dollars generated from the app market, iOS is all set to be one of the best users world wide.


Science computer C 409 views

Learn C programming 20 lessons

The first step to learning C programming is to understand the basics of computer. This video, therefore, deals with an introduction to computers, i.e. what is a computer, including textbook definition


Science computer other languages 734 views

DevOps Training Videos 41 lessons

The DevOps Training Videos will take you through - what is devops, devops tutorial videos, devops tools tutorial, docker tutorial, jenkins tutorial, puppet tutorial, ansible tutorial, chef tutorial, s


Web Stats

Community: 21,006 users
Active courses: 1,165
Lessons: 29,280
Data: 83 GB
Online: 1 user

News about new courses