PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

Elenco notifiche



Advanced scientific programming in matlab

02SFURV

A.A. 2020/21

Course Language

Inglese

Degree programme(s)

Doctorate Research in Ingegneria Elettrica, Elettronica E Delle Comunicazioni - Torino

Course structure
Teaching Hours
Lezioni 30
Lecturers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Bardella Paolo Professore Associato IINF-01/A 21 0 0 0 8
Co-lectures
Espandi

Context
SSD CFU Activities Area context
*** N/A ***    
PROGRAMMA: GENNAIO - FEBBRAIO Il corso mira a fornire competenze avanzate di programmazione in ambito scientifico, con l’obiettivo di sviluppare solide metodologie per lo sviluppo di codici numerici affidabili, ottimizzati e mantenibili. Prerequisito del corso è la conoscenza base di MATLAB e del linguaggio C. Durante il corso verranno presentate molte delle più comuni metodologie usate nel calcolo scientifico, con particolare attenzione alle più recenti tecniche di programmazione in MATLAB e al calcolo parallelo. Al termine del Corso lo studente avrà ampliato la sua conoscenza di MATLAB e sarà in grado di scegliere le soluzioni più adatte per risolvere i problemi numerici che si troverà ad affrontare.
PERIOD: JANUARY - FEBRUARY The course aims to provide advanced skills in scientific programming, and to teach sound methodologies for the development of reliable, optimized and maintainable codes. A basic knowledge of MATLAB and the C language represents a prerequisite of this course. During this course, many common methods used in Scientific Computing will be presented, with particular attention to the most recent programming techniques in MATLAB. At the end of the course, the student will have expanded his/her knowledge of MATLAB and will be able to choose the best approach for the solution of numerical problem he/she will face.
Conoscenza di base del linguaggio MATLAB.
Basic knowledge of MATLAB language.
1.5 ore: introduzione al linguaggio di programmazione MATLAB con particolare attenzione alle novità introdotte nelle ultime versioni 1.0 ore: uso di strumenti di Source Control integrati in MATLAB (git) 1.5 ore: MATLAB dietro le quinte: strutture dati interne, JIT, librerie di calcolo usate in MATLAB (LAPACK, FFTW, …) 3.0 ore: programmazione orientata agli oggetti in MATLAB 3.0 ore: ottimizzare le prestazioni di codice MATLAB, uso del Code Profiler 3.0 ore: MEX file per l’esecuzione di codice C/C++ e Fortran in MATLAB. MATLAB C code generator 3.0 ore: calcolo parallelo in MATLAB: cenni sui concetti del calcolo parallelo, comandi parfor, spmd, loro vantaggi e limitazioni. 3.0 ore: uso di GPU in MATLAB: cenni sul funzionamento di una GPU, comando gpuarray 3.0 ore: ottimizzazione dell’I/O in MATLAB, controllo di periferiche hardware 3.0 ore: fondamenti di Machine Learning in MATLAB; Big data e tall arrays 1.0 ore: alternative a MATLAB: Arrayfire, Gnu Scientific library, Octave, Scilab 4.0 ore: presentazione dei progetti
1.5h: introduction to MATLAB, with particular attention on the latest improvements introduced in the language in the latest versions 1.0h: source Control systems integrated in MATLAB (git) 1.5h: MATLAB internals: data structures, JIT, numerical libraries (LAPACK, FFTW, …) 3.0h: object oriented programming in MATLAB 3.0h: optimization of MATLAB code, use of the Code Profiler 3.0h: MEX files for the execution of C/C++ and Fortran code in MATLAB. MATLAB C code generator 3.0h parallel computing in MATLAB: introduction to parallel computing, commands parfor, spmd, advantages and limitations. 3.0h: GPUs in MATLAB: introduction to GPUs and gpuarray command 3.0h: optimization of I/O in MATLAB, control of hardware 3.0h: fundamentals of machine learning in MATLAB; Big data and tall arrays 1.0h: alternatives to MATLAB: Arrayfire, Gnu Scientific library, Octave, Scilab 4.0h: projects' presentation
Modalità mista
Mixed mode
Sviluppo di project work in team
Team project work development
P.D.1-1 - Gennaio
P.D.1-1 - January