72
Parallel Systems Lab 1 Dr. Guy Tel-Zur

Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Embed Size (px)

Citation preview

Page 1: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Parallel SystemsLab 1

Dr. Guy Tel-Zur

Page 2: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

השיעור מטרות

של • העיקריות הפלטפורמות לשתי התחברותהקורס:

במעבדה – וירטואלי לינוקס מחשבהמקבילי – הקלאסטר

מערכת • תחת בסיסיות משימות ביצוע תרגולLinuxההפעלה

המשתמשות • בסיסיות מקביליות תכניות הרצת-MPIבמקבילי • בדבאגר - Allinea DDT uשימוש Profilerוב

Page 3: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

יעדים

קו • לינוקס יישור בנושאעם • ראשונית MPIהכרות

קוד – פיתוחקימפול–שגיאות – ניפויהרצה–התוצאה – ניתוח

Page 4: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Basic Linux Commands – 1/5

gcc –o file file.cC Compiler

pico, vi, (x)Emacs, gedit… orEdit on Windows then transfer file using ftp

Text editors

exitExit the system

login: usernamepassword: passwd

Enter the system

Page 5: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Basic Linux Commands – 2/5

rmdelErase files

cpcopyCopy files

lsls -l

dirSee files

LinuxDOS

Page 6: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Basic Linux Commands – 3/5

mvrenameMore/Rename

uname -averOS version

rmdirrmdirRemove directory

mkdirmkdirMake directory

LinuxDOS

Page 7: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Basic Linux Commands – 4/5

• Getting help: man topic• Look at the contents of a file: cat,

more,head and tail• Quit from man or more: q• Where am I? pwd• Clear the screen: clear

Page 8: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Basic Linux Commands – 5/5

• Redirection: >, >>• Pipe: |• telnet• ftp• ping• chmod• chown

Page 9: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Linux FAQ

http://www.ctssn.com/linux/linuxfaq.html

Page 10: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

The vi EditorESC Puts you in command modeh, j, k, l Left, down, up, right or use the arrows keysw, W, b, B Forward, backward by word

0, $ First, last position of current line/pattern Search forward for pattern?pattern Search backward for patternn,N Repeat last search in same, opposite directionx Delete characterdd Delete current lineD Delete to end of linedw Delete wordp, P Put deleted text before, after cursoru Undo last command. Repeat the last command

i, a Insert text before, after cursor [Puts you into INPUT MODE]

o, O Open new line for text below, above cursor [Puts you into INPUT MODE]

ZZ Save file and quit:w Save file:q! Quit, without saving changes

Page 11: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

vi reference card

• Download and print:• http://my.pages.de/vi-refcard.html• http://vh224401.truman.edu/~dbindner/

mirror/vi-ref.pdf

Page 12: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Vi for Windows

Page 13: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Vi for windows

Page 14: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

nano

Page 15: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Other text editors

• Vi, Vim• Pico• Emacs/Xemacs• Nedit (very friendly)• Eclipse IDE

Page 16: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Our Parallel Cluster:gathering information

Kernel version: uname –a

CPU information: more /proc/cpuinfo

Memory Information: more /proc/meminfo

Page 17: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

גישה – הרשאות הפרטיות על הגנהלקבצים

Page 18: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Connecting to a remote node

• Secured: SSHSSH client from:

http://www.ssh.com/support/downloads/PuTTY:

http://www.chiark.greenend.org.uk/~sgtatham/putty/

Please download Putty !!!!!

Page 19: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Putty

Page 20: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Putty + X windows

Install xming and xming fonts

Page 21: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Download links

• Putty: –http://www.putty.org/

• Xming: –http://sourceforge.net/projects/xming

Page 22: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

' מס 1תרגיל

• ב שימוש תוך מהתחנות לאחת ssh -התחבר• כגון קצרה מחשב תכנית Hello : כתוב

World• קומפילציה :בצע gcc –o hello_world hello_world.c• :הרץ את התכנית ושמור הפלט% ./hello_world > hello.txt

• :בדוק את הפלט על-ידי• more hello.txt

Page 23: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

The GNU compilerhttp://gcc.gnu.org/

•gcc filename.c– Will produce an executable “a.out”

•gcc –o runme filename.c– Will produce an executable “runme”

• Optimization: gcc –O3 –o runme filename.c

•gcc –c filename.c will produce an object file “filename.o”

Page 24: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

' מס תרגיל 1/3 – 1פתרון

Page 25: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

' מס תרגיל 2/3 – 1פתרון

Page 26: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

' מס תרגיל 3/3 – 1פתרון

Page 27: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

MPI-Quick reference card 1/2

Page 28: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

MPI-Quick reference card 2/2

Page 29: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

MPI Quick Reference Card:http://web.eecs.utk.edu/~dongarra/WEB-PAGES/SPRING-2006/mpi-quick-ref.pdf

Page 30: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

What is message passing?• Data transfer through messaging

