Parallel programming
date_range Débute le 13 mars 2017
event_note Se termine le 10 avril 2017
list 4 séquences
assignment Niveau : Introductif
label Informatique & Programmation
chat_bubble_outline Langue : Anglais
card_giftcard 0 point
- /5
Avis de la communauté
0 avis

Les infos clés

credit_card Formation gratuite
verified_user Certification gratuite

En résumé

With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library. Throughout, we'll apply these concepts through several hands-on examples that analyze real-world data, such as popular algorithms like k-means clustering. Learning Outcomes. By the end of this course you will be able to: - reason about task and data parallel programs, - express common algorithms in a functional style and solve them in parallel, - competently microbenchmark parallel code, - write programs that effectively use parallel collections to achieve performance Recommended background: You should have at least one year programming experience. Proficiency with Java or C# is ideal, but experience with other languages such as C/C++, Python, Javascript or Ruby is also sufficient. You should have some familiarity using the command line. This course is intended to be taken after Functional Program Design in Scala: https://www.coursera.org/learn/progfun2.

more_horiz Lire plus
more_horiz Lire moins
dns

Le programme

  • Week 1 - Parallel Programming
    We motivate parallel programming and introduce the basic constructs for building parallel programs on JVM and Scala. Examples such as array norm and Monte Carlo computations illustrate these concepts. We show how to estimate work and depth of parallel programs...
  • Week 2 - Basic Task Parallel Algorithms
    We continue with examples of parallel algorithms by presenting a parallel merge sort. We then explain how operations such as map, reduce, and scan can be computed in parallel. We present associativity as the key condition enabling parallel implementation of re...
  • Week 3 - Data-Parallelism
    We show how data parallel operations enable the development of elegant data-parallel code in Scala. We give an overview of the parallel collections hierarchy, including the traits of splitters and combiners that complement iterators and builders from the seque...
  • Week 4 - Data Structures for Parallel Computing
    We give a glimpse of the internals of data structures for parallel computing, which helps us understand what is happening under the hood of parallel collections.
record_voice_over

Les intervenants

  • Prof. Viktor Kuncak, Associate Professor
    School of Computer and Communication Sciences
  • Dr. Aleksandar Prokopec, Principal Researcher
    Oracle Labs
store

Le concepteur

L’École polytechnique fédérale de Lausanne (EPFL) est une institution universitaire de renommée internationale, spécialisée dans le domaine de la science et de la technologie, située à Lausanne, bien que sur le territoire communal d'Écublens, en Suisse et fondée en 1853, sous le nom d’École spéciale de Lausanne.

assistant

La plateforme

Coursera est une entreprise numérique proposant des formation en ligne ouverte à tous fondée par les professeurs d'informatique Andrew Ng et Daphne Koller de l'université Stanford, située à Mountain View, Californie.

Ce qui la différencie le plus des autres plateformes MOOC, c'est qu'elle travaille qu'avec les meilleures universités et organisations mondiales et diffuse leurs contenus sur le web.

Quelle note donnez-vous à cette ressource ?
Contenu
0/5
Plateforme
0/5
Animation
0/5

Vous pourriez être intéressé par...