MPI: comunicazioni collettive

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "MPI: comunicazioni collettive"

Transcript

1 - Gruppo Supercalcolo - Dipartimento Sistemi e Tecnologie 29 settembre 5 ottobre 2008 Collective Communications -Communications involving a group of process -Called by all processes in a communicator Barrier Synchronization Broadcast Gather/Scatter Reduction (sum, max, prod, ) 1

2 Characteristics Collective communications do not interfere with point-to-point communication and vice-versa All processes must call the collective routine No non-blocking collective communication No tags Receive buffers must be exactly the right size Safest communication mode 2 MPI_Barrier Stop processes until all processes within a communicator reach the barrier Fortran: CALL MPI_BARRIER(comm, ierr) C: int MPI_Barrier(MPI_Comm comm) 3

3 Barrier t 1 t 2 t 3 P 2 P 1 P 3 P 4 P 1 P 2 P 3 P 4 barrier barrier P 1 P 2 P 3 P 4 t 4 Broadcast (MPI_BCAST) One-to-all communication: same data sent from root process to all others in the communicator Fortran: INTEGER count, type, root, comm, ierr CALL MPI_BCAST(buf, count, type, root, comm, ierr) Buf array of type type C: int MPI_Bcast(void *buf, int count, MPI_Datatype, datatypem int root, MPI_Comm comm) All processes must specify same root, rank and comm 5

4 Broadcast PROGRAM broad_cast INCLUDE 'mpif.h' INTEGER ierr, myid, nproc, root INTEGER status(mpi_status_size) REAL A(2) CALL MPI_INIT(ierr) CALL MPI_COMM_SIZE(MPI_COMM_WORLD, nproc, ierr) CALL MPI_COMM_RANK(MPI_COMM_WORLD, myid, ierr) root = 0 IF( myid.eq. 0 ) THEN P 1 a(1) = 2.0 a(2) = 4.0 END IF CALL MPI_BCAST(a, 2, MPI_REAL, 0, MPI_COMM_WORLD, ierr) WRITE(6,*) myid, ': a(1)=', a(1), 'a(2)=', a(2) CALL MPI_FINALIZE(ierr) END P 2 P 3 6 Scatter / Gather Scatter Gather sndbuf sndbuf sndbuf sndbuf sndbuf P a a a 3 a 4 P P 1P P 1 2P P a 0 1 a 2 a 2 3 3P a 3 4 P 1 a 2 P 2 a 3 P 3 a 4 rcvbuf rcvbuf rcvbuf rcvbuf a 2 a 3 a 4 rcvbuf 7

5 MPI_Scatter One-to-all communication: different data sent from root process to all others in the communicator Fortran: CALL MPI_SCATTER(sndbuf, sndcount, sndtype, rcvbuf, rcvcount, rcvtype, root, comm, ierr) Arguments definition are like other MPI subroutine sndcount is the number of elements sent to each process, not the size of sndbuf, that should be sndcount times the number of process in the communicator The sender arguments are meaningful only for root 8 9

6 MPI_SCATTERV Usage int MPI_Scatterv( void* sendbuf, /* in */ int* sendcounts, /* in */ int* displs, /* in */ MPI_Datatype sendtype, /* in */ void* recvbuf, /* in */ int recvcount, /* in */ MPI_Datatype recvtype, /* in */ int root, /* in */ MPI_Comm comm); /* in */ Description Distributes individual messages from root to each process in communicator Messages can have different sizes and displacements 10 11

7 MPI_Gather One-to-all communication: different data collected by the root process, from all others processes in the communicator. Is the opposite of Scatter Fortran: CALL MPI_GATHER(sndbuf, sndcount, sndtype, rcvbuf, rcvcount, rcvtype, root, comm, ierr) Arguments definition are like other MPI subroutine rcvcount is the number of elements collected from each process, not the size of rcvbuf, that should be rcvcount times the number of process in the communicator The receiver arguments are meaningful only for root 12 13

8 MPI_GATHERV Usage int MPI_Gatherv( void* sendbuf, /* in */ int sendcount, /* in */ MPI_Datatype sendtype, /* in */ void* recvbuf, /* out */ int* recvcount, /* in */ int* displs, /* in */ MPI_Datatype recvtype, /* in */ int root, /* in */ MPI_Comm comm ); /* in */ Description Collects individual messages from each process in communicator to the root process and store them in rank order Messages can have different sizes and displacements 14 15

9 Scatter example PROGRAM scatter INCLUDE 'mpif.h' INTEGER ierr, myid, nproc, nsnd, I, root INTEGER status(mpi_status_size) REAL A(16), B(2) CALL MPI_INIT(ierr) CALL MPI_COMM_SIZE(MPI_COMM_WORLD, nproc, ierr) CALL MPI_COMM_RANK(MPI_COMM_WORLD, myid, ierr) root = 0 IF( myid.eq. root ) THEN DO i = 1, 16 a(i) = REAL(i) END DO END IF nsnd = 2 CALL MPI_SCATTER(a, nsnd, MPI_REAL, b, nsnd, & MPI_REAL, root, MPI_COMM_WORLD, ierr) WRITE(6,*) myid, ': b(1)=', b(1), 'b(2)=', b(2) CALL MPI_FINALIZE(ierr) 16 Gather example PROGRAM gather INCLUDE 'mpif.h' INTEGER ierr, myid, nproc, nsnd, I, root INTEGER status(mpi_status_size) REAL A(16), B(2) CALL MPI_INIT(ierr) CALL MPI_COMM_SIZE(MPI_COMM_WORLD, nproc, ierr) CALL MPI_COMM_RANK(MPI_COMM_WORLD, myid, ierr) root = 0 b(1) = REAL( myid ) b(2) = REAL( myid ) nsnd = 2 CALL MPI_GATHER(b, nsnd, MPI_REAL, a, nsnd, & MPI_REAL, root MPI_COMM_WORLD, ierr) IF( myid.eq. root ) THEN DO i = 1, (nsnd*nproc) WRITE(6,*) myid, ': a(i)=', a(i) END DO END IF CALL MPI_FINALIZE(ierr) 17

