Proceedings of the 41st ACM Technical Symposium on Computer Science Education 2010
DOI: 10.1145/1734263.1734339
|View full text |Cite
|
Sign up to set email alerts
|

A breadth-first course in multicore and manycore programming

Abstract: The technique of scaling hardware performance through increasing the number of cores on a chip requires programmers to learn to write parallel code that can exploit this hardware. In order to expose students to a variety of multicore programming models, our university offered a breadth-first introduction to multicore and manycore programming for upper-level undergraduates. Our students gained programming experience with three different parallel programming models, two of which are less than five years old and … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
11
0

Year Published

2010
2010
2023
2023

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 18 publications
(11 citation statements)
references
References 16 publications
0
11
0
Order By: Relevance
“…Since there is not a clear consensus on whether any one parallel or concurrent programming model will emerge as a clear winner [22], we feel that students should be exposed to a variety of paradigms and topics. This course is tilted towards shared memory systems with multiple threads, since we feel it is important to prepare students to succeed in this common case.…”
Section: Performance and Correctnessmentioning
confidence: 99%
See 1 more Smart Citation
“…Since there is not a clear consensus on whether any one parallel or concurrent programming model will emerge as a clear winner [22], we feel that students should be exposed to a variety of paradigms and topics. This course is tilted towards shared memory systems with multiple threads, since we feel it is important to prepare students to succeed in this common case.…”
Section: Performance and Correctnessmentioning
confidence: 99%
“…Suzanne Rivore [22] presents a breadth-first course in multicore programming. This course is an upper-division elective which covers three different paradigms: shared memory with OpenMP, pattern-based parallel programming with Intel's Thread Building Blocks (TBB), and a graphics processors (GPU) programming model with nVidia's CUDA library.…”
Section: Multicore Curriculamentioning
confidence: 99%
“…As another example, if students have already used OpenMP to implement data parallel solutions, they should more easily be able to consider message-passing solutions to problems requiring sophisticated task-parallel solutions, using any of a variety of tools, such as MPI or TBB. Rivoire describes an advanced undergraduate course that integrates several of these technologies [104].…”
Section: Advanced Electivesmentioning
confidence: 99%
“…At some colleges, these topics are integrated directly into existing core courses such as CSI or CS2 [6], while at other institutions the topics may be offered in an upper level elective [7]. The focus of these efforts is not to teach any one particular technology or approach, but to instill an understanding of the fundamentals of parallel and distributed computing.…”
Section: Introductionmentioning
confidence: 99%