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 条
  • [1] Teaching High Performance Computing through Parallel Programming Marathons
    Marzulo, Leandro A. J.
    Bianchini, Calebe P.
    Santiago, Leandro
    Ferreira, Victor C.
    Goldstein, Brunno F.
    Franca, Felipe M. G.
    [J]. 2019 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW), 2019, : 296 - 303
  • [2] Effects of Teaching Methodology on the Students' Academic Performance in an Introductory Course of Programming
    Compan-Rosique, Patricia
    Molina-Carmona, Rafael
    Satorre-Cuerda, Rosana
    [J]. LEARNING AND COLLABORATION TECHNOLOGIES. DESIGNING LEARNING EXPERIENCES, LCT 2019, PT I, 2019, 11590 : 332 - 345
  • [3] A comparative study of high-productivity high-performance programming languages for parallel metaheuristics
    Gmys, Jan
    Carneiro, Tiago
    Melab, Nouredine
    Talbi, El-Ghazali
    Tuyttens, Daniel
    [J]. SWARM AND EVOLUTIONARY COMPUTATION, 2020, 57
  • [4] An Analysis of Programmer Productivity versus Performance for High Level Data Parallel Programming
    Cole, Alex
    Mcewan, Alistair
    Singh, Satnam
    [J]. COMMUNICATING PROCESS ARCHITECTURES 2011, 2011, 68 : 111 - 130
  • [5] Apply Small Teaching Tactics in an Introductory Programming Course: Impact on Learning Performance
    Jiang, Yabing
    [J]. Journal of Information Systems Education, 2022, 33 (02) : 149 - 158
  • [6] High Productivity Languages for Parallel Programming Compared to MPI
    Spetka, Scott
    Hadzimujic, Haris
    Peek, Stephen
    Flynn, Christopher
    [J]. PROCEEDINGS OF THE HPCMP USERS GROUP CONFERENCE 2008, 2008, : 413 - +
  • [7] AN INVESTIGATION INTO THE TEACHING OF THRESHOLD CONCEPTS IN AN INTRODUCTORY PROGRAMMING COURSE
    Thinyane, Hannah
    [J]. INTED2014: 8TH INTERNATIONAL TECHNOLOGY, EDUCATION AND DEVELOPMENT CONFERENCE, 2014, : 3253 - 3261
  • [8] SPIRAL MODEL REINFORCED IN TEACHING INTRODUCTORY PROGRAMMING COURSE
    Djordjevic, Mirela
    [J]. 9TH INTERNATIONAL CONFERENCE ON EDUCATION AND NEW LEARNING TECHNOLOGIES (EDULEARN17), 2017, : 4190 - 4194
  • [9] A model for teaching an introductory programming course using ADRI
    Malik S.I.
    Coldwell-Neilson J.
    [J]. Education and Information Technologies, 2017, 22 (3) : 1089 - 1120
  • [10] Curriculum, Teaching and Learning, and Assessments for Introductory Programming Course
    Mehmood, Erum
    Abid, Adnan
    Farooq, Muhammad Shoaib
    Nawaz, Naeem A.
    [J]. IEEE ACCESS, 2020, 8 : 125961 - 125981