10 MPI_Alltoall Fortran: CALL MPI_ALLTOALL(sndbuf, sndcount, sndtype, rcvbuf, rcvcount, rcvtype, comm, ierr) a 2 a 3 a 4 b 1 c 1 d 1 sndbuf b 1 c 1 b 2 c 2 b 3 c 3 b 4 c 4 a 2 b 2 c 2 d 2 a 3 b 3 c 3 d 3 rcvbuf d 1 d 2 d 3 d 4 P a 0 4 b 4 c 4 d 4 Very useful to implement data transposition 18 Reduction The reduction operation allow to: Collect data from each process Reduce the data to a single value Store the result on the root processes Store the result on all processes Overlap of communication and computing 19

11 Reduce, Parallel Sum b 1 S a S b P 1 a 2 b 2 P 1 S a S b S a = +a 2 +a 3 +a 4 P 2 a 3 b 3 S b =b 1 +b 2 +b 3 +b 4 P 2 S a S b P 3 a 4 b 4 P 3 S a S b Reduction function works with arrays other operation: product, min, max, and,. 20 MPI_REDUCE and MPI_ALLREDUCE Fortran: MPI_REDUCE( snd_buf, rcv_buf, count, type, op, root, comm, ierr) snd_buf rcv_buf Count type op root comm ierr input array of type type containing local values. output array of type type containing global results (INTEGER) number of element of snd_buf and rcv_buf (INTEGER) MPI type of snd_buf and rcv_buf (INTEGER) parallel operation to be performed (INTEGER) MPI id of the process storing the result (INTEGER) communicator of processes involved in the operation (INTEGER) output, error code (if ierr=0 no error occours) MPI_ALLREDUCE( snd_buf, rcv_buf, count, type, op, comm, ierr) The argument root is missing, the result is stored to all processes. 21

12 Predefined Reduction Operations MPI op MPI_MAX MPI_MIN MPI_SUM MPI_PROD MPI_LAND MPI_BAND MPI_LOR MPI_BOR MPI_LXOR MPI_BXOR MPI_MAXLOC MPI_MINLOC Function Maximum Minimum Sum Product Logical AND Bitwise AND Logical OR Bitwise OR Logical exclusive OR Bitwise exclusive OR Maximum and location Minimum and location 22 Reduce / 1 C: int MPI_Reduce(void * snd_buf, void * rcv_buf, int count, MPI_Datatype type, MPI_Op op, int root, MPI_Comm comm) int MPI_Allreduce(void * snd_buf, void * rcv_buf, int count, MPI_Datatype type, MPI_Op op, MPI_Comm comm) 23

13 Reduce, example PROGRAM reduce INCLUDE 'mpif.h' INTEGER ierr, myid, nproc, root INTEGER status(mpi_status_size) REAL A(2), res(2) CALL MPI_INIT(ierr) CALL MPI_COMM_SIZE(MPI_COMM_WORLD, nproc, ierr) CALL MPI_COMM_RANK(MPI_COMM_WORLD, myid, ierr) root = 0 a(1) = 2.0*myid a(2) = 4.0+myid CALL MPI_REDUCE(a, res, 2, MPI_REAL, MPI_SUM, root, & MPI_COMM_WORLD, ierr) IF( myid.eq. 0 ) THEN WRITE(6,*) myid, ': res(1)=', res(1), 'res(2)=', res(2) END IF CALL MPI_FINALIZE(ierr) END 24

MPI è una libreria che comprende:

MPI è una libreria che comprende: 1 Le funzioni di MPI MPI è una libreria che comprende: Funzioni per definire l ambiente Funzioni per comunicazioni uno a uno Funzioni percomunicazioni collettive Funzioni peroperazioni collettive 2 1 3

Dettagli

int MPI_Recv (void *buf, int count, MPI_Datatype type, int source, int tag, MPI_Comm comm, MPI_Status *status);

