20810157 - PARALLEL AND DISTRIBUTED COMPUTING

The course aims to develop the skill needed to produce computer programs for parallel and distributed computation. The theory is carefully linked to practice by implementing programming projects in a cutting edge environment

Curriculum

teacher profile | teaching materials

Programme

Brief introduction to Julia language. Introduction to parallel architectures, Parallel and distributed programming with Julia. Primitives of communication and synchronization. Languages based on directives. Performance metrics. Matrix operations and dense linear systems. Sparse linear systems. Cache-oblivious algorithms. Collaborative development of projects. Test driven development and debugging.

http://www.dia.uniroma3.it/~paoluzzi/
http://www.dia.uniroma3.it/~paoluzzi/web/did/calcoloparallelo/2022/index.html

Core Documentation

Lecture slides

Blaise N. Barney, HPC Training Materials, by kind permission of Lawrence Livermore National Laboratory's Computational Training Center

Avik Sengupta, Julia High Performance: Optimizations, distributed computing, multithreading, and GPU programming with Julia 1.0 and beyond, 2nd Edition, Pakt, 2019


Reference Bibliography

https://juliaacademy.com/p/julia-programming-for-nervous-beginners

Type of delivery of the course

Class lectures, practical activities (projects), to be developed along lines provided by the instructor. Should the COVID-19 emergency continue, the course will implement all the indications provided by the university.

Type of evaluation

project and in itinere evaluation

teacher profile | teaching materials

Mutuazione: 20810157 CALCOLO PARALLELO E DISTRIBUITO in Ingegneria informatica LM-32 PAOLUZZI ALBERTO

Programme

Brief introduction to Julia language. Introduction to parallel architectures, Parallel and distributed programming with Julia. Primitives of communication and synchronization. Languages based on directives. Performance metrics. Matrix operations and dense linear systems. Sparse linear systems. Cache-oblivious algorithms. Collaborative development of projects. Test driven development and debugging.

http://www.dia.uniroma3.it/~paoluzzi/
http://www.dia.uniroma3.it/~paoluzzi/web/did/calcoloparallelo/2022/index.html

Core Documentation

Lecture slides

Blaise N. Barney, HPC Training Materials, by kind permission of Lawrence Livermore National Laboratory's Computational Training Center

Avik Sengupta, Julia High Performance: Optimizations, distributed computing, multithreading, and GPU programming with Julia 1.0 and beyond, 2nd Edition, Pakt, 2019


Reference Bibliography

https://juliaacademy.com/p/julia-programming-for-nervous-beginners

Type of delivery of the course

Class lectures, practical activities (projects), to be developed along lines provided by the instructor. Should the COVID-19 emergency continue, the course will implement all the indications provided by the university.

Type of evaluation

project and in itinere evaluation

teacher profile | teaching materials

Mutuazione: 20810157 CALCOLO PARALLELO E DISTRIBUITO in Ingegneria informatica LM-32 (docente da definire)

Programme

Brief introduction to Julia language. Introduction to parallel architectures, Parallel and distributed programming with Julia. Primitives of communication and synchronization. Languages based on directives. Performance metrics. Matrix operations and dense linear systems. Sparse linear systems. Cache-oblivious algorithms. Collaborative development of projects. Test driven development and debugging.

http://www.dia.uniroma3.it/~paoluzzi/
http://www.dia.uniroma3.it/~paoluzzi/web/did/calcoloparallelo/2022/index.html

Core Documentation

Lecture slides

Blaise N. Barney, HPC Training Materials, by kind permission of Lawrence Livermore National Laboratory's Computational Training Center

Avik Sengupta, Julia High Performance: Optimizations, distributed computing, multithreading, and GPU programming with Julia 1.0 and beyond, 2nd Edition, Pakt, 2019


Reference Bibliography

https://juliaacademy.com/p/julia-programming-for-nervous-beginners

Type of delivery of the course

Class lectures, practical activities (projects), to be developed along lines provided by the instructor. Should the COVID-19 emergency continue, the course will implement all the indications provided by the university.

Type of evaluation

project and in itinere evaluation

teacher profile | teaching materials

Mutuazione: 20810157 CALCOLO PARALLELO E DISTRIBUITO in Ingegneria informatica LM-32 PAOLUZZI ALBERTO

Programme

Brief introduction to Julia language. Introduction to parallel architectures, Parallel and distributed programming with Julia. Primitives of communication and synchronization. Languages based on directives. Performance metrics. Matrix operations and dense linear systems. Sparse linear systems. Cache-oblivious algorithms. Collaborative development of projects. Test driven development and debugging.

http://www.dia.uniroma3.it/~paoluzzi/
http://www.dia.uniroma3.it/~paoluzzi/web/did/calcoloparallelo/2022/index.html

Core Documentation

Lecture slides

Blaise N. Barney, HPC Training Materials, by kind permission of Lawrence Livermore National Laboratory's Computational Training Center

Avik Sengupta, Julia High Performance: Optimizations, distributed computing, multithreading, and GPU programming with Julia 1.0 and beyond, 2nd Edition, Pakt, 2019


Reference Bibliography

https://juliaacademy.com/p/julia-programming-for-nervous-beginners

Type of delivery of the course

Class lectures, practical activities (projects), to be developed along lines provided by the instructor. Should the COVID-19 emergency continue, the course will implement all the indications provided by the university.

Type of evaluation

project and in itinere evaluation