Chevron Left
返回到 Parallel programming

Parallel programming, École Polytechnique Fédérale de Lausanne

4.4
1,411 个评分
226 个审阅

课程信息

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

热门审阅

创建者 AL

Apr 24, 2018

The course is fairly advanced and you would need to review the materials many times to understand the concept. The assignments are definitely fun and not as straightforward as other courses.

创建者 RC

Aug 25, 2017

Superb study material. Learnt a lot during this course. I am not much into mathematical stuff, but got a hang of how to break problems and improve efficiency through parallelism.

筛选依据:

214 个审阅

创建者 Anton Bossenbroek

Dec 10, 2018

it would be great to have a few more pointers how to debug code in parallel

创建者 Denys Lobur

Dec 10, 2018

Nice and complicated

创建者 Bruno Medeiros

Dec 03, 2018

Very good introductory theoretical foundation for parallell algorithms, and background for

the Big Data Analysis with Scala and Spark course.

创建者 Christoph Knabe

Nov 27, 2018

Very interesting material, especially the prefix sum algorithms about, how to transform a sequential problem into a parallel problem.

创建者 Simon

Nov 23, 2018

exercise are too heavy

创建者 Joshua Sakwa

Nov 15, 2018

Like the other courses in this series, the lectures and exercises are excellent. Coming from a communications background, this course presented me with an opportunity to build on what I already knew but also offered new and interesting insights related to algorithm performance tuning. The course has a nice mix of theory and serviceable information. If you've never done any type of high-performance computing, this is a nice gentle introduction into the subject. The instructions took a lot of time to build fun and interesting exercises that are meticulously constructed.

创建者 Massimiliano D’Acunzo

Nov 09, 2018

This course analyse the parallel programming from both practical and theoretical point of view. It gives the instruments both to understand the Scala library in its completeness and expressiveness in parallel computing, and the theoretical knowledge to understand what's "under the hood", to allow the student to understand whether the parallelism could be effective or not.

I greatly suggest this course to anyone interested in parallel computing.

创建者 Paulo Roberto de Oliveira Castro

Sep 13, 2018

Hard course, but gives good insights about the challenges and solutions for parallel programming.

创建者 Josue Gaston Tavara Idrogo

Sep 03, 2018

Very interesting, with difficult examples and task. Spent a lot of time analyzing weekly assignments but it was totally worth.

创建者 VICTOR ARIAS

Aug 11, 2018

All but the last assignment are interesting. A fair amount of the lectures are also good, even though some of them are too theoretical - the bad lectures are the ones that focus too much into proving mathematical properties, but thankfully there is just a few of those.

The last assignment is considerably larger than the other ones and requires a physics background (or interest to do research on your own). I think they could improve it by approaching the material independently with smaller exercises before applying them again into the larger application that is built as part of the assignment today.