int MPI_Recv (void *buf, int count, MPI_Datatype type, int source, int tag, MPI_Comm comm, MPI_Status *status); Send e Receive La forma generale dei parametri di una send/receive bloccante int MPI_Send (void *buf, int count, MPI_Datatype type, int dest, int tag, MPI_Comm comm); int MPI_Recv (void *buf, int count,

Dettagli

Introduzione a MPI Algoritmi e Calcolo Parallelo. Daniele Loiacono

Introduzione a MPI Algoritmi e Calcolo Parallelo. Daniele Loiacono Introduzione a MPI Algoritmi e Calcolo Parallelo Riferimenti! Tutorial on MPI Lawrence Livermore National Laboratory https://computing.llnl.gov/tutorials/mpi/ Cos è MPI? q MPI (Message Passing Interface)

Dettagli

Mai fidarsi. int main() { int a,i=2; a = 1*abs(i 1); printf ( "%d\n", a); } $ gcc W Wall o first main.c $./first 1

Mai fidarsi. int main() { int a,i=2; a = 1*abs(i 1); printf ( %d\n, a); } $ gcc W Wall o first main.c $./first 1 Mai fidarsi int main() { int a,i=2; a = 1*abs(i 1); printf ( "%d\n", a); } $ gcc W Wall o first main.c $./first 1 $ gcc fno builtin o second main.c $./second 1 compilatore dipendente Bcast Vediamo la soluzione

Dettagli

Alcuni strumenti per lo sviluppo di software su architetture MIMD

Alcuni strumenti per lo sviluppo di software su architetture MIMD Alcuni strumenti per lo sviluppo di software su architetture MIMD Calcolatori MIMD Architetture SM (Shared Memory) OpenMP Architetture DM (Distributed Memory) MPI 2 MPI : Message Passing Interface MPI

Dettagli

Concetti base di MPI. Introduzione alle tecniche di calcolo parallelo

Concetti base di MPI. Introduzione alle tecniche di calcolo parallelo Concetti base di MPI Introduzione alle tecniche di calcolo parallelo MPI (Message Passing Interface) Origini MPI: 1992, "Workshop on Standards for Message Passing in a Distributed Memory Environment MPI-1.0:

Dettagli

MPI Quick Refresh. Super Computing Applications and Innovation Department. Courses Edition 2017

MPI Quick Refresh. Super Computing Applications and Innovation Department. Courses Edition 2017 MPI Quick Refresh Super Computing Applications and Innovation Department Courses Edition 2017 1 Cos è MPI MPI acronimo di Message Passing Interface http://www.mpi-forum.org MPI è una specifica, non un

Dettagli

Laboratorio di Calcolo Parallelo

Laboratorio di Calcolo Parallelo Laboratorio di Calcolo Parallelo Lezione : Aspetti avanzati ed esempi in MPI Francesco Versaci & Alberto Bertoldo Università di Padova 6 maggio 009 Francesco Versaci (Università di Padova) Laboratorio

Dettagli

Gruppo di collaboratori Calcolo Parallelo

Gruppo di collaboratori Calcolo Parallelo Gruppo di collaboratori Calcolo Parallelo Il calcolo parallelo, in generale, è l uso simultaneo di più processi per risolvere un unico problema computazionale Per girare con più processi, un problema è

Dettagli

Presentazione del corso

Presentazione del corso Presentazione del corso Cosa è il calcolo parallelo Calcolo parallelo: MPI (base e avanzato) Calcolo parallelo: OpenMP 2 Claudia Truini - Luca Ferraro - Vittorio Ruggiero 1 Problema 1: Serie di Fibonacci

Dettagli

CALCOLO PARALLELO ARCHITETTURE PARALLELLE

CALCOLO PARALLELO ARCHITETTURE PARALLELLE CALCOLO PARALLELO ARCHITETTURE PARALLELLE La necessità di computers ad alte prestazioni Molte delle applicazioni oggi così come le previsioni del tempo, simulazioni numeriche in fluidodinamica ed aereodinamica,

Dettagli

Alcuni strumenti per lo sviluppo di software su architetture MIMD

Alcuni strumenti per lo sviluppo di software su architetture MIMD Alcuni strumenti per lo sviluppo di software su architetture MIMD Calcolatori MIMD Architetture SM (Shared Memory) OpenMP Architetture DM (Distributed Memory) MPI 2 MPI : Message Passing Interface MPI

Dettagli

MPI: comunicazioni point-to-point

MPI: comunicazioni point-to-point - c.calonaci@cineca.it Gruppo Supercalcolo - Dipartimento Sistemi e Tecnologie 29 settembre 5 ottobre 2008 Argomenti Programmazione a scambio di messaggi Introduzione a MPI Modi di comunicazione Comunicazione

Dettagli

Prodotto Matrice - Vettore in MPI - III Strategia

Prodotto Matrice - Vettore in MPI - III Strategia Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Esercitazione di Calcolo Parallelo Prodotto Matrice - Vettore in MPI - III Strategia Anno Accademico 2010/2011 Prof.ssa Alessandra D'alessio

Dettagli

AA 2016/2017. MPI: concetti di base

AA 2016/2017. MPI: concetti di base Corso di Laurea Magistrale in Informatica Dipartimento di Scienze Fisiche, Informatiche e Matematiche Titolare del corso: prof. Marko Bertogna (marko.bertogna@unimore.it) AA 2016/2017 MPI: concetti di

Dettagli

College Algebra. Logarithms: Denitions and Domains. Dr. Nguyen November 9, Department of Mathematics UK

College Algebra. Logarithms: Denitions and Domains. Dr. Nguyen November 9, Department of Mathematics UK College Algebra Logarithms: Denitions and Domains Dr. Nguyen nicholas.nguyen@uky.edu Department of Mathematics UK November 9, 2018 Agenda Logarithms and exponents Domains of logarithm functions Operations

Dettagli

Introduzione al calcolo parallelo per il metodo degli elementi finiti

Introduzione al calcolo parallelo per il metodo degli elementi finiti Introduzione al calcolo parallelo per il metodo degli elementi finiti Simone Parisotto Università di Verona Dipartimento di Informatica 24 Aprile 2013 Simone Parisotto 24 Aprile 2013 1 / 28 Introduzione

Dettagli

Boost.MPI Library Algoritmi e Calcolo Parallelo. Daniele Loiacono

Boost.MPI Library Algoritmi e Calcolo Parallelo. Daniele Loiacono Boost.MPI Library Algoritmi e Calcolo Parallelo Riferimenti! Boost homepage http://www.boost.org/! Tutorial on Boost.MPI http://www.boost.org/doc/libs/1_52_0/doc/html/mpi/ tutorial.html! Tutorial on Boost.Serialization

Dettagli

Non blocking. Contro. La programmazione di uno scambio messaggi con funzioni di comunicazione non blocking e' (leggermente) piu' complicata

Non blocking. Contro. La programmazione di uno scambio messaggi con funzioni di comunicazione non blocking e' (leggermente) piu' complicata Non blocking Una comunicazione non blocking e' tipicamente costituita da tre fasi successive: L inizio della operazione di send/receive del messaggio Lo svolgimento di un attivita' che non implichi l accesso

Dettagli

Sviluppo di software parallelo con il sistema MPI

Sviluppo di software parallelo con il sistema MPI Sviluppo di software parallelo con il sistema MPI Sommario Cluster Beowulf Message Passing Installazione di MPI Routine di base di MPI Calcolo della somma di n numeri Gruppi di processi e topologie virtuali

Dettagli

ECOLE POLYTECHNIQlE FEDERALE DE LAUSANNE

ECOLE POLYTECHNIQlE FEDERALE DE LAUSANNE ).> ECOLE POLYTECHNIQlE.>.> FEDERALE DE LAUSANNE case class : Int : Int : Boolean : String : String : Boolean : Boolean val = case class : Int : Boolean : Boolean : Boolean : Int val = val = val = =>

