Dhammpal Ramtake
SoS in Computer sciences & IT
Pt. R.S.U. Raipur, (C.G)
Guided by
Dr. Sanjay Kumar
Dr. Vinod Kumar Patle
Contents
INTRODUCTION OF MATLAB
 INTRODUCTION OF PARALLEL COMPUTING
 PARALLEL COMPUTING WITH MATLAB
 MATLAB FOR MULTI ...
Introduction
• MATLAB is a high-level technical computing language and interactive
environment for algorithm development, ...
MATLAB Environment
 Generally, computer code is written in serial
 One task completed after another until the script is finished with
only ...
What is Parallel Computing? (cont.)
 Parallel Computing:
Using multiple computer processing units (CPUs) to solve a probl...
PARALLEL MATLAB
Single Multi Core
CPU
Distributed Computing
Server
Number of core on
single machine as a
worker to execute...
MATLAB FOR MULTI CORE SYSTEM
 MATLAB Provides workers (MATLAB computational engines) to
execute applications on a multi c...
MATLAB FOR DISTRIBUTED COMPUTING SERVER
The Distributed Computing Server controls parallel execution of MATLAB on a
cluste...
PARALLEL COMMANDS IN MATLAB
 findResource
 Code performaces commands
tic & toc , cputime,profile viewer etc.
 Matlabpoo...