Requires a sender and a receiver cooperation

DataProcess 0

Process 1

May I Send?

Yes

DataData

DataData

DataData

DataData

Time

Page 31: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Point to Point: Basic Send/Receive

תהליך מס' 1 x

Send(&x,2);

תהליך מס' 2 y

Recv(&y,1);

הזזת נתונים

Page 32: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Space-Time Diagram of a Message-Passing Program

Page 33: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

MPI - Message Passing Interface API

• MPI is a standard not an implementation• Popular implementations are LAM and MPICH• MPICH is installed under /usr/local/mpich• Always put in the code: #include “mpi.h”• Compilation: mpicc –o filename file.c• Execution: mpirun –np N filename• Help: man mpirun

Page 34: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

MPI Naming Conventions

MPI_Xxxxx(parameter,...)

Example: MPI_Init(&argc,&argv)

Page 35: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

The First 4 Functions of MPI

• MPI_Init• MPI_Finalize• MPI_Comm_size• MPI_Comm_rank

• …and don’t forget the #include “mpi.h”

Page 36: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

The First 4 Functions Syntax

• int MPI_Init(int argc, char *argv[] )

• int MPI_Finilize()

• int MPI_Comm_size(MPI_Comm comm, int *size)

• int MPI_Comm_rank(MPI_Comm comm, int *rank)

Page 37: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

MPI Communicator

A communicator is a handle representing a group of processors that can communicate with one another.

The communicator name is required as an argument to all point-to-point and collective operations.

The communicator specified in the send and receive calls must agree for communication to take place.

Processors can communicate only if they share a communicator.

Page 38: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Basic Point to Point Functions

• MPI_Send• MPI_Recv• MPI_Send(void *buf, int count, MPI_Datatype

datatype, int dest, int tag, MPI_Comm comm);

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

Page 39: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

MPI_Sendint MPI_Send(void *buf, int count, MPI_Datatype dtype,int dest, int tag, MPI_Comm comm);

Page 40: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

MPI Data typesMPI data type C TypeMPI_CHAR signed charMPI_SHORT signed short intMPI_INT signed intMPI_LONG signed long intMPI_UNSIGNED_CHAR unsigned charMPI_UNSIGNED_SHORT unsigned short intMPI_UNSIGNED unsigned intMPI_UNSIGNED_LONG unsigned long int MPI_FLOAT floatMPI_DOUBLE doubleMPI_LONG_DOUBLE long doubleMPI_BYTE (none)MPI_PACKED (none)

Page 41: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

' מס 2תרגיל

ב • קצרה תכנית :MPI- הרצתHello_World מקבילי

ויודיע • שלום יאמר מחשב כל בה תכנית כתוב: , לדוגמה בריצה שלו התהליך מספר אתHello world from process 1 of 2

Page 42: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

' מס תרגיל 1/3 – 2פתרון // see more examples: /usr/local/mpich/examples

#include <stdio.h>#include "mpi.h"int main( argc, argv )int argc;char **argv;{ int rank, size; MPI_Init( &argc, &argv ); MPI_Comm_size( MPI_COMM_WORLD, &size ); MPI_Comm_rank( MPI_COMM_WORLD, &rank ); printf( "Hello world from process %d of %d\n", rank, size ); MPI_Finalize(); return 0;}

Page 43: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

' מס תרגיל 2/3 – 2פתרון

helloworld: helloworld.c

mpicc -o helloworld helloworld.c

clean:

/bin/rm -f helloworld *.o

% make

The Makefile

Page 44: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

' מס תרגיל 3/3, 2פתרון

• Note on syntax:int main( argc, argv )int argc; char **argv;

Is Equivalent to:Int main(int argc, char *argv[])

Then:MPI_Init(&argc,&argv);

Page 45: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

' מס - 2תרגיל ב: ++C מימוש

Page 46: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Create a “machinefile”

המחשבים של המעודכנים השמותParallel1Parallel2parallel3

Page 47: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Hello World - Execution% mpicc -o helloworld helloworld.c

% mpirun -np 4 helloworld

Or

mpirun –machinefile ./machinefile –np 4 helloworld

Hello world from process 0 of 4

Hello world from process 3 of 4

Hello world from process 1 of 4

Hello world from process 2 of 4

%

Page 48: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

machinefile

If no machinefile is specified you are running on the local machine

If a machinefile does exist you are running on the machines specified in the file

Page 49: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי
Page 50: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

' מס חישוב: 3תרגיל • אינטגרציה באמצעות חישוב

• הפונקציה על אינטגרציה נבצעf(x)=4/(1+x2) 0בין - - 1ל חלוקת ידי על

ל חלקים n -התחום

41arctan0arctan1arctanarctan

1

1 10

1

02