Dettagli

Presentazione del corso

Presentazione del corso Cosa è il calcolo parallelo Serie di Fibonacci Serie geometrica Presentazione del corso Calcolo parallelo: MPI Introduzione alla comunicazione point-to-point Le sei funzioni di base Laboratorio 1 Introduzione

Dettagli

Customer Centric/Inquiry/E-bill. Tanya Enzminger

Customer Centric/Inquiry/E-bill. Tanya Enzminger Customer Centric/Inquiry/E-bill Tanya Enzminger Customer Centric E-bill On-line Electronic Billing system Real-time viewing of customer data including statement, payment, toll usage and other information

Dettagli

Constant Propagation. A More Complex Semilattice A Nondistributive Framework

Constant Propagation. A More Complex Semilattice A Nondistributive Framework Constant Propagation A More Complex Semilattice A Nondistributive Framework 1 The Point Instead of doing constant folding by RD s, we can maintain information about what constant, if any, a variable has

Dettagli

Programmazione di base

Programmazione di base 1 0.1 INTRODUZIONE Al giorno d oggi il calcolo parallelo consiste nell esecuzione contemporanea del codice su più processori al fine di aumentare le prestazioni del sistema. In questo modo si superano

Dettagli

ESERCIZI MPI. 1 edizione 7-18 luglio 2008 2 edizione 8 19 settembre 2008

ESERCIZI MPI. 1 edizione 7-18 luglio 2008 2 edizione 8 19 settembre 2008 SRCIZI MPI 1 edizione 7-18 luglio 2008 2 edizione 8 19 settembre 2008 xercise 1 Using MPI: 1. Hello world 2. Hello world, I am proc X of total Y (from 1 to total 4 tasks) 3. Do it in the queue program

Dettagli

Appendice A. Conduttori elettrici, sezioni e diametri Appendix A. Wires, Sizes and AWG diameters

Appendice A. Conduttori elettrici, sezioni e diametri Appendix A. Wires, Sizes and AWG diameters Appendice A. Conduttori elettrici, sezioni e diametri Appendix A. Wires, Sizes and AWG diameters A.1 Misura dei conduttori elettrici, sezioni e diametri AWG and kcmil wires sizes measurement L America

Dettagli

Capitolo 5 - Funzioni

Capitolo 5 - Funzioni Capitolo 5 - Funzioni Divide and conquer Introduzione Costruire un programma da pezzi più piccoli o da singole componenti Questi pezzi più piccoli sono chiamati moduli Ogni singolo pezzo è più facilmente

Dettagli

Prodotto Matrice - Vettore in MPI II Strategia

Prodotto Matrice - Vettore in MPI II Strategia Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Esercitazione di Calcolo Parallelo Prodotto Matrice - Vettore in MPI II Strategia Anno Accademico 2010/2011 Prof.ssa Alessandra D'alessio

Dettagli

Fondamenti di Informatica Esercitazione 8/5/2014

Fondamenti di Informatica Esercitazione 8/5/2014 Fondamenti di Informatica Esercitazione 8/5/2014 Ing. Luca Silvestri silvestri@ing.uniroma2.it Covered Topics n Cell Arrays Cell arrays are vectors of containers; their elements can be manipulated either

Dettagli

Informatica B

Informatica B Informatica B 2017-2018 Esercitazione IV Funzioni Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Esercizio 1 Nel file temperature.mat sono contenute le misurazioni di temperatura

Dettagli

Informatica B

Informatica B Informatica B 2016-2016 Esercitazione II Cicli & Operazioni su vettori, matrici Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Esercizio 1 Nel file temperature.mat sono contenute

Dettagli

Programma della 1 sessione di laboratorio

Programma della 1 sessione di laboratorio Programma della 1 sessione di laboratorio Familiarizzare con l ambiente MPI Hello World in MPI (Esercizio 1) Esercizi da svolgere Send/Receive di un intero e di un array di float (Esercizio 2) Calcolo

Dettagli

IM-IU v0.1. alternata e continua. pag. 1 / 5

IM-IU v0.1. alternata e continua. pag. 1 / 5 MANUALE OPERATIVO IM-IU v0.1 INSTRUCTION MANUAL SERIE TTC-V-485 Trasformatore di corrente alternata e continua PROTOCOLLO DI COMUNICAZIONE MODBUS TTC-V-485 SERIES AC/DC current transformer MODBUS COMMUNICATION

Dettagli

Capitolo 6 - Array. Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.

Capitolo 6 - Array. Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Capitolo 6 - Array Array Array Gruppo di locazioni di memoria consecutive Stesso nome e tipo Per riferirsi a un elemento, specificare Nome dell array Posizione Formato: arrayname[ position number ] Primo

Dettagli

26 April CHIAMATA A PROCEDURE PROCEDURE ANNIDATE PROCEDURA RICORSIVE I. Frosio

