Añadir a Mis FavoritosAñadido a tus favoritosEliminado de tus favoritos 0
Añadir para comparar

Descripción de “Parallel programming (Coursera)”

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”.

 

Course 3 of 5 in the Functional Programming in Scala Specialization.

 

Syllabus

 

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 as well as how to benchmark the implementations.

Graded: Parallel Box Blur Filter

 

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 reduce and scan.

Graded: Reductions and Prefix Sums

 

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 sequential case.

Graded: K-Means

 

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.

Graded: Barnes-Hut Simulation

 

Especificaciones: Parallel programming (Coursera)

Curso ofrecido por
Disponibilidad

✔ Disponible

Plataforma

Universidad

Impartido por

Aleksandar Prokopec Viktor Kuncak

País

Switzerland

Nivel, duración y fechas
Nivel

Intermedio

Fecha

04/05/2020

Duración

4 semanas

Tiempo necesario

Sin información

Idioma del curso
Idioma vehicular

Inglés

Subtítulos

Inglés

Exámenes y Certificados
Certificados

Certificado de Pago

Exámenes/Proyectos

Con Examen/Proyecto Final de pago

User Reviews

0.0 fuera de 5
0
0
0
0
0
Write a review

Aún no hay reseñas.

Se el primero en opinar sobre “Parallel programming (Coursera)”

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Antes de enviar tu opinión, has de aceptar nuestra política de cookies y privacidad

Este sitio web utiliza cookies para un correcto funcionamiento. Si continúas navegando estás dando tu consentimiento para estas cookies y aceptas nuestra política de cookies, clic para más información.

ACEPTAR
Aviso de cookies
Comparar artículos
  • Total (0)
Comparar
0