π=)(=)()(=|(x)=dx

x+

Page 51: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

P3P2

Other methods for integrating the area of a circle

P1P0

P1

P0P7

P6

P5

P4 P3

P2

Page 52: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Master/Workers

Page 53: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

' מס תרגיל 3פתרון

זמן • למדידת בפונקציה השתמשנו בפתרון)(MPI_Wtime: הנקראת •

•: תחת התרגיל לפתרון דוגמא ראה/usr/local/mpich/examples/cpi.c

: מהכתובת גם התכנית את להוריד ניתןhttp://www.mcs.anl.gov/research/projects/mpi/

usingmpi/examples/simplempi/cpi_c.htm

Copy this program to a location under your home directory where you have a write permission! Execute it from there.

Page 54: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

' מס תרגיל 3פתרון#include "mpi.h"#include <stdio.h>#include <math.h>double f(double a){ return (4.0 / (1.0 + a*a));}

void main(int argc, char *argv[]){ int done = 0, n, myid, numprocs, i; double PI25DT = 3.141592653589793238462643; double mypi, pi, h, sum, x; double startwtime, endwtime; int namelen; char processor_name[MPI_MAX_PROCESSOR_NAME];

Page 55: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

' מס תרגיל המשך- 3פתרון

MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD,&numprocs); MPI_Comm_rank(MPI_COMM_WORLD,&myid); MPI_Get_processor_name(processor_name,&namelen);

fprintf(stderr,"Process %d on %s\n",myid, processor_name); fflush(stderr);

n = 0;

Page 56: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

' מס תרגיל המשך - 3פתרון

while (!done) { if (myid == 0) {

printf("Enter the number of intervals: (0 quits) ");

fflush(stdout);scanf("%d",&n);startwtime = MPI_Wtime();

} MPI_Bcast(&n, 1, MPI_INT, 0, MPI_COMM_WORLD); if (n == 0) done = 1; else {

Page 57: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

' מס תרגיל המשך - 3פתרון h = 1.0 / (double) n; sum = 0.0; for (i = myid + 1; i <= n; i += numprocs) { x = h * ((double)i - 0.5); sum += f(x); } mypi = h * sum;

MPI_Reduce(&mypi, &pi, 1, MPI_DOUBLE, MPI_SUM, 0,MPI_COMM_WORLD);

Page 58: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

' מס תרגיל המשך – 3פתרון Basic Collective Functions

• MPI_Bcast• MPI_Reduce• The exact syntax:• MPI_Bcast(void *buf, int count, MPI_Datatype datatype, int root,

MPI_Comm comm);• MPI_Reduce(void *sendbuf, void *recvbuf, int count,

MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm);

Page 59: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

' מס תרגיל המשך - 3פתרוןMPI Reduce

Page 60: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

' מס תרגיל המשך - 3פתרון

if (myid == 0){

printf("pi is approximately %.16f, Error is %.16f\n",pi, fabs(pi - PI25DT));endwtime = MPI_Wtime();printf("wall clock time = %f\n",endwtime-startwtime);

} } /* end of if */ } /* end of while */ MPI_Finalize();} /* end of main */

Page 61: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

תהליכים 4הרצת

Page 62: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

שני על תהליכים שני הרצתמעבדים

Page 63: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

הריצה ביצועי 1/2הערכת

Page 64: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

הריצה ביצועי 2/2הערכת

Page 65: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

How to try cpi.c?• mkdir mpi• cd mpi• cp /usr/local/mpich2-1.0/share/examples_graphics/cpi.c .

• mpicc –o cpi cpi.c• create a hostfile

•mpirun –np 4 –machinefile ./machinefile ./cpi

מטלות: •SSHהתחברות ב –יצירת מחיצה + עריכת קובץ ושמירתו–MPICC על-ידי MPI ועם GCC עם MPIקימפול ללא –CPIהרצת התכנית –

Page 66: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

עם Allinea DDTתרגול

קובץ • נמצא במכללה הקורס עם tarבאתר , . לפתוח הקובץ את להוריד נא לימודי חומר

- ב העוסקים התרגילים את ולבצע , MPIאותוהבא השקף ראו

Page 67: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי
Page 68: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי
Page 69: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

תחת המצוי ההדרכה חומר את לפתוח נאhandoutsהמחיצה

Page 70: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Allinea DDT tutorialSession 1- Program crash: cstartmpiSession 2 – f90, skipSession 3 – Deadlock in MPI: cpi, loopSession 4 – Memory leaks: mandel, loopSession 5 – GPU Computing, skipSession 6 – C example: matrixSession 7 – f90, skip

Page 71: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Eclipse PTPhtt

p://

eclip

se.o

rg/d

ownl

oads

/

Page 72: Parallel Systems Lab 1 Dr. Guy Tel-Zur. מטרות השיעור התחברות לשתי הפלטפורמות העיקריות של הקורס : –מחשב לינוקס וירטואלי

Eclipse PTP

http://wiki.eclipse.org/PTP/tutorials/SC12

SC12 tutorial:http://download.eclipse.org/tools/ptp/docs/ptp-sc12-color.pdf