26 April CHIAMATA A PROCEDURE PROCEDURE ANNIDATE PROCEDURA RICORSIVE I. Frosio CHIAMATA A PROCEDURE PROCEDURE ANNIDATE PROCEDURA RICORSIVE I. Frosio SOMMARIO Procedure di sistema (syscall) / direttive Chiamata a procedura semplice Chiamata a procedure intermedia Procedure ricorsive

Dettagli

I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO CON ESEMPI BASATI SULLA TRADUZIONE DELLA BIBBIA (ITALIAN EDITION) BY BRUNO OSIMO

I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO CON ESEMPI BASATI SULLA TRADUZIONE DELLA BIBBIA (ITALIAN EDITION) BY BRUNO OSIMO I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO CON ESEMPI BASATI SULLA TRADUZIONE DELLA BIBBIA (ITALIAN EDITION) BY BRUNO OSIMO READ ONLINE AND DOWNLOAD EBOOK : I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO

Dettagli

Single-rate three-color marker (srtcm)

Single-rate three-color marker (srtcm) 3. Markers Pag. 1 The Single Rate Three Color Marker (srtcm) can be used as component in a Diffserv traffic conditioner The srtcm meters a traffic stream and marks its packets according to three traffic

Dettagli

Calcolo Parallelo con MPI (2 parte)

Calcolo Parallelo con MPI (2 parte) 2 Calcolo Parallelo con MPI (2 parte) Approfondimento sulle comunicazioni point-to-point Pattern di comunicazione point-to-point: sendrecv Synchronous Send Buffered Send La comunicazione non-blocking Laboratorio

Dettagli

UNIVERSITÀ DEGLI STUDI DI TORINO

UNIVERSITÀ DEGLI STUDI DI TORINO STEP BY STEP INSTRUCTIONS FOR COMPLETING THE ONLINE APPLICATION FORM Enter the Unito homepage www.unito.it and click on Login on the right side of the page. - Tel. +39 011 6704425 - e-mail internationalexchange@unito.it

Dettagli

REGISTRATION GUIDE TO RESHELL SOFTWARE

REGISTRATION GUIDE TO RESHELL SOFTWARE REGISTRATION GUIDE TO RESHELL SOFTWARE INDEX: 1. GENERAL INFORMATION 2. REGISTRATION GUIDE 1. GENERAL INFORMATION This guide contains the correct procedure for entering the software page http://software.roenest.com/

Dettagli

MIM Card Scheda di specializzazione / Specialization card H1-A12. release hardware. 3 (0-10V / 0-20mA / potenziometric) 1 (0-10V 10bit)

MIM Card Scheda di specializzazione / Specialization card H1-A12. release hardware. 3 (0-10V / 0-20mA / potenziometric) 1 (0-10V 10bit) MIM Card release hardware 01.1 Scheda di specializzazione / Specialization card H1A12 3 (010V / 020mA / potenziometric) 1 (010V 10bit) Pin Nome Name Descrizione Description Indirizzo Address 1A +12 V Out

Dettagli

GUIDA AL LOGO LOGO GUIDELINES

GUIDA AL LOGO LOGO GUIDELINES Logo Logo 1 Il logo può essere posizionato all interno di un fondo di qualsiasi colore, non uniforme o fotografico, purché rimangano inalterati i colori, l immediata percezione visiva e la leggibilità

Dettagli

Capitolo 7 I puntatori in C

Capitolo 7 I puntatori in C 1 Capitolo 7 I puntatori in C 7.2 Dichiarazione e inizializzazione di puntatori Variabili puntatore Contengono gli indirizzi di memoria come valore Le normali variabili contengono uno specifico valore

Dettagli

Gateway Bacnet Multichiller series

Gateway Bacnet Multichiller series Servizio egolazione e Controllo File Pagina 1/11 Gateway Bacnet Multichiller series Servizio egolazione e Controllo File Pagina 2/11 CONTENTS 1. PCOWEB INSTALLATION... 3 2. BACNET MAPPING... 5 3. PCO COMMUNICATION

Dettagli

SRT064 BTH SRT051 BTH SRT052 BTH

SRT064 BTH SRT051 BTH SRT052 BTH KIT FOR TRUCK BRAKE TESTERS SRT051 BTH SRT052 BTH OPERATOR S MANUAL SRT064BTH SRT051BTH SRT052BTH CONTENTS 1. INTRODUCTION...1 2. Description of SRT064BTH Kit...2 3. Description of SRT051BTH Kit...2 4.

Dettagli

Modello di sviluppo della popolazione: Matrice di Leslie

Modello di sviluppo della popolazione: Matrice di Leslie Modello di sviluppo della popolazione: Matrice di Leslie April 24, 2007 1 Scopo del progetto Lo scopo è quello di creare un programma parallelo in grado di fare una stima di quale sarà la popolazione in

Dettagli

Fortran. Funzioni e Subroutine.

Fortran. Funzioni e Subroutine. Fortran Funzioni e Subroutine http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Dal Fortran II del 1958, Fortran consente di

Dettagli

Somma di un array di N numeri in MPI

Somma di un array di N numeri in MPI Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Esercitazione di Calcolo Parallelo Somma di un array di N numeri in MPI Anno Accademico 2010/2011 Prof.ssa Alessandra D'alessio Candidati

Dettagli

Programmazione C. Funzioni e procedure: Activation record. passaggio per indirizzo

Programmazione C. Funzioni e procedure: Activation record. passaggio per indirizzo Programmazione C Funzioni e procedure: passaggio per indirizzo Activation record 2. PASSAGGIO PER INDIRIZZO Dire alla funzione l indirizzo di memoria cui accedere Se occorre passare un array ad una funzione,

Dettagli

Stringhe. Prof. Lorenzo Porcelli

Stringhe. Prof. Lorenzo Porcelli Stringhe Prof. Lorenzo Porcelli definizione Una stringa è un vettore di caratteri terminato dal carattere nullo \0. Il carattere nullo finale permette di determinare la lunghezza della stringa. char vet[32];

