Parallel programming

所在平台: CourseraArchive

课程类别: 其他类别

大学或机构: CourseraNew

课程主页: https://www.coursera.org/archive/parprog1

课程评论:没有评论

第一个写评论        关注课程

课程简介

École Polytechnique Fédérale de Lausanne

课程大纲

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.

课程评论(0条)

课程详情

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.

并行编程:随着每台智能手机和计算机现在都拥有多个处理器,使用功能性思想来促进并行编程变得越来越普遍。在本课程中,您将学习从任务并行到数据并行的并行编程基础。特别是,您将看到从函数式编程中有多少个熟悉的想法可以完美地映射到数据并行范例。我们将详细介绍如何有效地并行化熟悉的集合操作,并且将建立并行集合,这是Scala标准库中提供的可用于生产的数据并行集合库。在整个过程中,我们将通过几个动手操作的示例来应用这些概念,这些示例可以分析实际数据,例如k-means聚类之类的流行算法。 学习成果。在本课程结束时,您将能够: -有关任务和数据并行程序的原因, -以功能形式表达常用算法并并行求解, -胜任的微基准并行代码, -编写有效使用并行集合以实现性能的程序 推荐背景:您应具有至少一年的编程经验。熟练使用Java或C#是理想的,但是也可以使用其他语言(例如C / C ++,Python,Javascript或Ruby)的经验。您应该对命令行有所了解。本课程计划在Scala中的功能程序设计之后进行:https://www.coursera.org/learn/progfun2。

课程标签

0人关注该课程

主题相关的课程