MPI: comunicazioni collettive
|
|
- Brigida Romagnoli
- 6 anni fa
- Visualizzazioni
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:
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
Dettagliint 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,
DettagliIntroduzione 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)
DettagliMai 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
DettagliAlcuni 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
DettagliConcetti 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:
DettagliMPI 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
DettagliLaboratorio 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
DettagliGruppo 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 è
DettagliPresentazione 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
DettagliCALCOLO 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,
DettagliAlcuni 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
DettagliMPI: 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
DettagliProdotto 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
DettagliAA 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
DettagliCollege 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
DettagliIntroduzione 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
DettagliBoost.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
DettagliNon 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
DettagliSviluppo 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
DettagliECOLE 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 = =>
DettagliPresentazione 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
DettagliCustomer 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
DettagliConstant 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
DettagliProgrammazione 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
DettagliESERCIZI 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
DettagliAppendice 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
DettagliCapitolo 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
DettagliProdotto 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
DettagliFondamenti 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
DettagliInformatica 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
DettagliInformatica 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
DettagliProgramma 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
DettagliIM-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
DettagliCapitolo 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
Dettagli26 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
DettagliI 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
DettagliSingle-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
DettagliCalcolo 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
DettagliUNIVERSITÀ 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
DettagliREGISTRATION 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/
DettagliMIM 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
DettagliGUIDA 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à
DettagliCapitolo 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
DettagliGateway 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
DettagliSRT064 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.
DettagliModello 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
DettagliFortran. 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
DettagliSomma 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
DettagliProgrammazione 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,
DettagliStringhe. 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];
DettagliPrimi 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
DettagliPROTOCOLLO 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
DettagliComunicazione. 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
DettagliFinite 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 $ "$ $ $ "$ $.....
DettagliSi 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)
DettagliItalian 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
DettagliLA 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
DettagliA.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à
DettagliMessage 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
DettagliFunctional 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
DettagliScheduling. 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,
DettagliConoscere 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
DettagliMPI: 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
DettagliCorso 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
DettagliLaboratorio 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
DettagliQuadrature. 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
DettagliResources 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
DettagliGateway 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
DettagliCode: 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
DettagliPRIMA 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
DettagliSystem 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
DettagliSUPPLIER 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
DettagliLISTE 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
DettagliCapitolo 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
DettagliProgetto 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
DettagliMIM 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
DettagliTLR05S-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
Dettagli599CD/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
DettagliQuestion 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).
DettagliQui 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
DettagliCombinazioni 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
DettagliCombinazioni 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
DettagliArray 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
DettagliESERCIZIO 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)
DettagliMaps. 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
DettagliPriority 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
DettagliAccesso 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.,
DettagliEML-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
DettagliCalcolo 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
DettagliMathematics 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)
DettagliProcedure 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
DettagliStored 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
DettagliIntroduzione 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
DettagliLDL 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
DettagliAlcuni 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
DettagliPuntatori, 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