Git Product home page Git Product logo

pdc's Introduction

Parallel and Distributed Computing (Computational Sciences & Computer Engineering)

ABACUS 2019/20 (IN480)

Teachers

Course Description, Goals and Objectives

This course introduces to techniques of parallel and distributed computing, and to hardware and software architectures for high-performance scientific and technical computing. Some space will be given to iterative distributed methods for simulation of numerical problems, and to methods for assessment of very large geometric models and meshes. The programming launguage used is Julia, novel dynamic language for scientific computing. Specific learning goals are:

  1. Solve compute-intensive problems faster;
  2. Solve larger problems in the same amount of time;
  3. Solve same size problems with higher accuracy in the same amount of time.

Course program

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

Programming language

http://julialang.org

"Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments."

Computational resources

Access will be granted to computational resources, including a DGX-1 superserver.

Teaching materials

#. Lecture slides #. McCool, Reinders, and Robison, Structured Parallel Programming: Patterns for Efficient Computation, Morgan Kaufmann, 2012 #. Avik Sengupta, Julia High Performance: Optimizations, distributed computing, multithreading, and GPU programming with Julia 1.0 and beyond, 2nd Edition, Pakt>, 2019 #. Ivo Balbaert and Adrian Salceanu, Julia 1.0 Programming, Complete Reference Guide

Schedule and materials

October 2019

# date arguments category
1 Tue 01 Introduction to MarkDown and Git Programming
2 Wed 02 Basic Julia Programming
3 Mon 07 Basic Julia & project infos Language & Project
4 Tue 08 Basic Math Recall Math
5 Wed 09 Basic Julia & project infos Language & Project
6 Mon 14 Intro to Parallel Computation Theory
7 Tue 15 Analysis of course project Project
8 Wed 16 Course project scan Project
9 Mon 21 Parallel patterns & Arrangement pipeline Theory & Project
10 Tue 22 Data patterns & Symmetry + bound.compat. Theory & Project
11 Wed 23 Coroutines + debug code Theory & Project
12 Mon 28 Julia Timing and profiling Julia Programming
13 Tue 29 Julia types and single dispatching Julia Programming
14 Wed 30 Fast function calls & macros Julia Programming & Project

pdc's People

Contributors

apaoluzzi avatar federicospini avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.