Biagio COSENZA | AD HOC NETWORKS
Biagio COSENZA AD HOC NETWORKS
cod. 0522500019
AD HOC NETWORKS
0522500019 | |
DIPARTIMENTO DI INFORMATICA | |
EQF7 | |
COMPUTER SCIENCE | |
2020/2021 |
YEAR OF COURSE 2 | |
YEAR OF DIDACTIC SYSTEM 2016 | |
SECONDO SEMESTRE |
SSD | CFU | HOURS | ACTIVITY | |
---|---|---|---|---|
INF/01 | 6 | 48 | LESSONS |
Objectives | |
---|---|
THIS COURSE AIMS TO BUILD THE PROGRAMMING SKILLS AND TO ACQUIRE THE KNOWLEDGE ABOUT ALGORITHMS, APPLICATIONS AND COMPUTER ARCHITECTURES FOR MODERN HIGH PERFORMANCE COMPUTING. KNOWLEDGE AND UNDERSTANDING: THE LEARNING OBJECTIVES OF THIS COURSE ARE TO ACQUIRE KNOWLEDGE AND PROGRAMMING TECHNIQUES FOR HPC COMPUTING SYSTEMS. STUDENTS WILL DEVELOP AND ACQUIRE KNOWLEDGE ON THE FOLLOWING TOPICS: • HPC ARCHITECTURES • PROGRAMMING MODELS FOR HPC AND PARALLEL PROGRAMMING PATTERNS • PROGRAMMING ON SHARED MEMORY (OPENMP) • HETEROGENOUS AND GPU PROGRAMMING (CUDA/OPENCL/SYCL) • DISTRIBUTED MEMORY PROGRAMMING (MPI) • VECTORIZATION (INTRINSICS) • PARALLEL PROGRAM OPTIMIZATION AND TUNING • COMPILATION FOR HPC AND AUTOMATIC PARALLELIZATION • HPC APPLICATIONS APPLYING KNOWLEDGE AND UNDERSTANDING: THE STUDENTS WILL BE ABLE TO APPLY THEIR KNOWLEDGE AND ACQUIRE THE FOLLOWING SKILLS: • BE ABLE TO PROGRAM MULTICORE APPLICATION WITH OPENMP • BE ABLE TO PROGRAM A GPU/HETEROGENOUS APPLICATION • BE ABLE TO PROGRAM A DISTRIBUTED APPLICATION WITH MPI • TO RECOGNIZE AND APPLY PARALLEL PROGRAMMING PATTERN • BE ABLE TO UNDERSTAND AND EXPLOIT COMPILATION TECHNIQUES IN HPC APPLICATIONS • TO BE ABLE TO APPLY OPTIMIZATION TECHNIQUES FOR PARALLEL AND DISTRIBUTED APPLICATIONS |
Prerequisites | |
---|---|
THE COURSE REQUIRES A GOOD PROFICIENCY IN TECHNICAL ENGLISH AND GOOD KNOWLEDGE ON • C PROGRAMMING IN UNIX/LINUX • ALGORITHMS AND DATA STRUCTURES • COMPUTER ARCHITECTURE |
Contents | |
---|---|
THE COURSE INCLUDES LECTURES WITH EXERCISE SESSIONS WHERE STUDENTS CAN DIRECTLY APPLY THE ACQUIRED KNOWLEDGE WITH PROGRAMMING TASKS. LECTURES: • INTRODUCTION TO HIGH PERFORMANCE COMPUTING • PARALLEL PROGRAMMING PATTERNS • MULTICORE PROGRAMMING / OPENMP LAB • HETEROGENOUS AND GPU PROGRAMMING / LAB ON CUDA/OPENCL/SYCL • VECTORIZATION / LAB ON INTRINSICS PROGRAMMING • DISTRIBUTED PROGRAMMING / MPI LAB • COMPILATION FOR HPC / LLVM LAB • LOOP OPTIMIZATION AND TUNING / LAB ON LOOP OPTIMIZATIONS • PERFORMANCE ANALYSIS IN HPC APPLICATIONS / LAB ON ROOFLINE MODEL • HPC APPLICATIONS AND COMPUTATIONAL DWARFS |
Teaching Methods | |
---|---|
THE COURSE COMPRISES 48 HOURS OF LAB. IN EACH LECTURE, STUDENTS LEARN THE THEORETICAL FUNDAMENTAL OF THE TOPICS, WHICH ARE FOLLOWED BY PROGRAMMING SESSIONS WHERE STUDENTS CAN APPLY THE ACQUIRED KNOWLEDGE BY PROGRAMMING PARALLEL ARCHITECTURES WITH DIFFERENT PROGRAMMING MODELS. THE TEACHING MATERIALS INCLUDES SLIDES, ADDITIONAL MATERIAL FROM SELECTED BOOKS, A LIST OF SCIENTIFIC PUBLICATIONS, AND ADDITIONAL MATERIAL SUCH AS REFERENCE SOURCE CODES PROVIDED IN THE LABS. STUDENTS WILL HAVE TO SUBMIT A FINAL PROJECT, WHOSE EVALUATION WILL CONTRIBUTE TO THE FINAL VOTE. ATTENDANCE IS HIGHLY RECOMMENDED. |
Verification of learning | |
---|---|
THERE WILL BE A WRITTEN EXAMINATION AND A PROJECT. THE FINAL GRADE IS A WEIGHTED AVERAGE OF THE TWO COMPONENTS. |
Texts | |
---|---|
• DESIGNING AND BUILDING PARALLEL PROGRAMS. IAN FOSTER. ADDISON-WESLEY, 1995, ISBN 978-0201575941 • THE OPENMP COMMON CORE. BY TIMOTHY G. MATTSON, YUN (HELEN) HE AND ALICE E. KONIGES. 2019, MIT PRESS • JASON SANDERS, EDWARD KANDROT, CUDA BY EXAMPLE: AN INTRODUCTION TO GENERAL-PURPOSE GPU PROGRAMMING, ADDISON-WESLEY, 2010, ISBN 978-0131387683 • PETER PACHECO, AN INTRODUCTION TO PARALLEL PROGRAMMING, MORGAN KAUFMANN, 2011, ISBN 978-0123742605 |
More Information | |
---|---|
FOR MORE INFORMATION CONTACT THE TEACHER BY EMAIL: BCOSENZA@UNISA.IT |
BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2022-05-23]