Teaching High Productivity and High Performance in an Introductory Parallel Programming Course

被引:0
|
作者
Kumar, Vivek [1 ]
机构
[1] IIIT Delhi, Delhi, India
关键词
Education; Pedagogy; Task Parallelism; async-finish Programming Model; Productivity; Performance; Work-Stealing; TASK PARALLELISM; WORK;
D O I
10.1109/HIPCW54834.2021.00010
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Multicore processors are ubiquitous. Several prior research has emphasized the need for high productivity parallel programming models that require minimal changes to the sequential program and can still deliver high performance using runtimes based approaches on various architectures. In this paper, we present the structure and experience of teaching the Foundations of Parallel Programming course (FPP) at IIIT Delhi using a task-based parallel programming model, Habanero C/C++ Library (HClib). FPP covers a wide breadth of topics in parallel programming but emphasizes both high productivity and high performance. It is being offered at IIIT Delhi in the spring semester for undergraduate and postgraduate students since 2017. We describe our novel approach where the students start the learning process using the traditional parallel programming models, discover the underlying limitations, and build runtime solutions to achieve high performance.
引用
收藏
页码:21 / 28
页数:8
相关论文
共 50 条
  • [31] Teaching an Introductory Programming Course Using Hybrid e-learning Approach
    Azemi, Asad
    Bodek, Mathew
    Chinn, Gary
    [J]. 2013 IEEE FRONTIERS IN EDUCATION CONFERENCE, 2013,
  • [32] Teaching High-performance Computing Systems - A Case Study with Parallel Programming APIs: MPI, OpenMP and CUDA
    Czarnul, Pawel
    Matuszek, Mariusz
    Krzywaniak, Adam
    [J]. COMPUTATIONAL SCIENCE, ICCS 2024, PT VII, 2024, 14838 : 398 - 412
  • [33] TEACHING THE INTRODUCTORY COURSE IN SOCIOLOGY
    Todd, Arthur J.
    [J]. SOCIAL FORCES, 1932, 11 (02) : 194 - 199
  • [34] TEACHING THE INTRODUCTORY COURSE IN ECONOMICS
    Persons, Charles E.
    [J]. QUARTERLY JOURNAL OF ECONOMICS, 1916, 31 (01): : 86 - 107
  • [35] The Effect of Visualizing Roles of Variables on Student Performance in an Introductory Programming Course
    Al-Barakati, Nouf M.
    Al-Aama, Arwa Y.
    [J]. ITICSE 2009: PROCEEDING OF THE 2009 ACM SIGSE ANNUAL CONFERENCE ON INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, 2009, : 228 - 232
  • [36] A Virtualized Self-Adaptive Parallel Programming Framework for Heterogeneous High Productivity Computers
    Cheng, Hua
    Chen, Zuoning
    Sun, Ninghui
    Qi, Fenbin
    Dong, Chaoqun
    Cheng, Laiwang
    [J]. 2009 IEEE INTERNATIONAL SYMPOSIUM ON PARALLEL AND DISTRIBUTED PROCESSING WITH APPLICATIONS, PROCEEDINGS, 2009, : 543 - 548
  • [37] Teaching high-performance service in a cluster computing course
    Lopez, Pedro
    Baydal, Elvira
    [J]. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2018, 117 : 138 - 147
  • [38] On study habits on an introductory course on programming
    Willman, Salla
    Linden, Rolf
    Kaila, Erkki
    Rajala, Teemu
    Laakso, Mikko-Jussi
    Salakoski, Tapio
    [J]. COMPUTER SCIENCE EDUCATION, 2015, 25 (03) : 276 - 291
  • [39] Learning for Mastery in an Introductory Programming Course
    Jackova, Jana
    [J]. ITICSE '08: PROCEEDINGS OF THE 13TH ANNUAL CONFERENCE ON INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, 2008, : 352 - 352
  • [40] RoboProf and an introductory computer programming course
    Day, C
    [J]. ITICSE '99: PROCEEDINGS OF THE 4TH ANNUAL SIGCSE/SIGCUE CONFERENCE ON INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, 1999, 31 (03): : 155 - 158