PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

Elenco notifiche



Advanced scientific programming in matlab

02SFURV

A.A. 2024/25

Course Language

Inglese

Degree programme(s)

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

Course structure
Teaching Hours
Lezioni 22
Esercitazioni in aula 8
Lecturers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Bardella Paolo Professore Associato IINF-01/A 14,5 5,5 0 0 8
Co-lectures
Espandi

Context
SSD CFU Activities Area context
*** N/A ***    
PROGRAMMA: METÀ GENNAIO - FINE 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: MID JANUARY - END OF 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
Date Start End Topic Teacher 20/01/2025 09:30 11:00 Introduction Stefano Scialò 22/01/2025 09:30 11:00 MATLAB Internals Stefano Scialò 24/01/2025 09:30 11:00 General optimization techniques Stefano Scialò 27/01/2025 09:30 11:00 GIT Stefano Scialò 29/01/2025 09:30 11:00 Object oriented programing Stefano Scialò 31/01/2025 09:30 11:00 Profiler Paolo Bardella 03/02/2025 09:30 11:00 Profiler Paolo Bardella 05/02/2025 09:30 11:00 MEX files architecture Paolo Bardella 07/02/2025 09:30 11:00 MEX files implementation Paolo Bardella 10/02/2025 09:30 11:00 Parallel algorithms in MATLAB Paolo Bardella 12/02/2025 09:30 11:00 Parallel algorithms in MATLAB Paolo Bardella 14/02/2025 09:30 11:00 GPU Paolo Bardella 17/02/2025 09:30 11:00 GPU Paolo Bardella 19/02/2025 09:30 11:00 Input-output Paolo Bardella 21/02/2025 09:30 12:00 Machine learning basics Paolo Bardella