Download presentation
Presentation is loading. Please wait.
Published byEverett Logan Modified over 8 years ago
1
June 24-25, 2008 Regional Grid Training, University of Belgrade, Serbia Hands-on: Compiling MPI codes with PGI Dušan Vudragović dusan@phy.bg.ac.yu SCL, Institute of Physics Belgrade
2
A E G I S June 24-25, 2008 Advanced job types Job Collections Type = "Collection"; DAG jobs (Direct Acyclic Graphs) Type = “Dag"; Parametric jobs Type = "Parametric"; Interactive Jobs Type = "Interactive”; MPI Jobs (Message Passing Interface) JobType = ”MPICH”; https://edms.cern.ch/file/722398/1.2/gLite-3- UserGuide.html https://edms.cern.ch/file/722398/1.2/gLite-3- UserGuide.html Regional Grid Training, University of Belgrade, Serbia
3
A E G I S June 24-25, 2008 PGI Workstation High-performance compilers F77, F95, HPF, C and C++ compilers 64-bit x64 and 32-bit x86 processor http://www.pgroup.com/products/workpgi.ht m http://www.pgroup.com/products/workpgi.ht m Regional Grid Training, University of Belgrade, Serbia
4
A E G I S June 24-25, 2008 Simple Example (f77) Regional Grid Training, University of Belgrade, Serbia PROGRAM mpi INCLUDE 'mpif.h' INTEGER ierr, rank, size CALL MPI_INIT(ierr) CALL MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr) CALL MPI_COMM_SIZE(MPI_COMM_WORLD, size, ierr) PRINT *, 'I am ', rank, ' of ', size CALL MPI_FINALIZE(ierr) END http://wiki.egee-see.org/index.php/SG_Gridification_Guide #MPI_.28T9.29
5
A E G I S June 24-25, 2008 Simple Example (jdl) Regional Grid Training, University of Belgrade, Serbia JobType = "mpich"; NodeNumber = 3; Executable = "mpif"; StdOutput = "std.out"; StdError = "std.err"; InputSandbox = {"mpif"}; OutputSandbox = {"std.out", "std.err"}; Requirements = (other.GlueCEInfoLRMSType == "pbs") && RegExp("ce64.phy.bg.ac.yu*", other.GlueCEUniqueID); http://wiki.egee-see.org/index.php/SG_Gridification_Guide #MPI_.28T9.29
6
A E G I S June 24-25, 2008 Advanced Example (pgi) Regional Grid Training, University of Belgrade, Serbia number_of_intervals=1000000000 step=1.0D+00/dble(number_of_intervals) node_integral=0.0D+00 do counter = node_id+1, number_of_intervals, number_of_nodes x=step*(dble(counter) - 0.5D+00) node_integral=node_integral+f(x) end do
7
A E G I S June 24-25, 2008 Advanced Example (pgi vs. gnu) Regional Grid Training, University of Belgrade, Serbia Node: 1 Node integral: 1.047197550530024 Node: 2 Node integral: 1.047197549863390 Number of nodes: 3 Number of intervals: 1000000000 Node: 0 Node integral: 1.047197553196500 PI exact : 3.141592741012573 PI estimate: 3.141592653589914 PI diff : 0.8742265888983525E-07 Wall clock time: 11.238281 GNU
8
A E G I S June 24-25, 2008 Advanced Example (pgi vs. gnu) Regional Grid Training, University of Belgrade, Serbia Node: 1 Node integral: 1.047197550530024 Node: 2 Node integral: 1.047197549863390 Number of nodes: 3 Number of intervals: 1000000000 Node: 0 Node integral: 1.047197553196500 PI exact : 3.141592741012573 PI estimate: 3.141592653589914 PI diff : 0.8742265888983525E-07 Wall clock time: 8.765625 PGI
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.