Dettagli

Primi Programmi con MPI 1

Primi Programmi con MPI 1 Il cluster che usiamo: spaci Esercitazione: Primi Programmi con MPI http://www.na.icar.cnr.it/grid/#spacina Spacina è un cluster HP XC 6000 / Linux a 64 nodi biprocessore. La configurazione hardware dei

Dettagli

PROTOCOLLO DI COMUNICAZIONE MODBUS MODBUS COMMUNICATION PROTOCOL. MANUALE ISTRUZIONI / INSTRUCTION MANUAL IM163-IU v0.61

PROTOCOLLO DI COMUNICAZIONE MODBUS MODBUS COMMUNICATION PROTOCOL. MANUALE ISTRUZIONI / INSTRUCTION MANUAL IM163-IU v0.61 MANUALE ISTRUZIONI / INSTRUCTION MANUAL IM163-IU v0.61 COMPALARM C2C Annunciatore d allarme PROTOCOLLO DI COMUNICAZIONE MODBUS COMPALARM C2C Alarm annunciator MODBUS COMMUNICATION PROTOCOL Compalarm C2C

Dettagli

Comunicazione. La comunicazione point to point e' la funzionalita' di comunicazione fondamentale disponibile in MPI

Comunicazione. La comunicazione point to point e' la funzionalita' di comunicazione fondamentale disponibile in MPI Comunicazione La comunicazione point to point e' la funzionalita' di comunicazione fondamentale disponibile in MPI Concettualmente la comunicazione point to point e' molto semplice: Un processo invia un

Dettagli

Finite Model Theory / Descriptive Complexity: bin

Finite Model Theory / Descriptive Complexity: bin , CMPSCI 601: Recall From Last Time Lecture 19 Finite Model Theory / Descriptive Compleity: Th: FO L DSPACE Fagin s Th: NP SO. bin is quantifier-free.!#"$&% ('*), 1 Space 0 1 ) % Time $ "$ $ $ "$ $.....

Dettagli

Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2.

Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. Scuola Sec. SECONDO Grado Gara 2 IND - 15/16 ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. Sono date le seguenti regole: regola(1,[a],b)

Dettagli

Italian 102 Daily Syllabus

Italian 102 Daily Syllabus * = Instructor may choose to do the Strategie DVD activities in class. Italian 102 Daily Syllabus AR 26 aterial covered in class (in text unless otherwise indicated) WEEK 1 Introduzione al corso e ripasso

Dettagli

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and

Dettagli

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio A.A. 2006/2007 Laurea di Ingegneria Informatica Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio Obbiettivi Acquisire familiarità con la nozione di oggetto Apprendere le proprietà

Dettagli

Message Passing Interface MPI

Message Passing Interface MPI Paradigma del message passig Processore Processore Processore N memory memory memory Message Passig Iterface MPI CPU CPU Network CPU Sistema a memoria distribuita Ogi processore ha ua propria memoria locale

Dettagli

Functional programming in F#: Data Structures

Functional programming in F#: Data Structures Programmazione Avanzata Corso di Laurea in Informatica (L31) Scuola di Scienze e Tecnologie 31 / 51 Summary of previous lectures In the previous lecture we have... : introduced basic principles of programming

Dettagli

Scheduling. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4

Scheduling. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4 Course of Multimedia Internet (Sub-course Reti Internet Multimediali ), AA 2010-2011 Prof. 4. Scheduling Pag. 1 Scheduling In other architectures, buffering and service occur on a per-flow basis That is,

Dettagli