1. FIND RESOURCE
This command give available parallel computing resources
Syntax
out = findResource()
out =findResource('s...
Code Performance Commands
Use MATLAB’s tic & toc functions tic starts a timer toc tells you the number of
seconds since th...
2. CPU TIME
This command returns the total CPU time (in seconds) used by MATLAB
application from the time it was started
S...
1. PROFILE VIEWER
This command gives profile records information about execution time, number of
calls, parent functions, ...
PROFILE VIEWER WINDOW
MATLABPOOL
This command open or close pool of MATLAB sessions for parallel computation .It
starts a worker pool using the ...
 Request for too many workers, get an error
only request 2 workers on this machine!
Matlabpool Close
 Use matlabpool close to end parallel session
 Options
 matlabpool close force
 deletes all pool jobs...
Parallel for Loops (parfor)
 parfor loops can execute for loop like code in parallel to significantly improve
performance...
Parfor example
work in parallel loop increments are not dependent on each
other:
Makes the loop run in
parallel
Test the efficiency of parallel code
Observed speedup of a code which has been parallelized
defined as :-
Execution time o...
Simple for loop program :-
function [ total ] = simpleprime( n )
%SIMPLEPRIME Summary of this
function goes here
% Detaile...
Program Output :-
parallel for (parfor)loop program :-
matlabpool open local 2
n=10;
while ( n <= 100000)
primes = newprime( n ) ;
fprintf( ...
Program Output :-
Problem size Serial
execution
time
Parallel
execution
time
speedup
10 0.529376 0.320184 1.6533
100 0.009848 0.063059 0.156...
Pmode
pmode allows the interactive parallel execution of MATLAB commands. pmode
achieves this by defining and submitting a...
Pmode with labindex
while ( n <= 10000)
primes = newprime( n ) ;
fprintf( 1 , ' %8d %8d n ' , n
, primes ) ;
if labindex==...
Pmode output window : -
Spmd command
Spmd “Single program multiple data” execute code in parallel on MATLAB pool
The "single program" aspect of sp...
Simple example of spmd with 2 lab
Conclusion
MATLAB Parallel computing toolbox has the large number of
functionality .Which is essay to understand and solve...
Thank You
Upcoming SlideShare
Loading in...5
×

Matlab ppt

1,461

Published on

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
1,461
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
94
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Matlab ppt

  1. 1. Dhammpal Ramtake SoS in Computer sciences & IT Pt. R.S.U. Raipur, (C.G) Guided by Dr. Sanjay Kumar Dr. Vinod Kumar Patle
  2. 2. Contents INTRODUCTION OF MATLAB  INTRODUCTION OF PARALLEL COMPUTING  PARALLEL COMPUTING WITH MATLAB  MATLAB FOR MULTI CORE SYSTEM  MATLAB FOR DISTRIBUTED COMPUTING SERVER PARALLEL COMANDS IN MATLAB TEST THE EFFICINCY OF PARALLEL CODE CONCLUSION
  3. 3. Introduction • MATLAB is a high-level technical computing language and interactive environment for algorithm development, data visualization, data analysis, and numeric computation. Using the MATLAB we can solve computing problems faster than with traditional programming languages, such as C, C++, and Fortran. • We can use MATLAB in a wide range of applications, including signal and image processing, communications, control design, test and measurement, financial modeling and analysis ,computational biology and parallel computing.
  4. 4. MATLAB Environment
  5. 5.  Generally, computer code is written in serial  One task completed after another until the script is finished with only one task completing at each time  Because computer only has single processing unit . What is Parallel Computing?
  6. 6. What is Parallel Computing? (cont.)  Parallel Computing: Using multiple computer processing units (CPUs) to solve a problem at the same time. computer with multiple processors or networked computers(Distributed computing )
  7. 7. PARALLEL MATLAB Single Multi Core CPU Distributed Computing Server Number of core on single machine as a worker to execute a task parallel like OpenMP Client machine having there core which is take as workers in network with central control of server . PARALLEL COMPUTING WITH MATLAB MATLAB provide Parallel computing tool for Distributed Computing Server as well as Single desktop .
  8. 8. MATLAB FOR MULTI CORE SYSTEM  MATLAB Provides workers (MATLAB computational engines) to execute applications on a multi core system.  We can write a commands that will be executed in parallel or call an MATLAB script file that will run in parallel Fig:- MATLAB workers for multi core processor
  9. 9. MATLAB FOR DISTRIBUTED COMPUTING SERVER The Distributed Computing Server controls parallel execution of MATLAB on a cluster with tens or hundreds of cores With a cluster running parallel MATLAB, we can submit an Matlab file from a client, to run on the cluster or we can submit an Matlab file to be executed in “batch" Fig:- MATLAB Distributed Computing Server
  10. 10. PARALLEL COMMANDS IN MATLAB  findResource  Code performaces commands tic & toc , cputime,profile viewer etc.  Matlabpool  parfor (for loop)  pmode  spmd (distributed computing for datasets)  batch jobs (run job in background)
  11. 11. 1. FIND RESOURCE This command give available parallel computing resources Syntax out = findResource() out =findResource('scheduler','configuration','ConfigurationName')
  12. 12. Code Performance Commands Use MATLAB’s tic & toc functions tic starts a timer toc tells you the number of seconds since the tic function was called. 1. TIC & TOC Syntax tic ticID = tic toc toc(ticID) elapsedTime = toc Example :-
  13. 13. 2. CPU TIME This command returns the total CPU time (in seconds) used by MATLAB application from the time it was started Syntax cputime Out= cputime Example
  14. 14. 1. PROFILE VIEWER This command gives profile records information about execution time, number of calls, parent functions, child functions, code line hit count, and code line execution time. Syntax: - profile on; profile off; profile resume; profile clear; profile viewer; Example:-
  15. 15. PROFILE VIEWER WINDOW
  16. 16. MATLABPOOL This command open or close pool of MATLAB sessions for parallel computation .It starts a worker pool using the default parallel configuration, with the pool size specified by configuration. Syntax matlabpool matlabpool open matlabpool open poolsize matlabpool open configname matlabpool close matlabpool close force matlabpool close force configname Example:-
  17. 17.  Request for too many workers, get an error only request 2 workers on this machine!
  18. 18. Matlabpool Close  Use matlabpool close to end parallel session  Options  matlabpool close force  deletes all pool jobs for current user in the cluster specified by default profile (including running jobs)  matlabpool close force <profilename>  deletes all pool jobs run in the specified profile
  19. 19. Parallel for Loops (parfor)  parfor loops can execute for loop like code in parallel to significantly improve performance  Must consist of code broken into discrete parts that can be solved simultaneously (i.e. it can’t be serial)  Matlab workers evaluate iterations in no particular order and independently of each other. Syntax parfor loopvar = initval:endval; statements; end parfor (loopvar = initval:endval, M); statements; end
  20. 20. Parfor example work in parallel loop increments are not dependent on each other: Makes the loop run in parallel
  21. 21. Test the efficiency of parallel code Observed speedup of a code which has been parallelized defined as :- Execution time of Serial code Execution time of parallel code Speedup = One of the simplest and widely used speedup formula for parallel programs performances. For the testing the efficiency of parfor loop we considered prime number finding program .which limits is increasing ordered like 10 ,100,1000,10000 and 100000 iteration
  22. 22. Simple for loop program :- function [ total ] = simpleprime( n ) %SIMPLEPRIME Summary of this function goes here % Detailed explanation goes here total = 0 ; tic for i = 2 : n prime = 1 ; for j = 2 : i-1 if( mod ( i , j ) == 0 ) prime = 0 ; end end total = total + prime ; end toc return end n=10; while ( n <= 10000) primes = newprime( n ) ; fprintf( 1 , ' %8d %8d n ' , n , primes ) ; n = n * 10 ; Function call
  23. 23. Program Output :-
  24. 24. parallel for (parfor)loop program :- matlabpool open local 2 n=10; while ( n <= 100000) primes = newprime( n ) ; fprintf( 1 , ' %8d %8d n ' , n , primes ) ; n = n * 10 ; end matlabpool close function [ total ] = newprime( n ) %NEWPRIME Summary of this function goes here % Detailed explanation goes here total = 0 ; tic parfor i = 2 : n prime = 1 ; for j = 2 : i-1 if( mod ( i , j ) == 0 ) prime = 0 ; end end total = total + prime ; end toc return end Function call
  25. 25. Program Output :-
  26. 26. Problem size Serial execution time Parallel execution time speedup 10 0.529376 0.320184 1.6533 100 0.009848 0.063059 0.1561 1000 0.023988 0.067858 0.3535 10000 2.009835 1.168925 1.7193 100000 200.9593 109.9775 1.8272 Result Table :-
  27. 27. Pmode pmode allows the interactive parallel execution of MATLAB commands. pmode achieves this by defining and submitting a parallel job, and opening a Parallel Command Window connected to the labs running the job. Syntax:- pmode start pmode start numlabs pmode start conf numlabs pmode quit pmode exit Example:-
  28. 28. Pmode with labindex while ( n <= 10000) primes = newprime( n ) ; fprintf( 1 , ' %8d %8d n ' , n , primes ) ; if labindex==1 n = n * 10 ; else n =n*20; end end function [ total ] = newprime( n ) %NEWPRIME Summary of this function goes here % Detailed explanation goes here total = 0 ; tic Parfor i = 2 : n prime = 1 ; for j = 2 : i-1 if( mod ( i , j ) == 0 ) prime = 0 ; end end total = total + prime ; end toc return end Function call
  29. 29. Pmode output window : -
  30. 30. Spmd command Spmd “Single program multiple data” execute code in parallel on MATLAB pool The "single program" aspect of spmd means that the identical code runs on multiple labs. The "multiple data" aspect means that even though the spmd statement runs identical code on all labs, each lab can have different, unique data for that code. Syntax spmd, statements, end spmd(n), statements, end spmd(m, n), statements, end For example, create a random matrix on three labs: matlabpool open spmd (2) R = rand(4,4); end matlabpool close
  31. 31. Simple example of spmd with 2 lab
  32. 32. Conclusion MATLAB Parallel computing toolbox has the large number of functionality .Which is essay to understand and solve the complex parallel computing problems .
  33. 33. Thank You
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×