Conoscere l uso delle collezioni in Java. Conoscere il concetto di Generics (programmazione

Conoscere l uso delle collezioni in Java. Conoscere il concetto di Generics (programmazione 1 Conoscere l uso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali classi di Collection usare in casi specifici Conoscere

Dettagli

MPI: MESSAGE PASSING INTERFACE

MPI: MESSAGE PASSING INTERFACE MPI: MESSAGE PASSING INTERFACE Lorenzo Simionato lorenzo@simionato.org Dicembre 2008 Questo documento vuol essere una brevissima introduzione ad MPI. Per un approfondimento dettagliato, si rimanda invece

Dettagli

Corso di Algoritmi e Strutture Dati con Laboratorio. The JCF(continua): L interfaccia Map

Corso di Algoritmi e Strutture Dati con Laboratorio. The JCF(continua): L interfaccia Map Corso di Algoritmi e Strutture Dati con Laboratorio The JCF(continua): L interfaccia Map Unamappaè unaraccolta (oggetto che contiene elementi: es: array, oggetto di tipo Collection) in cui ogni elemento

Dettagli

Laboratorio di Programmazione Laurea in Informatica A.A. 2000/2001 Docente: A. Lanza

Laboratorio di Programmazione Laurea in Informatica A.A. 2000/2001 Docente: A. Lanza Laboratorio di Programmazione Laurea in Informatica A.A. 2000/2001 Docente: A. Lanza Il tipo subrange La sezione di dichiarazione delle variabili Problemi ed esercizi su subrange ed enumerati Editazione

Dettagli

Quadrature. Emma Perracchione. Corso di Calcolo Numerico per Ingegneria Meccanica - Matr. PARI (Univ. PD)

Quadrature. Emma Perracchione. Corso di Calcolo Numerico per Ingegneria Meccanica - Matr. PARI (Univ. PD) Emma Perracchione Corso di Calcolo Numerico per Ingegneria Meccanica - Matr. PARI (Univ. PD) Gli esercizi sono presi dal libro: S. De Marchi, D. Poggiali, Exercices of numerical calculus with solutions

Dettagli

Resources and Tools for Bibliographic Research. Search & Find Using Library Catalogues

Resources and Tools for Bibliographic Research. Search & Find Using Library Catalogues Resources and Tools for Bibliographic Research Search & Find Using Library Catalogues November 28, 2011 Donata Pieri Index Definition University of Padova Library System Catalogue CaPerE E-journals Catalogue

Dettagli

Gateway Bacnet Multichiller series

Gateway Bacnet Multichiller series Servizio egolazione e Controllo File Pagina 1/12 Gateway Bacnet Multichiller series Servizio egolazione e Controllo File Pagina 2/12 CONTENTS 1. PCOWEB INSTALLATION... 3 2. BACNET MAPPING... 5 3. PCO COMMUNICATION

Dettagli

Code: GW-IMP-WEB-1. Datalogger web pulses counter. Version 6 inputs with Ethernet. MarCom

Code: GW-IMP-WEB-1. Datalogger web pulses counter. Version 6 inputs with Ethernet. MarCom Datalogger web pulses counter Code: GW-IMP-WEB-1 Version 6 inputs with Ethernet Datalogger web pulses counter The web datalogger pulses counter is able to count the pulses on digital inputs (2 by default

Dettagli

PRIMA PROVA SCRITTA: ELENCO DOMANDE

PRIMA PROVA SCRITTA: ELENCO DOMANDE PRIMA PROVA SCRITTA: ELENCO DOMANDE 1) Descrivere la propria esperienza acquisita sullo sviluppo e l uso di modelli numerici applicati alla geofisica Describe your experience acquired in the development

Dettagli

System Call per la gestione dei semafori in Linux. Semafori: modello concettuale. Creazione ed inizializzazione di un semaforo

System Call per la gestione dei semafori in Linux. Semafori: modello concettuale. Creazione ed inizializzazione di un semaforo System Call per la gestione dei semafori in Linux Domenico Cotroneo Dipartimento di Informatica e Sistemistica Semafori: modello concettuale Processore D C B (sq)coda proc.sospesi s.count=1 semaforo A

Dettagli

SUPPLIER TECHNICAL DRAWING MANAGEMEMENT GESTIONE DEI DISEGNI TECNICI DA PARTE DEL FORNITORE 1. INTRODUZIONE 1. INTRODUCTION 2. DOCUMENTI APPLICABILI

SUPPLIER TECHNICAL DRAWING MANAGEMEMENT GESTIONE DEI DISEGNI TECNICI DA PARTE DEL FORNITORE 1. INTRODUZIONE 1. INTRODUCTION 2. DOCUMENTI APPLICABILI GESTIONE DEI DISEGNI TECNICI DA PARTE DEL FORNITORE SUPPLIER TECHNICAL DRAWING MANAGEMEMENT SOMMARIO 1. INTRODUZIONE 1 2. DOCUMENTI APPLICABILI 1 3. RIESAME DELLA RICHIESTA D OFFERTA 1 4. RICEZIONE DELL

Dettagli

LISTE E RIPASSO. Sesto Laboratorio

LISTE E RIPASSO. Sesto Laboratorio LISTE E RIPASSO Sesto Laboratorio STRUTTURE E LISTE RIVEDIAMO LE STRUTTURE typedef struct anagrafico{ char nome[20]; int anni; char indirizzo[30]; dati; cittadino.anni = 3; dati popolazione[1000]; Scrivere

Dettagli

Capitolo 3 Sviluppo di Programmi Strutturati

Capitolo 3 Sviluppo di Programmi Strutturati Capitolo 3 Sviluppo di Programmi Strutturati Introduzione Strutture di controllo If Selection Statement If Else Selection Statement While Repetition Statement Ripetizione Counter-Controlled Uso di una

Dettagli

Progetto Italiano 1: Corso Multimediale Di Lingua E Civilta Italiana (Italian Edition) By Telis Marin;Sandro Magnelli

Progetto Italiano 1: Corso Multimediale Di Lingua E Civilta Italiana (Italian Edition) By Telis Marin;Sandro Magnelli Progetto Italiano 1: Corso Multimediale Di Lingua E Civilta Italiana (Italian Edition) By Telis Marin;Sandro Magnelli Progetto Italiano 1 : Corso Multimediale di Lingua e Civilta Italiana by Corso Multimediale

Dettagli

MIM Card. Scheda di specializzazione / Specialization card H1-G12. 1A +12 V Out 12 Volt - Comune (O1 O3) Common (O1 O3)

MIM Card. Scheda di specializzazione / Specialization card H1-G12. 1A +12 V Out 12 Volt - Comune (O1 O3) Common (O1 O3) MIM Card Scheda di specializzazione / Specialization card H1G12 3 3 3 1 Morsetto Pin Nome Name Descrizione Description Indirizzo Address 1A +12 V Out 12 Volt 1B 2B 3B 4B 2A 3A 4A COM O1 O2 O3 I1 I2 I3

Dettagli

TLR05S-350. Extender in corrente costante, 3 x 350mA per TLR04M_

TLR05S-350. Extender in corrente costante, 3 x 350mA per TLR04M_ TLR05S-350 Extender in corrente costante, 3 x 350mA per TLR04M_350-500 IT DATI TECNICI Alimentazione Uscita Tipo di carico Sistema di collegamento master/slave/slave Distanza massima delle connessioni

Dettagli

599CD/A I EN ISTRUZIONI PER L USO INSTRUCTIONS FOR USE

599CD/A I EN ISTRUZIONI PER L USO INSTRUCTIONS FOR USE 599CD/A I EN ISTRUZIONI PER L USO INSTRUCTIONS FOR USE ISTRUZIONI PER L USO I Installazione del software Inserire il CD di installazione nel CD-ROM. Nella directory principale del CD cliccare setup.exe

Dettagli

Question 1: algorithms, data structures, problem classes, and algorithmic techniques

Question 1: algorithms, data structures, problem classes, and algorithmic techniques Question 1: alg. s, data struct. s, problem classes, and alg. techniques Question 1: algorithms, data structures, problem classes, and algorithmic techniques What is a dynamic data structure? (4 points).

Dettagli

Qui u ck c k PE P R E L

Qui u ck c k PE P R E L Quick PERL Why PERL??? Perl stands for practical extraction and report language Similar to shell script but lot easier and more powerful Easy availability All details available on web Basic Concepts Perl

Dettagli

Combinazioni serie IL-MIL + MOT

Combinazioni serie IL-MIL + MOT Combinazioni tra riduttori serie IL-MIL e MOT Combined series IL-MIL + MOT reduction units Combinazioni serie IL-MIL + MOT Sono disponibili varie combinazioni tra riduttori a vite senza fine con limitatore

Dettagli

Combinazioni serie MKF + MI

Combinazioni serie MKF + MI Combinazioni tra variatori serie MKF e riduttori serie MI Combined series MKF speed variator and series MI reduction unit Combinazioni serie MKF + MI Il variatore meccanico tipo MKF della SITI può essere

Dettagli

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica Array in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: array DIS - Dipartimento di informatica e sistemistica 1 / 25 Cosa vedremo

Dettagli

ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2.

ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. Sono date le seguenti regole: regola(1,[p,q],a) regola(2,[b,x,a],w) regola(3,[h],c) regola(4,[a,n,q],v)

Dettagli

Maps. a.k.a, associative array, map, or dictionary

Maps. a.k.a, associative array, map, or dictionary Maps a.k.a, associative array, map, or dictionary Definition } In computer science, an associative array, map, or dictionary is an abstract data type composed of (key, value) pairs, such that each key

Dettagli

Priority Queue. Queuing, the smart way

Priority Queue. Queuing, the smart way Priority Queue Queuing, the smart way Queue First in, first out (FIFO) Easily implemented with a List Also LIFO! 2 Priority Queue Prioritization problems Canonical example: ER scheduling A gunshot victim

Dettagli

Accesso Mul*plo - modelli

Accesso Mul*plo - modelli Accesso Mul*plo - modelli Conceptual Model of Mul/ple Access A B C D Station A Station B Station C Station D Master Channel The Master does not know if and how many packets are present in each queue (i.e.,

Dettagli

EML-16 EML-16. Pulses concentrator. Concentratore impulsi MODBUS COMMUNICATION PROTOCOL PROTOCOLLO DI COMUNICAZIONE MODBUS

EML-16 EML-16. Pulses concentrator. Concentratore impulsi MODBUS COMMUNICATION PROTOCOL PROTOCOLLO DI COMUNICAZIONE MODBUS MANUALE OPERATIVO / INSTRUCTION MANUAL IM-IU v0.1 EML-16 Concentratore impulsi PROTOCOLLO DI COMUNICAZIONE MODBUS EML-16 Pulses concentrator MODBUS COMMUNICATION PROTOCOL PROTOCOLLO MODBUS Il concentratore

Dettagli

Calcolo parallelo con MPI (2ª parte)

Calcolo parallelo con MPI (2ª parte) Calcolo parallelo con MPI (2ª parte) Approfondimento sulle comunicazioni point-to-point La comunicazione non blocking Laboratorio n 3 MPI virtual topologies Laboratorio n 4 2 Modalità di comunicazione

Dettagli

Mathematics Binary System basic concepts

Mathematics Binary System basic concepts Mathematics Binary System basic concepts Pietro Nicoletti Piero[at]studioreti.it Binar-Engl - Copyright: si veda nota a pag. 2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slides)

Dettagli

Procedure annidate. Università degli studi di Milano

Procedure annidate. Università degli studi di Milano Procedure annidate Università degli studi di Milano matteo.re@unimi.it http://homes.di.unimi.it/re/ Procedura foglia Scenario più semplice: il main chiama una procedura, la procedura termina senza chiamare

Dettagli

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Stored Procedures Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Progetto di Applicazioni Software Stored Procedure e User Defined

Dettagli

Introduzione alle classi 2

Introduzione alle classi 2 Introduzione alle classi 2 Corso di Programmazione 3 - Ingegneria dell Informazione e dell Organizzazione 31 ottobre, 2001 Gino Perna Utilizzo di una classe in C++ UN ESEMPIO DI CLASSE: LO STACK Supponiamo

Dettagli

LDL come target per il controllo della dislipidemia HIV-correlata

LDL come target per il controllo della dislipidemia HIV-correlata LDL come target per il controllo della dislipidemia HIV-correlata EU vs USA: dove sta la verità? Dr Michele Bombelli Clinica Medica Università degli Studi Milano Bicocca Ospedale S.Gerardo, Monza LINEE

Dettagli

Alcuni strumenti per lo sviluppo di software su architetture MIMD

Alcuni strumenti per lo sviluppo di software su architetture MIMD Alcuni strumenti per lo sviluppo di software su architetture MIMD Calcolatori MIMD Architetture SM (Shared Memory) OpenMP Architetture DM (Distributed Memory) MPI 2 MPI : Message Passing Interface MPI

Dettagli

Puntatori, array, incrementi Array come parametri Array di puntatori. Programmazione 1. Lezione 12. Vincenzo Marra.

Puntatori, array, incrementi Array come parametri Array di puntatori. Programmazione 1. Lezione 12. Vincenzo Marra. Programmazione 1 Lezione 12 Vincenzo Marra vincenzo.marra@unimi.it Dipartimento di Matematica Federigo Enriques Università degli Studi di Milano 28 maggio 2014 Puntatori ed array Nel linguaggio C esiste

Dettagli