<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4593792192521773085</id><updated>2024-09-21T22:58:47.232-07:00</updated><category term="MPI"/><category term="OpenMP"/><category term="Amdaht law"/><category term="CFD"/><category term="China"/><category term="Diaoyu"/><category term="Distributed Memory"/><category term="Hyper-Threading"/><category term="Japan"/><category term="Linear Speedup"/><category term="Look East Policy"/><category term="MPICH"/><category term="Message Passing Interface"/><category term="Parallel Computation"/><category term="Parallelization"/><category term="Senkaku"/><category term="SharedMemory"/><category term="South Korea"/><category term="Speedup"/><category term="Super Speedup"/><category term="Taiwan"/><category term="Tension"/><category term="Thermal Design Power"/><category term="Turbo Boost Technology"/><category term="UMA"/><category term="efficiency"/><title type='text'>Parallel Computation </title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://pawangh.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4593792192521773085/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://pawangh.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Pawan Ghildiyal</name><uri>http://www.blogger.com/profile/16825437735718160679</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4593792192521773085.post-607529593235631273</id><published>2014-06-04T20:40:00.000-07:00</published><updated>2014-06-05T21:59:34.526-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Amdaht law"/><category scheme="http://www.blogger.com/atom/ns#" term="CFD"/><category scheme="http://www.blogger.com/atom/ns#" term="efficiency"/><category scheme="http://www.blogger.com/atom/ns#" term="Hyper-Threading"/><category scheme="http://www.blogger.com/atom/ns#" term="Linear Speedup"/><category scheme="http://www.blogger.com/atom/ns#" term="Message Passing Interface"/><category scheme="http://www.blogger.com/atom/ns#" term="MPI"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenMP"/><category scheme="http://www.blogger.com/atom/ns#" term="Parallel Computation"/><category scheme="http://www.blogger.com/atom/ns#" term="Parallelization"/><category scheme="http://www.blogger.com/atom/ns#" term="Speedup"/><category scheme="http://www.blogger.com/atom/ns#" term="Super Speedup"/><category scheme="http://www.blogger.com/atom/ns#" term="Thermal Design Power"/><category scheme="http://www.blogger.com/atom/ns#" term="Turbo Boost Technology"/><title type='text'>Parallel Computation: Best Practices While Testing The Speedup </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;This article is intended for programmers (especially CFD developers or Engineers) who intend to test scale up or performance of their applications in modern processor using either MPI(Message Passing Interface ) or OpenMP(Open Multiprocessing).&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Modern computer hardware are loaded with technologies like Turbo Boost Technology or Turbo Core Technolgy, vector   registers and others to accelerate code performance or with such technologies which enable more threads to operate than physical available units, thus increasing parallel execution of task. However effect of few of the technologies in performance may vary depending on load, memory requirement and other parameter, hence either not uniform for all processor or affect performance which may not be desired for developer as it may give wrong picture.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; Parallelization of the code aims at faster execution of program using multiple processes or multiple threads on desired number of processing units i,e processor. This article aim to teach basic concepts as well equip one with other information which every programmers or testers should know, before going to test their application for speedup and efficiency as well the best practices to measure them. It do not intend to teach or guide ways of doing parallelization. Before going further, it will be good to brush a few terminologies which are used in context of parallel computation.&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;LEFT&quot; style=&quot;line-height: 115%;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;line-height: 115%;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Basic Terminology&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;h3 style=&quot;margin: 0in 0in 0.0001pt; text-align: left;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 16pt;&quot;&gt;Speedup&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif;&quot;&gt;Speedup is ratio of time taken in single processor to time taken
in multiple processors&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 1.5in; margin-right: 0in; margin-top: 0in; text-indent: .5in;&quot;&gt;
&lt;!--[if gte msEquation 12]&gt;&lt;m:oMathPara&gt;&lt;m:oMath&gt;&lt;b
  style=&#39;mso-bidi-font-weight:normal&#39;&gt;&lt;i style=&#39;mso-bidi-font-style:normal&#39;&gt;&lt;span
  style=&#39;font-size:16.0pt;font-family:&quot;Cambria Math&quot;,&quot;serif&quot;;mso-bidi-font-family:
  Arial;color:black&#39;&gt;&lt;m:r&gt;&lt;m:rPr&gt;&lt;m:scr m:val=&quot;roman&quot;/&gt;&lt;m:sty m:val=&quot;bi&quot;/&gt;&lt;/m:rPr&gt;Speed&lt;/m:r&gt;&lt;m:r&gt;&lt;m:rPr&gt;&lt;m:scr
     m:val=&quot;roman&quot;/&gt;&lt;m:sty m:val=&quot;bi&quot;/&gt;&lt;/m:rPr&gt; &lt;/m:r&gt;&lt;m:r&gt;&lt;m:rPr&gt;&lt;m:scr m:val=&quot;roman&quot;/&gt;&lt;m:sty
     m:val=&quot;bi&quot;/&gt;&lt;/m:rPr&gt;Up&lt;/m:r&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i style=&#39;mso-bidi-font-style:
  normal&#39;&gt;&lt;span style=&#39;font-size:16.0pt;font-family:&quot;Cambria Math&quot;,&quot;serif&quot;;
  mso-bidi-font-family:Arial;color:black&#39;&gt;&lt;m:r&gt;=&lt;span
   style=&#39;mso-spacerun:yes&#39;&gt;  &lt;/span&gt;&lt;/m:r&gt;&lt;/span&gt;&lt;/i&gt;&lt;m:f&gt;&lt;m:fPr&gt;&lt;span
    style=&#39;font-size:16.0pt;mso-ansi-font-size:16.0pt;mso-bidi-font-size:16.0pt;
    font-family:&quot;Cambria Math&quot;,&quot;serif&quot;;mso-ascii-font-family:&quot;Cambria Math&quot;;
    mso-hansi-font-family:&quot;Cambria Math&quot;;mso-bidi-font-family:Arial;color:black;
    font-style:italic;mso-bidi-font-style:normal&#39;&gt;&lt;m:ctrlPr&gt;&lt;/m:ctrlPr&gt;&lt;/span&gt;&lt;/m:fPr&gt;&lt;m:num&gt;&lt;i
    style=&#39;mso-bidi-font-style:normal&#39;&gt;&lt;span style=&#39;font-size:16.0pt;
    font-family:&quot;Cambria Math&quot;,&quot;serif&quot;;mso-bidi-font-family:Arial;color:black&#39;&gt;&lt;m:r&gt;&lt;span
     style=&#39;mso-spacerun:yes&#39;&gt;      &lt;/span&gt;&lt;/m:r&gt;&lt;m:r&gt;Execution&lt;/m:r&gt;&lt;m:r&gt; &lt;/m:r&gt;&lt;m:r&gt;Time&lt;/m:r&gt;&lt;m:r&gt;&lt;span
     style=&#39;mso-spacerun:yes&#39;&gt;  &lt;/span&gt;&lt;/m:r&gt;&lt;m:r&gt;in&lt;/m:r&gt;&lt;m:r&gt; &lt;/m:r&gt;&lt;m:r&gt;Single&lt;/m:r&gt;&lt;m:r&gt;
     &lt;/m:r&gt;&lt;m:r&gt;Processor&lt;/m:r&gt;&lt;m:r&gt; &lt;/m:r&gt;&lt;/span&gt;&lt;/i&gt;&lt;/m:num&gt;&lt;m:den&gt;&lt;i
    style=&#39;mso-bidi-font-style:normal&#39;&gt;&lt;span style=&#39;font-size:16.0pt;
    font-family:&quot;Cambria Math&quot;,&quot;serif&quot;;mso-bidi-font-family:Arial;color:black&#39;&gt;&lt;m:r&gt;Execution&lt;/m:r&gt;&lt;m:r&gt;&lt;span
     style=&#39;mso-spacerun:yes&#39;&gt;  &lt;/span&gt;&lt;/m:r&gt;&lt;m:r&gt;Time&lt;/m:r&gt;&lt;m:r&gt; &lt;/m:r&gt;&lt;m:r&gt;for&lt;/m:r&gt;&lt;m:r&gt;
     &lt;/m:r&gt;&lt;m:r&gt;Parallel&lt;/m:r&gt;&lt;m:r&gt; &lt;/m:r&gt;&lt;m:r&gt;run&lt;/m:r&gt;&lt;/span&gt;&lt;/i&gt;&lt;/m:den&gt;&lt;/m:f&gt;&lt;i
  style=&#39;mso-bidi-font-style:normal&#39;&gt;&lt;span style=&#39;font-size:16.0pt;font-family:
  &quot;Cambria Math&quot;,&quot;serif&quot;;mso-bidi-font-family:Arial;color:black&#39;&gt;&lt;m:r&gt;=&lt;span
   style=&#39;mso-spacerun:yes&#39;&gt;                              &lt;/span&gt;&lt;/m:r&gt;&lt;/span&gt;&lt;/i&gt;&lt;m:f&gt;&lt;m:fPr&gt;&lt;span
    style=&#39;font-size:16.0pt;mso-ansi-font-size:16.0pt;mso-bidi-font-size:16.0pt;
    font-family:&quot;Cambria Math&quot;,&quot;serif&quot;;mso-ascii-font-family:&quot;Cambria Math&quot;;
    mso-hansi-font-family:&quot;Cambria Math&quot;;mso-bidi-font-family:Arial;color:black;
    font-style:italic;mso-bidi-font-style:normal&#39;&gt;&lt;m:ctrlPr&gt;&lt;/m:ctrlPr&gt;&lt;/span&gt;&lt;/m:fPr&gt;&lt;m:num&gt;&lt;i
    style=&#39;mso-bidi-font-style:normal&#39;&gt;&lt;span style=&#39;font-size:16.0pt;
    font-family:&quot;Cambria Math&quot;,&quot;serif&quot;;mso-bidi-font-family:Arial;color:black&#39;&gt;&lt;m:r&gt;T&lt;/m:r&gt;&lt;m:r&gt;1&lt;/m:r&gt;&lt;/span&gt;&lt;/i&gt;&lt;/m:num&gt;&lt;m:den&gt;&lt;i
    style=&#39;mso-bidi-font-style:normal&#39;&gt;&lt;span style=&#39;font-size:16.0pt;
    font-family:&quot;Cambria Math&quot;,&quot;serif&quot;;mso-bidi-font-family:Arial;color:black&#39;&gt;&lt;m:r&gt;Tn&lt;/m:r&gt;&lt;/span&gt;&lt;/i&gt;&lt;/m:den&gt;&lt;/m:f&gt;&lt;i
  style=&#39;mso-bidi-font-style:normal&#39;&gt;&lt;span style=&#39;font-size:16.0pt;font-family:
  &quot;Cambria Math&quot;,&quot;serif&quot;;mso-bidi-font-family:Arial;color:black&#39;&gt;&lt;m:r&gt;&lt;span
   style=&#39;mso-spacerun:yes&#39;&gt;                                             
   &lt;/span&gt;&lt;/m:r&gt;&lt;/span&gt;&lt;/i&gt;&lt;/m:oMath&gt;&lt;/m:oMathPara&gt;&lt;![endif]--&gt;&lt;!--[if !msEquation]--&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11.0pt; line-height: 115%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;v:shapetype coordsize=&quot;21600,21600&quot; filled=&quot;f&quot; id=&quot;_x0000_t75&quot; o:preferrelative=&quot;t&quot; o:spt=&quot;75&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; stroked=&quot;f&quot;&gt;
 &lt;v:stroke joinstyle=&quot;miter&quot;&gt;
 &lt;v:formulas&gt;
  &lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;
  &lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;
  &lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;
  &lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;
  &lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;
  &lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;
  &lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;
  &lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;
  &lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;
  &lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;
  &lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;
  &lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;
 &lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;
 &lt;v:path gradientshapeok=&quot;t&quot; o:connecttype=&quot;rect&quot; o:extrusionok=&quot;f&quot;&gt;
 &lt;o:lock aspectratio=&quot;t&quot; v:ext=&quot;edit&quot;&gt;
&lt;/o:lock&gt;&lt;/v:path&gt;&lt;/v:stroke&gt;&lt;/v:shapetype&gt;&lt;v:shape id=&quot;_x0000_i1025&quot; style=&quot;height: 108.75pt; width: 468pt;&quot; type=&quot;#_x0000_t75&quot;&gt;
 &lt;v:imagedata chromakey=&quot;white&quot; o:title=&quot;&quot; src=&quot;file:///C:\Users\pawan\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png&quot;&gt;
&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 11.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxJnJ9waALPvx2_p84_OM4GPWqn11qziZFujqxg-qd-dIElX74PSDskjXuQphT1fy87XRjLmDuqu0bIlX4WehK2sjNznDRIHtkBw7-saGgN6FW0wedLHyEtj4GrBvZQxTJPOHOki-AM0w/s1600/image001.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxJnJ9waALPvx2_p84_OM4GPWqn11qziZFujqxg-qd-dIElX74PSDskjXuQphT1fy87XRjLmDuqu0bIlX4WehK2sjNznDRIHtkBw7-saGgN6FW0wedLHyEtj4GrBvZQxTJPOHOki-AM0w/s1600/image001.png&quot; height=&quot;68&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;!--[if gte msEquation 12]&gt;&lt;m:oMathPara&gt;&lt;m:oMath&gt;&lt;b
  style=&#39;mso-bidi-font-weight:normal&#39;&gt;&lt;i style=&#39;mso-bidi-font-style:normal&#39;&gt;&lt;span
  style=&#39;font-size:16.0pt;line-height:115%;font-family:&quot;Cambria Math&quot;,&quot;serif&quot;;
  mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;
  mso-bidi-font-family:Arial;color:black;mso-ansi-language:EN-US;mso-fareast-language:
  EN-US;mso-bidi-language:AR-SA&#39;&gt;&lt;m:r&gt;&lt;m:rPr&gt;&lt;m:scr m:val=&quot;roman&quot;/&gt;&lt;m:sty m:val=&quot;bi&quot;/&gt;&lt;/m:rPr&gt;Speed&lt;/m:r&gt;&lt;m:r&gt;&lt;m:rPr&gt;&lt;m:scr
     m:val=&quot;roman&quot;/&gt;&lt;m:sty m:val=&quot;bi&quot;/&gt;&lt;/m:rPr&gt; &lt;/m:r&gt;&lt;m:r&gt;&lt;m:rPr&gt;&lt;m:scr m:val=&quot;roman&quot;/&gt;&lt;m:sty
     m:val=&quot;bi&quot;/&gt;&lt;/m:rPr&gt;Up&lt;/m:r&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i style=&#39;mso-bidi-font-style:
  normal&#39;&gt;&lt;span style=&#39;font-size:16.0pt;line-height:115%;font-family:&quot;Cambria Math&quot;,&quot;serif&quot;;
  mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;
  mso-bidi-font-family:Arial;color:black;mso-ansi-language:EN-US;mso-fareast-language:
  EN-US;mso-bidi-language:AR-SA&#39;&gt;&lt;m:r&gt;=&lt;span style=&#39;mso-spacerun:yes&#39;&gt;  &lt;/span&gt;&lt;/m:r&gt;&lt;/span&gt;&lt;/i&gt;&lt;m:f&gt;&lt;m:fPr&gt;&lt;span
    style=&#39;font-size:16.0pt;mso-ansi-font-size:16.0pt;mso-bidi-font-size:16.0pt;
    font-family:&quot;Cambria Math&quot;,&quot;serif&quot;;mso-ascii-font-family:&quot;Cambria Math&quot;;
    mso-hansi-font-family:&quot;Cambria Math&quot;;mso-bidi-font-family:Arial;color:black;
    font-style:italic;mso-bidi-font-style:normal&#39;&gt;&lt;m:ctrlPr&gt;&lt;/m:ctrlPr&gt;&lt;/span&gt;&lt;/m:fPr&gt;&lt;m:num&gt;&lt;i
    style=&#39;mso-bidi-font-style:normal&#39;&gt;&lt;span style=&#39;font-size:16.0pt;
    line-height:115%;font-family:&quot;Cambria Math&quot;,&quot;serif&quot;;mso-fareast-font-family:
    Calibri;mso-fareast-theme-font:minor-latin;mso-bidi-font-family:Arial;
    color:black;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:
    AR-SA&#39;&gt;&lt;m:r&gt;&lt;span style=&#39;mso-spacerun:yes&#39;&gt;      &lt;/span&gt;&lt;/m:r&gt;&lt;m:r&gt;Execution&lt;/m:r&gt;&lt;m:r&gt;
     &lt;/m:r&gt;&lt;m:r&gt;Time&lt;/m:r&gt;&lt;m:r&gt;&lt;span style=&#39;mso-spacerun:yes&#39;&gt;  &lt;/span&gt;&lt;/m:r&gt;&lt;m:r&gt;in&lt;/m:r&gt;&lt;m:r&gt;
     &lt;/m:r&gt;&lt;m:r&gt;Single&lt;/m:r&gt;&lt;m:r&gt; &lt;/m:r&gt;&lt;m:r&gt;Processor&lt;/m:r&gt;&lt;m:r&gt; &lt;/m:r&gt;&lt;/span&gt;&lt;/i&gt;&lt;/m:num&gt;&lt;m:den&gt;&lt;i
    style=&#39;mso-bidi-font-style:normal&#39;&gt;&lt;span style=&#39;font-size:16.0pt;
    line-height:115%;font-family:&quot;Cambria Math&quot;,&quot;serif&quot;;mso-fareast-font-family:
    Calibri;mso-fareast-theme-font:minor-latin;mso-bidi-font-family:Arial;
    color:black;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:
    AR-SA&#39;&gt;&lt;m:r&gt;Execution&lt;/m:r&gt;&lt;m:r&gt;&lt;span style=&#39;mso-spacerun:yes&#39;&gt;  &lt;/span&gt;&lt;/m:r&gt;&lt;m:r&gt;Time&lt;/m:r&gt;&lt;m:r&gt;
     &lt;/m:r&gt;&lt;m:r&gt;for&lt;/m:r&gt;&lt;m:r&gt; &lt;/m:r&gt;&lt;m:r&gt;Parallel&lt;/m:r&gt;&lt;m:r&gt; &lt;/m:r&gt;&lt;m:r&gt;run&lt;/m:r&gt;&lt;/span&gt;&lt;/i&gt;&lt;/m:den&gt;&lt;/m:f&gt;&lt;i
  style=&#39;mso-bidi-font-style:normal&#39;&gt;&lt;span style=&#39;font-size:16.0pt;line-height:
  115%;font-family:&quot;Cambria Math&quot;,&quot;serif&quot;;mso-fareast-font-family:Calibri;
  mso-fareast-theme-font:minor-latin;mso-bidi-font-family:Arial;color:black;
  mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA&#39;&gt;&lt;m:r&gt;=&lt;span
   style=&#39;mso-spacerun:yes&#39;&gt;                              &lt;/span&gt;&lt;/m:r&gt;&lt;/span&gt;&lt;/i&gt;&lt;m:f&gt;&lt;m:fPr&gt;&lt;span
    style=&#39;font-size:16.0pt;mso-ansi-font-size:16.0pt;mso-bidi-font-size:16.0pt;
    font-family:&quot;Cambria Math&quot;,&quot;serif&quot;;mso-ascii-font-family:&quot;Cambria Math&quot;;
    mso-hansi-font-family:&quot;Cambria Math&quot;;mso-bidi-font-family:Arial;color:black;
    font-style:italic;mso-bidi-font-style:normal&#39;&gt;&lt;m:ctrlPr&gt;&lt;/m:ctrlPr&gt;&lt;/span&gt;&lt;/m:fPr&gt;&lt;m:num&gt;&lt;i
    style=&#39;mso-bidi-font-style:normal&#39;&gt;&lt;span style=&#39;font-size:16.0pt;
    line-height:115%;font-family:&quot;Cambria Math&quot;,&quot;serif&quot;;mso-fareast-font-family:
    Calibri;mso-fareast-theme-font:minor-latin;mso-bidi-font-family:Arial;
    color:black;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:
    AR-SA&#39;&gt;&lt;m:r&gt;T&lt;/m:r&gt;&lt;m:r&gt;1&lt;/m:r&gt;&lt;/span&gt;&lt;/i&gt;&lt;/m:num&gt;&lt;m:den&gt;&lt;i
    style=&#39;mso-bidi-font-style:normal&#39;&gt;&lt;span style=&#39;font-size:16.0pt;
    line-height:115%;font-family:&quot;Cambria Math&quot;,&quot;serif&quot;;mso-fareast-font-family:
    Calibri;mso-fareast-theme-font:minor-latin;mso-bidi-font-family:Arial;
    color:black;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:
    AR-SA&#39;&gt;&lt;m:r&gt;Tn&lt;/m:r&gt;&lt;/span&gt;&lt;/i&gt;&lt;/m:den&gt;&lt;/m:f&gt;&lt;i style=&#39;mso-bidi-font-style:
  normal&#39;&gt;&lt;span style=&#39;font-size:16.0pt;line-height:115%;font-family:&quot;Cambria Math&quot;,&quot;serif&quot;;
  mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;
  mso-bidi-font-family:Arial;color:black;mso-ansi-language:EN-US;mso-fareast-language:
  EN-US;mso-bidi-language:AR-SA&#39;&gt;&lt;m:r&gt;&lt;span
   style=&#39;mso-spacerun:yes&#39;&gt;                                             
   &lt;/span&gt;&lt;/m:r&gt;&lt;/span&gt;&lt;/i&gt;&lt;/m:oMath&gt;&lt;/m:oMathPara&gt;&lt;![endif]--&gt;&lt;!--[if !msEquation]--&gt;&lt;!--[endif]--&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Higher the value, better is the speedup (desired). &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Usually application’s speedup curve flattens with increase in
processor in CFD &lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Computational&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;Fluid Dynamics) solvers using MPI&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-size: 16pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMAqB-WLzPy-wUJQbWtToXJtKBxPDyuMbIlonU2tIKWTLX1Nmkn4ijZbCU2i_j01_A6EllrG4CQ841Ar8qdGiudS2gAWJ65MeqbSEbLzdW5ZWel5FhSjhnu2icCAsQVG0Va1wKbVOssSw/s1600/image002.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMAqB-WLzPy-wUJQbWtToXJtKBxPDyuMbIlonU2tIKWTLX1Nmkn4ijZbCU2i_j01_A6EllrG4CQ841Ar8qdGiudS2gAWJ65MeqbSEbLzdW5ZWel5FhSjhnu2icCAsQVG0Va1wKbVOssSw/s1600/image002.png&quot; height=&quot;235&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-size: 16pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;PreformattedText&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 14.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;PreformattedText&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 14.0pt;&quot;&gt;Linear
Speedup or Ideal Speedup:&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 14.0pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Linear&amp;nbsp;speedup&amp;nbsp;is achieved when doubling the number of processors
decrease the&amp;nbsp;execution time by half. It is an ideal case and not always achieved.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-size: 16pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-size: 16pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaX3ZMBy3B78ETUKBOMLEDFRqldDDZt6q2F7qTpSYZgO5siwmTOuKlYqNenPijvjerBpoT7qlSk4aVtU8N5H6MtYBJzhU3PvFHcAKj_53t58pzDs7S8xALA9xbDXJmF30qX1wJplUUh5U/s1600/image003.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaX3ZMBy3B78ETUKBOMLEDFRqldDDZt6q2F7qTpSYZgO5siwmTOuKlYqNenPijvjerBpoT7qlSk4aVtU8N5H6MtYBJzhU3PvFHcAKj_53t58pzDs7S8xALA9xbDXJmF30qX1wJplUUh5U/s1600/image003.png&quot; height=&quot;216&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-size: 16pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-size: 16pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h3 style=&quot;margin: 0in 0in 0.0001pt; text-align: left;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Super Speedup:&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;A special case when speedup achieved is more
than the number of processors or processing units in which case is run. One of the reasons&amp;nbsp; is the cache effect in modern processors.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h3 style=&quot;margin: 0in 0in 0.0001pt; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;Efficiency&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;Efficiency tells about the processor/resource utilization. &amp;nbsp;&amp;nbsp;Efficiency is the
ratio of the time &amp;nbsp; taken in single processor to total time taken in multiprocessor (i.e
time taken for parallel run x number of
processor). Higher the efficiency better is the program. Its value vary from
0 to 1 . Higher the efficiency better the utilization of resources&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXjOG5qQEI5MR6euJM9Qcz-OT6cqu-btVqbv_hBcDhzq25G1HwDiTn53Ik1CUM95pAECpoatmkvmXcMD2cetdCb2yQkTkU8xa_48voGLbTd7ti9h68XUN1SDWKBbINIx7858v01sWY9wc/s1600/image005.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXjOG5qQEI5MR6euJM9Qcz-OT6cqu-btVqbv_hBcDhzq25G1HwDiTn53Ik1CUM95pAECpoatmkvmXcMD2cetdCb2yQkTkU8xa_48voGLbTd7ti9h68XUN1SDWKBbINIx7858v01sWY9wc/s1600/image005.png&quot; height=&quot;290&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Program running on single
processor as well program having linear &amp;nbsp;speedup&amp;nbsp; has efficiency of&amp;nbsp; one.
Lower efficiency usually points to complex program which is difficult to
parallelize as well communication and synchronization overheads&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;Amdahl’s law&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Amdahl’s law enables to determine
maximum speed up that one can expects by parallelizing program or algorithm. Every
parallel program consists of two section i.e parallel section and sequential section.
Parallel section is that section which can be parallelized or work in that
section can be distributed between processor. While sequential section is common
to every process and need to be executed by all processor.&amp;nbsp;So a
process&amp;nbsp;speedup&amp;nbsp;is limited by ratio of time taken to execute&amp;nbsp;parallel section
to sequential section.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaJ6SNxMGbMdsy7nc7p8Z4bN5r5ywx6Deh3KK0DBebHYPTz56SKfpLIW1T3kKhopJb9WI-APOugmg4w0gvxRxbCjK-vFVqmGApUaOsa2fcIJS6MDsUbDHdtz_yB5_quR_jpSxsrxEPu00/s1600/image006.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaJ6SNxMGbMdsy7nc7p8Z4bN5r5ywx6Deh3KK0DBebHYPTz56SKfpLIW1T3kKhopJb9WI-APOugmg4w0gvxRxbCjK-vFVqmGApUaOsa2fcIJS6MDsUbDHdtz_yB5_quR_jpSxsrxEPu00/s1600/image006.png&quot; height=&quot;65&quot; width=&quot;320&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMAIgIZdpY23Lu3Nh7plZXOujDZW2pN8B9h0lND1CYkW5i_Xq6RpNzy3NY89uqGA4Hx50zNU01kRWmqrhSuTBFvx0YRGpMCk6_Bc9giIcvaWtzkeyQq1U7cafbCfxH3Qt9jMjn02EdGxM/s1600/image007.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMAIgIZdpY23Lu3Nh7plZXOujDZW2pN8B9h0lND1CYkW5i_Xq6RpNzy3NY89uqGA4Hx50zNU01kRWmqrhSuTBFvx0YRGpMCk6_Bc9giIcvaWtzkeyQq1U7cafbCfxH3Qt9jMjn02EdGxM/s1600/image007.png&quot; height=&quot;64&quot; width=&quot;320&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Where f is fraction of code that
can be parallelized and n is number of processor to be used. &amp;nbsp;So if code takes 80% of execution
time for section of code that can be be&amp;nbsp;parallelized&amp;nbsp;in single processor,then
maximum speed up that one can&amp;nbsp;expect is &amp;nbsp;5 .&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;What should &amp;nbsp;programmer know&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;
&lt;div style=&quot;text-indent: 0px;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 115%; text-indent: 0.5in;&quot;&gt;Once one has &amp;nbsp;parallelized the program, the
next task is to benchmark the performance of parallelized code i.e to check
speedup or scale up and efficiency of code.&amp;nbsp;&lt;/span&gt;Using Amdahl&#39;s law, one can
estimate the maximum speedup that one can get
after parallelizing the code. However in
all analysis, we assume similar hardware performance which is not so in reality with modern processor . With advent of new technology to efficiently utilize
resources and maximize resource usage, the operating frequency as well cache memory
effect, depend on process to be running as well its memory usage.The point
is on using &lt;i&gt;n number of&amp;nbsp;&lt;/i&gt;&amp;nbsp;&lt;i&gt;processor,&lt;/i&gt;it is natural to&amp;nbsp;expect same &amp;nbsp;performance from
each of the processor &amp;nbsp;but in actual, it is not
the case. Below we briefly discuss Hyper-Threading&amp;nbsp;as well Turbo Boost&amp;nbsp;technology/Turbo Core technolgy. &lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;before going on guidelines.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;Hyper-Threading&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;It is Intel patented technology that
enables one core to look like two cores. So physically there will be one core
but to user it will look like two cores. This is based on efficient use of
processor resources that enable multiple threads to execute concurrently. Hyper-Threading enable better usage of resource allowing concurrent&amp;nbsp;executions&amp;nbsp;of two threads and delivers more output. However for memory intensive calculations, Hyper-Threading can affect performance in negative way too, as one physical &amp;nbsp;processor is being used by two processes which can put load on resources i.e cache memory and other and slower the execution as compared to what if two
physical cores is being used. So while calculating speed up, we should switch
off the Hyper-Threading, otherwise you could see lower speed up or in some
cases and also one can find higher execution time with increase in processor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;Suggestion&lt;/b&gt; : Switch off &amp;nbsp;Hyper-Threading, It can be disabled from BIOS. Google how to disable Hyper-Threading .&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX28a5-s6TiJWri_hgO3JIv1px1WnQVvOpUwTAdJZ2_gx_G2idYdFilmszxv-Y_3K1Wp0zRac6VoZfJkrAXFByG-yDei-unRSD0W1bOvsoEwQVRBhYcSVxzYWOqncvONmniR06-HKvBmg/s1600/image008.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX28a5-s6TiJWri_hgO3JIv1px1WnQVvOpUwTAdJZ2_gx_G2idYdFilmszxv-Y_3K1Wp0zRac6VoZfJkrAXFByG-yDei-unRSD0W1bOvsoEwQVRBhYcSVxzYWOqncvONmniR06-HKvBmg/s1600/image008.jpg&quot; height=&quot;300&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;Turbo Boost Technology&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Turbo Boost technology(Intel&#39;s ) or Turbo Core Technology(AMD) enables
cores to operate at frequency higher than operating frequency hence increasing
speed of processor. Frequency is like speed of processor, higher the frequency, faster the processor and higher the heat generation.However &amp;nbsp;higher heat generation has limited
the frequency on which processors can operate&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;i&gt;Back ground&lt;/i&gt; :
Multicore are designed to operate at base operating frequency which enable
safer operations i.e operate below TDP(Thermal design power : maximum amount of
heat generated which can be dissipated by cooling system of generator).
However there is always possibility that few core are sitting idle because of
less workload and hence less heat generated than TDP. In such scenario it will
be useful that cores which are not idle operate at&amp;nbsp; frequency higher than
operating frequency which will increase speed of &amp;nbsp;&amp;nbsp;execution &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;i&gt;Effect &lt;/i&gt;: It can cause
&amp;nbsp;execution of program in less number of processor to be faster as compared to larger number of
processor, hence giving confusing data for speed up &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;Suggestion&lt;/b&gt;:&amp;nbsp;Switch of the Turbo Boost Technology or &lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Turbo Core Technology(AMD)&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;.&amp;nbsp;It can be disabled from BIOS. Please google to find how to do it or whether your hardware has this technology &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;One last thing&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;What happens when user launch
parallelized code in multi-core processor. Does thread or process &amp;nbsp;always run on some specified processor ?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;The answer is no&amp;nbsp;until&amp;nbsp; you have
specified the affinity i.e one can ask the OS(Operating System) to utilize particular processor
or processing unit for the process. In general, scheduler depending on load switches the process
among the different processors. Even when parallelized code is run on
multiprocessor machine, by default, scheduler decides usage of processor for
processes. In simple language, a processor say with id 1 may be running process with rank 1 at particular&amp;nbsp; time and process with rank 2 at another time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;h3&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;Benchmarking the performance of
parallelized code&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Hardware Suggestion&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;1. &amp;nbsp;Disable the Hyper-Threading.
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;2. &amp;nbsp;Disable the Turbo Boost technology&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;3. Machine to be used for testing performance of
application should be of same configuration. If testing is being done in distributed
systems ensure high speed network&amp;nbsp;connectivity as&amp;nbsp;infiniband.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Software Suggestion&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;1. &amp;nbsp;Make sure the executable
to be tested is not in debug mode.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;2. &amp;nbsp;Use profiler to note the
timing or use wall clock time. Using stop watch to check timing will not always
give right results. Why? &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;3. &amp;nbsp;Make sure no other process is running except
normal OS process. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;4. Also check whether computer is not running any
scheduled task at time of testing .In Linux, Cron is used to run scheduled task
at specified time or regular interval. &amp;nbsp;It will be good if we do not run such
task&amp;nbsp;or spare one core if possible which will allow system process or
other scheduled job . &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Case Selection and Running Suggestion (Written considering CFD
Solvers)&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify; text-indent: -18.75pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify; text-indent: -18.75pt;&quot;&gt;1.&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify; text-indent: -18.75pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify; text-indent: -18.75pt;&quot;&gt;Run case for sufficient &lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify; text-indent: -18.75pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify; text-indent: -18.75pt;&quot;&gt;number of iterations so that there can be
conspicuous difference &amp;nbsp;in timing when it is to be run for large number of
processors especially in case of distributed memory systems with MPI .&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify; text-indent: -18.75pt;&quot;&gt;2.&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify; text-indent: -18.75pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify; text-indent: -18.75pt;&quot;&gt;Also as in CFD-Solver there is one time computational cost for
reading case and other pre-processing , this time can be removed from actual
analysis.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify; text-indent: -18.75pt;&quot;&gt;3.&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify; text-indent: -18.75pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify; text-indent: -18.75pt;&quot;&gt;Do not write or save any
data from application when being tested for speedup or performance analysis.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify; text-indent: -18.75pt;&quot;&gt;4.&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify; text-indent: -18.75pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify; text-indent: -18.75pt;&quot;&gt;Memory requirement for case to be tested&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify; text-indent: -18.75pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify; text-indent: -18.75pt;&quot;&gt;should be such to minimize effect&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;of cache (L1,L2 and L3 ) on performance. &amp;nbsp;&lt;span style=&quot;background-color: #76a5af;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: lime;&quot;&gt;A detail analysis of effect on cache on speed &amp;nbsp;can be found on
this&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://drive.google.com/folderview?id=0B2Ex7KCBDMHOV2pGUWdsaUtPZDg&quot; style=&quot;background-color: lime; font-family: Arial,Helvetica,sans-serif; text-align: justify;&quot; target=&quot;_blank&quot;&gt;link.&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0.0001pt 36.75pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;b&gt;Conclusion &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;The above set of guidelines will
enable programmers to better judge the &amp;nbsp;performances &amp;nbsp; &amp;nbsp;of their&amp;nbsp;applications.
Please note that above guidelines is for testing&amp;nbsp;performance&amp;nbsp;and helping programmer&amp;nbsp; &amp;nbsp;in
better judging their parallelization of code. The above guidelines are based on
my experience with parallel computing especially for CFD softw&lt;a href=&quot;https://www.blogger.com/null&quot; name=&quot;_GoBack&quot;&gt;&lt;/a&gt;are.
&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 0in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Few of the guidelines like
switching OFF Hyper-Threading is applicable while running
CFD Solver in production run for memory intensive calculation whereas other
like turbo boost frequency is always suggested to be ON&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;(If you have any suggestion to add more thing or improve the article . Please comment on the article or mail me at &amp;nbsp;&lt;b&gt;pawan24ghildiyal@gmail.com&amp;nbsp;&lt;/b&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 14pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a href=&quot;https://plus.google.com/u/0/+pawanghildiyal?rel=author&quot;&gt;Google&lt;/a&gt;
&lt;script&gt;
  (function(i,s,o,g,r,a,m){i[&#39;GoogleAnalyticsObject&#39;]=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,&#39;script&#39;,&#39;//www.google-analytics.com/analytics.js&#39;,&#39;ga&#39;);

  ga(&#39;create&#39;, &#39;UA-51065649-1&#39;, &#39;pawangh.blogspot.com&#39;);
  ga(&#39;send&#39;, &#39;pageview&#39;);
&lt;/script&gt;

&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pawangh.blogspot.com/feeds/607529593235631273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pawangh.blogspot.com/2014/06/parallel-computation-best-practices.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4593792192521773085/posts/default/607529593235631273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4593792192521773085/posts/default/607529593235631273'/><link rel='alternate' type='text/html' href='http://pawangh.blogspot.com/2014/06/parallel-computation-best-practices.html' title='Parallel Computation: Best Practices While Testing The Speedup '/><author><name>Pawan Ghildiyal</name><uri>http://www.blogger.com/profile/16825437735718160679</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxJnJ9waALPvx2_p84_OM4GPWqn11qziZFujqxg-qd-dIElX74PSDskjXuQphT1fy87XRjLmDuqu0bIlX4WehK2sjNznDRIHtkBw7-saGgN6FW0wedLHyEtj4GrBvZQxTJPOHOki-AM0w/s72-c/image001.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4593792192521773085.post-1143513137199115206</id><published>2014-06-01T00:00:00.000-07:00</published><updated>2016-04-22T11:57:42.440-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Distributed Memory"/><category scheme="http://www.blogger.com/atom/ns#" term="MPI"/><category scheme="http://www.blogger.com/atom/ns#" term="MPICH"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenMP"/><category scheme="http://www.blogger.com/atom/ns#" term="SharedMemory"/><category scheme="http://www.blogger.com/atom/ns#" term="UMA"/><title type='text'>MPI vs  OpenMP: A Short Introduction Plus Comparison  (Parallel Computing)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;b&gt;&amp;nbsp;MPI Vs OpenMP : A Short Introduction Plus Comparison &lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; text-align: justify;&quot;&gt;Here i will talk briefly about &amp;nbsp;OpenMP and
MPI&amp;nbsp;(OpenMPI ,MPICH, HP-MPI) for parallel programming or parallel computing . (&lt;i&gt;Many a times one can easily confuse OpenMP
with OpenMPI or vice&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;i style=&quot;font-family: Arial, sans-serif;&quot;&gt;versa. OpenMPI is a particular API of MPI whereas OpenMP
is shared memory&amp;nbsp; standard available with compiler&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt; ). This is intended
for user who are new to parallel programming or  parallel computation and is thinking of using OpenMP or
MPI for their applications or learning. This will introduce them to with &amp;nbsp;differences as well advantages of both. I will not go in
development history of these two and changes that they have gone but will focus
on differences at present form&amp;nbsp; i.e with OpenMP 4  and MPI 3&lt;/span&gt;.&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;A Brief about MPI&amp;nbsp; &amp;amp; OpenMP&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;1. MPI stands for &lt;/span&gt;&lt;i style=&quot;font-family: Arial, sans-serif;&quot;&gt;Message
Passing Interface&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt; . These are available as API(Application programming
interface) or in library form&amp;nbsp; for C,C++ and
FORTRAN. &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;margin: 0in 0in 0in 35.35pt; text-align: justify; text-indent: -14.15pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;Different&amp;nbsp; MPI&#39;s API are available in
market i.e OpenMPI,MPICH,HP-MPI.Intel MPI, etc. Whereas many are freely
available like OpenMPI, MPICH etc , other like Intel &amp;nbsp;MPI comes with
license i.e you need to pay for it&amp;nbsp; . &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;margin: 0in 0in 0in 35.35pt; text-align: justify; text-indent: -14.15pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;One can use any one &amp;nbsp;of above to
parallelize&amp;nbsp; programs . MPI standards maintain that all of these APIs
provided by different vendors or groups follow similar standards, so all &amp;nbsp;
functions or subroutines in all different MPI API follow similar functionality as
well arguments.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;margin: 0in 0in 0in 35.35pt; text-align: justify; text-indent: -14.15pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;symbol&amp;quot;; text-indent: -14.15pt;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , sans-serif; text-indent: -14.15pt;&quot;&gt;The difference lies in implementation that
can make some MPIs API to be more efficient than other.&amp;nbsp; Many commercial
CFD-Packages gives user option to select between different MPI API. However HP-MPI
as well Intel MPIs are considered to be more efficient in performance.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;margin-left: 35.35pt; text-align: justify; text-indent: -14.15pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;When MPI was developed, it was aimed at
distributed memory system but now focus is both on distributed as well shared
memory system.&amp;nbsp;&amp;nbsp;&amp;nbsp; However it does not mean that with MPI , one
cannot run program on shared memory system,&amp;nbsp; it just&amp;nbsp; that earlier, we
could&amp;nbsp;&amp;nbsp;&amp;nbsp; not take advantage of shared memory but now we can with
latest MPI 3 &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;2.&amp;nbsp; OpenMP stand for &lt;i&gt;Open
Multiprocessing&lt;/i&gt; . OpenMP is basically an add on in compiler. It is available
in gcc (gnu compiler) , Intel compiler and with other compilers. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;margin: 0in 0in 0in 35.35pt; text-align: justify; text-indent: -14.15pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;OpenMP target shared memory systems i.e
where processor shared the main memory. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;margin: 0in 0in 0in 35.35pt; text-align: justify; text-indent: -14.15pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;OpenMP is based on thread approach . It
launches a single process which in turn can create &lt;i&gt;n&lt;/i&gt; number of thread as desired.&amp;nbsp; It is based on what is called
&quot;fork and join method&quot; i.e depending on particular task it can launch
desired number of thread as directed by user. &amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaL1-8ahcKWPY03V4hkL2O3y0LHuVYL3xf2mxJXEKS4p3RpbEUh-6jGzn4Fc49hMGMtDVrhGem7DJah-k59F4yU-C6TJRIh4usewX9vSAnwDWBR0Zj1v2LU0Dm4cd3MOyv0FO-X0QElzM/s1600/image003.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;132&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaL1-8ahcKWPY03V4hkL2O3y0LHuVYL3xf2mxJXEKS4p3RpbEUh-6jGzn4Fc49hMGMtDVrhGem7DJah-k59F4yU-C6TJRIh4usewX9vSAnwDWBR0Zj1v2LU0Dm4cd3MOyv0FO-X0QElzM/s1600/image003.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;liberation serif&amp;quot; , &amp;quot;serif&amp;quot;; font-size: 12.0pt;&quot;&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Fork and
Join Model of OpenMP :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;liberation serif&amp;quot; , &amp;quot;serif&amp;quot;; font-size: 12.0pt;&quot;&gt;Different stage of program show different number of
thread&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 35.35pt; margin-right: 0in; margin-top: 0in; mso-list: l1 level1 lfo2; tab-stops: 35.35pt; text-indent: -14.15pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;margin-left: 35.35pt; text-align: justify; text-indent: -14.15pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;Programming in OpenMP is relatively easy
and involve adding &lt;i&gt;pragma &lt;/i&gt;directive . User need to tell number of thread it
need to use.&amp;nbsp; (Note that launching more thread than number of processing
unit available can actually slow down the whole program )&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;margin-left: 35.35pt; mso-list: l0 level1 lfo1; tab-stops: 35.35pt; text-indent: -14.15pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;margin-left: 35.35pt; mso-list: l0 level1 lfo1; tab-stops: 35.35pt; text-indent: -14.15pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;What
is Shared Memory and Distributed Memory&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;margin-left: 35.35pt; mso-list: l0 level1 lfo1; tab-stops: 35.35pt; text-indent: -14.15pt;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;b&gt;1)&amp;nbsp;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;Shared memory &lt;/b&gt;is one where all processors can see whole of &amp;nbsp;the memory that is &amp;nbsp; &amp;nbsp;available . Simple
example&amp;nbsp;is&amp;nbsp; your desktop computer or laptop , where all processing&amp;nbsp; units&amp;nbsp;can see all the&amp;nbsp;memory of system&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl9nk3e6udBh-Fyk_s8tpYd_yHo42SP2Rwtrz5FbXLawXvMyTDQWipzK5K_4_tG3aXAk_2OibO4RwRCntNkVkEEf3GSN0qvwHI0qyrAbx5jXS_Wt9SAg7mfgBrZS3hwTdZwNh4mf0p_U4/s1600/image003.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;176&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl9nk3e6udBh-Fyk_s8tpYd_yHo42SP2Rwtrz5FbXLawXvMyTDQWipzK5K_4_tG3aXAk_2OibO4RwRCntNkVkEEf3GSN0qvwHI0qyrAbx5jXS_Wt9SAg7mfgBrZS3hwTdZwNh4mf0p_U4/s1600/image003.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Shared Memory : Processor 1 ,2 3 4 can see whole memory&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;&lt;b&gt;2) Distributed memory system &lt;/b&gt;is one where processor can see limited
memory i.e two desktop computer connected in&amp;nbsp;network . They can only see
memory available to them only not of other&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgW7WF02LuGDsWHXB5mu2WuUex6p2EJ-xVrui4Zb5GwKqqTEjwWgWC-DnOLHLiGDBwplJUUTBdiQL6D6yFaHl8a3G_TZHFZA6l4TFfzBTi__oaUZADJOD5miEr-6yNHXRDisCvOnBwZOe8/s1600/image001.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;88&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgW7WF02LuGDsWHXB5mu2WuUex6p2EJ-xVrui4Zb5GwKqqTEjwWgWC-DnOLHLiGDBwplJUUTBdiQL6D6yFaHl8a3G_TZHFZA6l4TFfzBTi__oaUZADJOD5miEr-6yNHXRDisCvOnBwZOe8/s1600/image001.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Distributed Memory System: CPU can see only limited memory of their own&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;What
is&amp;nbsp; Process and Thread&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;1) &lt;b&gt;Process&lt;/b&gt;:&amp;nbsp; An executing instance of program .It has
distinct address space . It different from other executing instance of program
in way that it has separate resources .&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;2) &lt;b&gt;Thread &lt;/b&gt;is subset of process. A process can have &lt;i&gt;n&amp;nbsp;&lt;/i&gt; number of threads as desired .
Every thread of process share&amp;nbsp; its all resources i.e data as well address
space of process that created it . Thread has to be part of some
process.&amp;nbsp;&amp;nbsp; It cannot be independent .&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; margin-left: 5.25pt; mso-padding-alt: 5.25pt 5.25pt 5.25pt 5.25pt; mso-table-layout-alt: fixed;&quot;&gt;
 &lt;tbody&gt;
&lt;tr style=&quot;height: 91.5pt;&quot;&gt;
  &lt;td style=&quot;background-color: #cccccc; height: 91.5pt; padding: 5.25pt; width: 269.45pt;&quot; valign=&quot;top&quot; width=&quot;359&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
  &lt;span style=&quot;font-size: 24pt;&quot;&gt;MPI&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;background-color: #cccccc; height: 91.5pt; padding: 5.25pt; width: 212.45pt;&quot; valign=&quot;top&quot; width=&quot;283&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;span style=&quot;font-size: 24pt;&quot;&gt;OpenMP&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 91.5pt;&quot;&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 91.5pt; padding: 5.25pt; width: 269.45pt;&quot; valign=&quot;top&quot; width=&quot;359&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;1&lt;/b&gt; . Available from different vendor and can be compiled in desired
  platform with desired compiler. One can use any of MPI API i.e MPICH, OpenMPI
  or other&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 91.5pt; padding: 5.25pt; width: 212.45pt;&quot; valign=&quot;top&quot; width=&quot;283&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;1&lt;/b&gt; .OpenMP are hooked with compiler so with gnu compiler and with
  Intel compiler one have specific implementation. User is at liberty with
  changing compiler but not with openmp implementation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 41.25pt;&quot;&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 41.25pt; padding: 5.25pt; width: 269.45pt;&quot; valign=&quot;top&quot; width=&quot;359&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;2&lt;/b&gt;. MPI support C,C++ and FORTRAN&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 41.25pt; padding: 5.25pt; width: 212.45pt;&quot; valign=&quot;top&quot; width=&quot;283&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;2&lt;/b&gt;.OpenMP support C,C++ and FORTRAN&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 45.0pt;&quot;&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 45pt; padding: 5.25pt; width: 269.45pt;&quot; valign=&quot;top&quot; width=&quot;359&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt; text-align: justify;&quot;&gt;
&lt;b&gt;3.&lt;/b&gt;OpenMPI one of&amp;nbsp; API for MPI is
  providing provisional support for Java&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 45pt; padding: 5.25pt; width: 212.45pt;&quot; valign=&quot;top&quot; width=&quot;283&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;3&lt;/b&gt;.Few projects try to replicate openmp for Java.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 44.25pt;&quot;&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 44.25pt; padding: 5.25pt; width: 269.45pt;&quot; valign=&quot;top&quot; width=&quot;359&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;4&lt;/b&gt;. MPI target both distributed as well shared memory system&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 44.25pt; padding: 5.25pt; width: 212.45pt;&quot; valign=&quot;top&quot; width=&quot;283&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;4&lt;/b&gt;.OpenMP target only shared memory system&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 91.5pt;&quot;&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 91.5pt; padding: 5.25pt; width: 269.45pt;&quot; valign=&quot;top&quot; width=&quot;359&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt; text-align: justify;&quot;&gt;
&lt;b&gt;5.&lt;/b&gt;Based on both process and thread
  based approach .(Earlier it was mainly process based parallelism but now with
  MPI 2 and 3 thread based parallelism is there too. Usually a process can
  contain more than 1 thread and call MPI subroutine as desired&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 91.5pt; padding: 5.25pt; width: 212.45pt;&quot; valign=&quot;top&quot; width=&quot;283&quot;&gt;&lt;div class=&quot;TableContents&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;5.&lt;/b&gt;Only thread based parallelism. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 73.5pt;&quot;&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 73.5pt; padding: 5.25pt; width: 269.45pt;&quot; valign=&quot;top&quot; width=&quot;359&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;6&lt;/b&gt;. Overhead for creating process is one time&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 73.5pt; padding: 5.25pt; width: 212.45pt;&quot; valign=&quot;top&quot; width=&quot;283&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;6.&lt;/b&gt; Depending on implementation threads can be created and joined
  for particular task which add overhead &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 42.0pt;&quot;&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 42pt; padding: 5.25pt; width: 269.45pt;&quot; valign=&quot;top&quot; width=&quot;359&quot;&gt;&lt;div class=&quot;TableContents&quot;&gt;
&lt;b&gt;7.&lt;/b&gt;There are
  overheads associated with transferring message from one process to another&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 42pt; padding: 5.25pt; width: 212.45pt;&quot; valign=&quot;top&quot; width=&quot;283&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;7&lt;/b&gt;.No such overheads, as thread can share variables&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 91.5pt;&quot;&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 91.5pt; padding: 5.25pt; width: 269.45pt;&quot; valign=&quot;top&quot; width=&quot;359&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;8&lt;/b&gt;. Process in MPI&amp;nbsp; has private variable only, no shared
  variable &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 91.5pt; padding: 5.25pt; width: 212.45pt;&quot; valign=&quot;top&quot; width=&quot;283&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;8&lt;/b&gt;.&amp;nbsp; In OpenMP , threads have both private as well shared
  variable &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 91.5pt;&quot;&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 91.5pt; padding: 5.25pt; width: 269.45pt;&quot; valign=&quot;top&quot; width=&quot;359&quot;&gt;&lt;div class=&quot;TableContents&quot;&gt;
&lt;b&gt;9&lt;/b&gt;.Data
  racing is not there if not using &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
any thread in process .&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 91.5pt; padding: 5.25pt; width: 212.45pt;&quot; valign=&quot;top&quot; width=&quot;283&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;9&lt;/b&gt;. Data racing is inherent in OpenMP model &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 91.5pt;&quot;&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 91.5pt; padding: 5.25pt; width: 269.45pt;&quot; valign=&quot;top&quot; width=&quot;359&quot;&gt;&lt;div class=&quot;TableContents&quot;&gt;
&lt;b&gt;10.&lt;/b&gt;Compilation
  of MPI program require &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;TableContents&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 1. Adding header file : #include
  &quot;mpi.h&quot; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;TableContents&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. compiler as:(in linux ) &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;TableContents&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;i&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-size: 12.0pt;&quot;&gt;mpic++&amp;nbsp;
  mpi.cxx -o mpiExe &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;TableContents&quot;&gt;
&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-size: 12.0pt;&quot;&gt;(User need to set environment variable PATH
  and LD_LIBRARY_PATH to MPI as OpenMPI installed folder or binaries) (For
  Linux)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 91.5pt; padding: 5.25pt; width: 212.45pt;&quot; valign=&quot;top&quot; width=&quot;283&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;10&lt;/b&gt;. Need to add&amp;nbsp; omp.h and then can directly compile code
  with -fopenmp in Linux environment &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&amp;nbsp;&amp;nbsp; &lt;i&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-size: 12.0pt;&quot;&gt;g++ -fopenmp openmp.cxx -o openmpExe &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 91.5pt;&quot;&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 91.5pt; padding: 5.25pt; width: 269.45pt;&quot; valign=&quot;top&quot; width=&quot;359&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;11 &lt;/b&gt;. Running MPI program .&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
a ) User need to make
  sure that bin and library folder from MPI installation are included in
  environmental variable PATH and LD_LIBRARY_PATH.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
b) For running
  executable from command line ,user
  need to supply following command&lt;o:p&gt;&lt;/o:p&gt; and
  specify number of processor as in example below
  it is four . &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 91.5pt; padding: 5.25pt; width: 212.45pt;&quot; valign=&quot;top&quot; width=&quot;283&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;11&lt;/b&gt;&lt;span style=&quot;background: #CFE2F3;&quot;&gt;. User can launch executable &lt;/span&gt;&lt;i&gt;&lt;span style=&quot;background: yellow;&quot;&gt;openmpExe&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;background: #CFE2F3;&quot;&gt;&amp;nbsp;in normal way &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 91.5pt; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td style=&quot;background-color: #eeeeee; height: 91.5pt; padding: 5.25pt; width: 269.45pt;&quot; valign=&quot;top&quot; width=&quot;359&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;mpirun -np 4 mpiExe&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;background-color: #eeeeee; height: 91.5pt; padding: 5.25pt; width: 212.45pt;&quot; valign=&quot;top&quot; width=&quot;283&quot;&gt;&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;./openmpExe&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;TableContents&quot; style=&quot;margin-bottom: 14.15pt;&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;Sample
MPI program&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;#include &amp;lt;iostream&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;#include &amp;lt;mpi.h&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;/**************************************************************************&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;This is a simple hello world program. Each processor print its
id&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;************************************************************/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;using namespace std;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;int main(int argc,char** argv)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;int myid, numprocs;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;MPI_Init(&amp;amp;argc,&amp;amp;argv);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;MPI_Comm_size(MPI_COMM_WORLD,&amp;amp;numprocs);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;MPI_Comm_rank(MPI_COMM_WORLD,&amp;amp;myid);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;/*
output&amp;nbsp; my rank */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;cout&amp;lt;&amp;lt;&quot;Hello from
&quot;&amp;lt;&amp;lt;myid&amp;lt;&amp;lt;endl;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;MPI_Finalize();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;u&gt;&amp;nbsp;&lt;/u&gt;&lt;u&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;Command to run executable with name a.out
in Linux&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt; &lt;b&gt;=&amp;nbsp; mpirun -np
4&amp;nbsp;&amp;nbsp; a.out&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;i&gt;&lt;span style=&quot;background: yellow; font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;;&quot;&gt;Output &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;Hello from 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp;&amp;nbsp; &lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;Hello from 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp;&amp;nbsp; &lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;Hello from 2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp;&amp;nbsp; &lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;Hello from 3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;Sample
OpenMP Program&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;#include&amp;lt;iostream&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;#include&amp;lt;omp.h&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;using namespace std;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;/********************************************************************&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;Sample OpenMP program which at stage 1 has 4 threads and at
stage 2 has 2 threads&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;**********************************************************/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;int main()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;#pragma omp parallel&amp;nbsp; num_threads(4) &lt;span style=&quot;background: lime;&quot;&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background: lime; font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;/*create 4 threads and region inside it will be
executed by all&amp;nbsp;&amp;nbsp; threads . */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp; &lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;#pragma omp critical//&lt;span style=&quot;background: lime;&quot;&gt;allow one thread at a time to access below statement&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp; &lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;cout&amp;lt;&amp;lt;&quot; Thread Id&amp;nbsp; in
OpenMP stage 1=&amp;nbsp; &quot;&amp;lt;&amp;lt;omp_get_thread_num()&amp;lt;&amp;lt; endl;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;}&amp;nbsp; //here all thread get merged into one thread id &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;cout&amp;lt;&amp;lt;&quot;I am alone&quot;&amp;lt;&amp;lt;endl;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;#pragma omp parallel num_threads(2&lt;span style=&quot;background: lime;&quot;&gt;)//create
two threads &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp; &lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;cout&amp;lt;&amp;lt;&quot; Thread Id&amp;nbsp; in
OpenMP stage 2=&amp;nbsp; &quot;&amp;lt;&amp;lt;omp_get_thread_num()&amp;lt;&amp;lt;&amp;nbsp; endl;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp;&lt;u&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;Command to run executable&amp;nbsp; with name
a.out&amp;nbsp; on Linux :&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;&amp;nbsp; /a.out&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;span style=&quot;background: yellow; font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;;&quot;&gt;Output&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;Thread Id&amp;nbsp; in
OpenMP stage 1= 2&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;Thread Id&amp;nbsp; in
OpenMP stage 1=0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;Thread Id&amp;nbsp; in
OpenMP stage 1=3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;Thread Id&amp;nbsp; in
OpenMP stage 1= 1 &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;I am alone&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;Thread Id&amp;nbsp; in
OpenMP stage 2= 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;Thread Id&amp;nbsp; in
OpenMP stage 2=0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;Summary&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;MPI and OpenMP have &amp;nbsp;its own advantages and limitations .
OpenMP is relatively easy to implement and involves few pragma directives to
achieve desired tasks. OpenMP can be used in recursive function as well i.e as
traversing in binary tree. &amp;nbsp;However it suffers from &amp;nbsp;problem of
memory limitations for memory intensive calculations.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: &amp;quot;Lohit Hindi&amp;quot;;&quot;&gt;MPI usually serve those problem well which involve large memory.
With MPI 3 , shared memory advantage can be utilized within MPI too. Also one
can use OpenMP with MPI i.e for shared memory in targeted platform OpenMP can
be used whereas for distributed one, MPI can be used.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;Author&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;Pawan Ghildiyal&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoBodyText&quot;&gt;
&lt;br /&gt;
&lt;a href=&quot;https://plus.google.com/u/0/+pawanghildiyal?rel=author&quot;&gt;Google&lt;/a&gt;
&lt;script&gt;
  (function(i,s,o,g,r,a,m){i[&#39;GoogleAnalyticsObject&#39;]=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,&#39;script&#39;,&#39;//www.google-analytics.com/analytics.js&#39;,&#39;ga&#39;);

  ga(&#39;create&#39;, &#39;UA-51065649-1&#39;, &#39;pawangh.blogspot.com&#39;);
  ga(&#39;send&#39;, &#39;pageview&#39;);
&lt;/script&gt;

&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pawangh.blogspot.com/feeds/1143513137199115206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pawangh.blogspot.com/2014/05/mpi-vs-openmp.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4593792192521773085/posts/default/1143513137199115206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4593792192521773085/posts/default/1143513137199115206'/><link rel='alternate' type='text/html' href='http://pawangh.blogspot.com/2014/05/mpi-vs-openmp.html' title='MPI vs  OpenMP: A Short Introduction Plus Comparison  (Parallel Computing)'/><author><name>Pawan Ghildiyal</name><uri>http://www.blogger.com/profile/16825437735718160679</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaL1-8ahcKWPY03V4hkL2O3y0LHuVYL3xf2mxJXEKS4p3RpbEUh-6jGzn4Fc49hMGMtDVrhGem7DJah-k59F4yU-C6TJRIh4usewX9vSAnwDWBR0Zj1v2LU0Dm4cd3MOyv0FO-X0QElzM/s72-c/image003.png" height="72" width="72"/><thr:total>5</thr:total><georss:featurename>Pune, Maharashtra, India</georss:featurename><georss:point>18.5204303 73.856743699999925</georss:point><georss:box>18.2795358 73.534020199999929 18.7613248 74.17946719999992</georss:box></entry><entry><id>tag:blogger.com,1999:blog-4593792192521773085.post-925548758755776910</id><published>2013-06-01T22:55:00.000-07:00</published><updated>2014-06-04T04:15:51.873-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Look East Policy"/><title type='text'>India Look East Policy : Part 1</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Indian gave a new thrust to it&#39;s relationship with &amp;nbsp;ASEAN and other East Asian &amp;nbsp;countries with advent of Look East policy. Primarily Look East policy was aimed at ASEAN nation and improving economic ties with them . &amp;nbsp;India had neglected it&#39;s relationship with it&#39;s south east Asian&amp;nbsp;neighbour. It will be better to understand into the reason that parted India ways from South East Asian countries.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;India’s neglect of
South East Asia Countries&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-bottom: 0.0001pt; text-indent: -0.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;·&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-size: 10.0pt;&quot;&gt;When ASEAN was
being formed in the 1967s, countries of ASEAN were keen to have India as a
member. But India had been reluctant to join it.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 10pt; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Reason can be enumerated as follows&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0.0001pt 1in; text-indent: -0.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;o&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-size: 10.0pt;&quot;&gt;Philippines,
Thailand had joined SEATO (South East Asia Treaty Organization) and of pro western attitudes. India thought it would be pro western organization aiming to
use it against communist block. &lt;/span&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-family: AdvOT6eb13881;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0.0001pt 1in; text-indent: -0.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;o&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-family: AdvOT6eb13881;&quot;&gt;Indonesia supported Pakistan during 1965 Indo-Pak War and
had&amp;nbsp; &lt;b&gt;&lt;i&gt;new order&lt;/i&gt;&lt;/b&gt; under General Suharto&amp;nbsp; after 1965(after fall of President Sukarano).
India thus apprehensive of Indonesia’s motto&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0.0001pt 1in; text-indent: -0.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;o&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-size: 10.0pt;&quot;&gt;It would hamper
India NAM(Non alignment movement) position if would have joined a organization considered to be pro
western.&lt;/span&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-family: AdvOT6eb13881;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0.0001pt 1in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0.0001pt 1in;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;i&gt;&lt;u&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;ASEAN, which is a
geo-political and economic organization with 10 member countries, was formed in
August 1967 by Indonesia, Malaysia, the Philippines, Singapore and Thailand.
Since then, the membership has expanded to include Brunei Darussalam, Cambodia,
the Lao People’s Democratic Republic, Myanmar and Viet Nam.&lt;/span&gt;&lt;/u&gt;&lt;/i&gt;&lt;i&gt;&lt;u&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-family: AdvOT6eb13881;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0.0001pt 1in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-bottom: 0.0001pt; text-indent: -0.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;·&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Drift and Mistrust:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ul style=&quot;margin-top: 0in;&quot; type=&quot;disc&quot;&gt;
 &lt;ul style=&quot;margin-top: 0in;&quot; type=&quot;circle&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-family: AdvOT6eb13881;&quot;&gt;The signing of the Indo-Soviet Treaty
      of Peace, Friendship and Co-operation by India in 1971, the ASEAN states
      were suspicious of the USSR&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-family: AdvOT6eb13881+20;&quot;&gt;’&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-family: AdvOT6eb13881;&quot;&gt;s role in
      determining India&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-family: AdvOT6eb13881+20;&quot;&gt;’&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-family: AdvOT6eb13881;&quot;&gt;s&amp;nbsp; foreign policy towards the region in
      general,&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-family: AdvOT6eb13881;&quot;&gt; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-family: AdvOT6eb13881;&quot;&gt;After Viet Nam&lt;/span&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-family: AdvOT6eb13881+20;&quot;&gt;’&lt;/span&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-family: AdvOT6eb13881;&quot;&gt;s military intervention in
      Kampuchea in December 1978, India, by its decision to &lt;/span&gt;recognize&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-family: AdvOT6eb13881;&quot;&gt; the Heng
      Samrin regime in Kampuchea backed by Viet Nam forfeited whatever little
      goodwill it enjoyed in the ASEAN region at that time.&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-family: AdvOT6eb13881;&quot;&gt;India support of USSR policy in Afghanistan and recognition&amp;nbsp; of Soviet Pro Government&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-family: AdvOT6eb13881;&quot;&gt;Results was that Indian being viewed as USSR surrogate and
      India viewed ASEAN as imperialist surrogate of USA&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 10pt;&quot;&gt;India’s decision not participate as a dialogue partner
      in 1980 was a further setback.&lt;/span&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-family: AdvOT6eb13881;&quot;&gt;India military intervention in Maldives
      (Operation Cactus), Seychelles and peace keeping force in SriLanka
      further created suspicion among &amp;nbsp;South East Asian nation of India’s
      intention.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;margin-top: 0in;&quot; type=&quot;circle&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 10pt;&quot;&gt;Also With India’s obsession towards Pakistan and with
      its preoccupations with China, the South East Asian region did not figure
      much in its foreign policy till the early 90s&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 10pt;&quot;&gt;Also India has western orientation and look on West and
      USSR . ASEAN countries that time was economically backward .&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Author :&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Pawan Ghildiyal&lt;/span&gt;&lt;/div&gt;
&lt;script&gt;
  (function(i,s,o,g,r,a,m){i[&#39;GoogleAnalyticsObject&#39;]=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,&#39;script&#39;,&#39;//www.google-analytics.com/analytics.js&#39;,&#39;ga&#39;);

  ga(&#39;create&#39;, &#39;UA-51065649-1&#39;, &#39;pawangh.blogspot.com&#39;);
  ga(&#39;send&#39;, &#39;pageview&#39;);

&lt;/script&gt;

&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pawangh.blogspot.com/feeds/925548758755776910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pawangh.blogspot.com/2014/05/india-look-east-policy-part-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4593792192521773085/posts/default/925548758755776910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4593792192521773085/posts/default/925548758755776910'/><link rel='alternate' type='text/html' href='http://pawangh.blogspot.com/2014/05/india-look-east-policy-part-1.html' title='India Look East Policy : Part 1'/><author><name>Pawan Ghildiyal</name><uri>http://www.blogger.com/profile/16825437735718160679</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4593792192521773085.post-5109331306495337290</id><published>2012-09-21T06:11:00.002-07:00</published><updated>2014-05-19T19:51:47.747-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="China"/><category scheme="http://www.blogger.com/atom/ns#" term="Diaoyu"/><category scheme="http://www.blogger.com/atom/ns#" term="Japan"/><category scheme="http://www.blogger.com/atom/ns#" term="Senkaku"/><category scheme="http://www.blogger.com/atom/ns#" term="South Korea"/><category scheme="http://www.blogger.com/atom/ns#" term="Taiwan"/><category scheme="http://www.blogger.com/atom/ns#" term="Tension"/><title type='text'>Implication of Standoff between Japan and China over Senkaku /Diaoyu Islands </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;b&gt;Implication of Standoff between Japan and China over Senkaku /Diaoyu Islands&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;It &amp;nbsp;all began when&amp;nbsp;because of sheer political interest,&amp;nbsp;one politician sought to raise funds to buy&amp;nbsp; Senkaku islands, and what followed was &amp;nbsp;a&amp;nbsp; vicious circle . I do not know how much &amp;nbsp;he&amp;nbsp;succeeded&amp;nbsp; in getting popularity &amp;nbsp;in Japan after that but he&amp;nbsp; definitely&amp;nbsp; succeeded in arousing public and Government sentiments in both China and&amp;nbsp; Japan .&amp;nbsp; Senkaku seems to be the center of the zero sum game that &amp;nbsp;followed after Japanese Government&#39;s decision to buy private&amp;nbsp; islands from their Japanese owner. These islands have been &amp;nbsp;under the Japanese Government control&amp;nbsp;hitherto.&lt;br /&gt;
Internal political turmoils seems to be more at heart of such decision.&amp;nbsp;Japan is &amp;nbsp; also in midst of political crisis with incumbent Government losing popularity and election is due in next year. Japan&#39;s recent move to buy island&amp;nbsp; can be compared to similar move by China when it established Sansa city over one of the island&amp;nbsp; of the Paracels&amp;nbsp; claimed by Taiwan, Philippines,Vietnam and Brunei.&lt;br /&gt;
China is also undergoing a change in leadership and speculation &amp;nbsp;of health &amp;nbsp;of it&#39;s Vice President who is going to be take&amp;nbsp;leadership&amp;nbsp;of country in coming weeks, has already found it&#39;s place in &amp;nbsp;top notch journals and papers.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Japan&#39;s&amp;nbsp; Position&lt;/b&gt;&lt;br /&gt;
The decision, to buy islands has both national and international implications and is clearly not taken by Japanese Government&amp;nbsp; by itself.
US and Japan has&amp;nbsp;defense&amp;nbsp;pact which put Japan&#39;s defense under US umbrella. It would be unwise to think that&amp;nbsp;USA would not have been consulted before taking such a important decision . Japan&#39;s Government is wise enough to see a possible military&amp;nbsp;confrontation&amp;nbsp; with China on this issue and know their heavy&amp;nbsp; dependence on US military clout to avert any Chinese&amp;nbsp;misadventures.&amp;nbsp; Also, it is the &amp;nbsp;US presence &amp;nbsp;that would primarily &amp;nbsp;keep Chinese on bay . Ventured by Chinese, after precedence of similar act by Japanese to unfurl flag on the islands under the Japanese control, had already done enough to fuel national sentiments in both countries.&amp;nbsp; Also such sentiments become more prominent&lt;br /&gt;
when it comes to Japan.&amp;nbsp; Japan is under intense internal political pressure to buy these islands. However buying of these island came as surprise and bold move by Japanese leader.&amp;nbsp; Apparently&amp;nbsp; you can see
a small boy(Japan) coming up against&amp;nbsp;&amp;nbsp;a big boy(China) thinking his Father (USA)&amp;nbsp; will help in forcing big boy to retreat . But this big boy, in his youth &amp;nbsp;can cause stirs &amp;nbsp;in hearts of his father too.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;China&#39;s Position &lt;/b&gt;&lt;br /&gt;
The issue of Senkaku has aroused the feeling of &amp;nbsp;Chinese people. No doubt that Chinese media has helped to fuel this sentiments further. But unlike in&amp;nbsp;democratic&amp;nbsp;countries where media acts on it&#39;s own , in China, it&#39;s the state voice.&amp;nbsp;Chinese media is actually the Government&#39;s &amp;nbsp;voice and speaks of it&#39;s sentiments. &amp;nbsp; Large scale demonstration, protest
 against Japan&amp;nbsp; can be a part of strategy followed by China. No 
doubt that matters concerning&amp;nbsp; Japan fuel the people sentiments and their antipathy for Japan because of Japan&#39;s untold atrocities during the 2nd world 
war . However to utilize such sentiments and channelize it in desired forms,&amp;nbsp; when required is done by Government&amp;nbsp; in one way or another. Large scale&amp;nbsp;demonstration&amp;nbsp;can well be orchestrated by State.&lt;br /&gt;
&lt;br /&gt;
These demonstration has two implications : &lt;br /&gt;
&amp;nbsp; 1) Giving world a firm message aboutthe &amp;nbsp;Chinese people anger over the issue of the Senkaku island &lt;br /&gt;
&amp;nbsp; 2) To arouse nationalism and put people behind Govt in case of any war . Now the demand that are coming out&amp;nbsp; of this is to&amp;nbsp;&amp;nbsp; get the island from Japan. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Implication of the issue&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
a)&amp;nbsp; China has&amp;nbsp; territorial disputes with Vietnam, Philippines, 
Malaysia,Korea and Japan over a series of Island like Parcel, Spratley 
etc.&amp;nbsp; World will be watching China&#39;s&amp;nbsp; next move anxiously with 
fingers crossed especially those nations&amp;nbsp; having territorial disputes 
with China and the Uncle Sam .&lt;br /&gt;
&amp;nbsp;Any laxity from China in handling this situation can give a boast to US power and acknowledge it&#39;s hegemony. Not only this , it will encourage other nation to make such bold move .
 Chinese know it well and they already have send two armed ship in 
region to&amp;nbsp;&amp;nbsp; send&amp;nbsp;&amp;nbsp; strong signals to Japan and to to deal with possible 
military confrontation .&lt;br /&gt;
&lt;br /&gt;
b) &lt;i&gt;War&lt;/i&gt;&amp;nbsp; :&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Possibility of full 
scale war does not look evident . However possibility of&amp;nbsp; small 
military confrontation cannot be ruled out. &amp;nbsp;Large scale demonstration in China is a part of it&#39;s strategy to send&amp;nbsp; Japan &amp;amp; &amp;nbsp;the world a strong message that &amp;nbsp;how much &amp;nbsp;it takes the issue related to island &amp;nbsp;seriously . Chinese 
Government&amp;nbsp; has forced itself&amp;nbsp; to act aggressively. Nation pride has to be restored and China has to emerged victorious otherwise these controlled agitation can turn against it&#39;s own&amp;nbsp; Government . There&amp;nbsp; is also possibility of pro democratic supporter 
trying to manipulate the condition&amp;nbsp; to promote for their &amp;nbsp;cause and try to turn these agitation against Government . &lt;br /&gt;
&lt;br /&gt;
c)&lt;i&gt;Economy&lt;/i&gt;:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
 China accounts &amp;nbsp;for 20 % of Japanese export and also it&#39;s rare earth 
material that China supply to Japan that is lifeline of electronic 
industry. Any escalation of conflict can&amp;nbsp; severly hit economic 
ties between two country. Though Japanese companies employs millions of
 people in China but it&#39;s&amp;nbsp;&amp;nbsp; still Japan would be more on the receiving end . &lt;br /&gt;
&lt;br /&gt;
d) &lt;i&gt;USA&lt;/i&gt;:&lt;br /&gt;
&amp;nbsp;
 The issue has come as testing ground for US power in region as well and
 can be seen as indirect confrontation between USA and China. &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; What if USA leaves: &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
Japan
 and US has security pact and defending Senkaku islands comes under ambit of the 
pact .&amp;nbsp;There&#39;s a view among scholar that may be, in case of full blown 
confrontation US will leave Japan on it&#39;s own&amp;nbsp; as it may hurt it&#39;s 
economy which is&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; heavily&amp;nbsp;&amp;nbsp; dependent on Chinese and value life of 
Americans more than it does for other. However it should be obvious that 
pulling back from the security pact or modifying security pact to avoid 
confrontation will give the deathly blow to USA interests &amp;nbsp;in 
ASIA(South-East, South and East ).&amp;nbsp; Not only this it will encourage 
China to follow aggressive policy for&amp;nbsp; solving territorial disputes with
 countries like Philippines and others which as part of US entourage . Also USA backing off from the 
region will lead to Chinese hegemony in region and &amp;nbsp;a blot for 
it.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp; &lt;i&gt;What if US stays&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;It&#39;s more likely that US will 
stay and not leave the Japan on it&#39;s own fate. Scholars usually cite 
cases as that of Egypt and Tunsia., when US allowed the friendly General to
 yield to popular movements there . Supporting a movement against 
dictator was done to save face and to prevent it&#39;s image getting 
tarnished. Tunisia and Egyptian&#39;s people movement against dictator had taken a
 international character, all thanks to media and had drawn the world 
attention to it . This conflict is different and is against mighty China against Japan who is&amp;nbsp; under US military clout . Also as campaign for next Presidential election is going in US, any laxity from incumbent US President on this issue will send wrong signal to people and can affect it&#39;s prospectus of winning election&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Conclusion&lt;/b&gt;&lt;br /&gt;
Now
 from above 4 points , we can waive off the possibility off US leaving Japan 
on it&#39;s own fate , rather it will engage itself more diplomatically to 
find the solution of present crisis. Certainly US military and diplomatic 
analyst&amp;nbsp; have already though of&amp;nbsp; possible conflict and other scenario 
arising out of&amp;nbsp; this situation . They should have anticipated China modest to
 extreme moves. As we know of China, it will certainly push the 
situation to the brink of war for getting maximum out of negotiating 
table . China is waiting for leadership transfer and also the heath of 
new to be President is drawing attention of world. It&#39;s look like China 
will take decisive step once new Premier comes into power . Till then , 
it can try to push Japan and USA diplomatically .&lt;br /&gt;
&lt;br /&gt;
Japan can legitimatize &amp;nbsp;the buying of Island which are under their own control similarly on the line on which &amp;nbsp;China established Sansa city in one of disputed Islands.&amp;nbsp; Military conflict of small scale cannot be ruled out but confining it&#39;s limit and extent of such conflict will only be key to prevent full scale war. Japan a economic world power should not be underestimated in military terms too. With US support Japan can be more formidable than ever before.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Author&lt;br /&gt;
Pawan Ghildiyal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;

&lt;script&gt;
  (function(i,s,o,g,r,a,m){i[&#39;GoogleAnalyticsObject&#39;]=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,&#39;script&#39;,&#39;//www.google-analytics.com/analytics.js&#39;,&#39;ga&#39;);

  ga(&#39;create&#39;, &#39;UA-51065649-1&#39;, &#39;pawangh.blogspot.com&#39;);
  ga(&#39;send&#39;, &#39;pageview&#39;);

&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://pawangh.blogspot.com/feeds/5109331306495337290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pawangh.blogspot.com/2012/09/implication-of-standoff-between-japan.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4593792192521773085/posts/default/5109331306495337290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4593792192521773085/posts/default/5109331306495337290'/><link rel='alternate' type='text/html' href='http://pawangh.blogspot.com/2012/09/implication-of-standoff-between-japan.html' title='Implication of Standoff between Japan and China over Senkaku /Diaoyu Islands '/><author><name>Pawan Ghildiyal</name><uri>http://www.blogger.com/profile/16825437735718160679</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4593792192521773085.post-3302465599344251614</id><published>2012-08-23T04:36:00.003-07:00</published><updated>2014-05-19T19:52:39.297-07:00</updated><title type='text'></title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;a href=&quot;http://www.economist.com/comment/1539509#comment-1539509&quot; target=&quot;_blank&quot;&gt;Review of article on Syria in economist&amp;nbsp;&amp;nbsp;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Article gives very idealistic view on Syria which lead us to believe 
that whole Syria has been suffering under Assad rule and now is looking 
on rebels for it&#39;s emancipation and liberation . It&#39;s portray the whole 
thing as internal matter of Syria, where Assad&#39;s policy and dictator 
rule has pushed Syrian people to rebel . But reality is quite different.
 A very  false impression  has been created. Veil support of Western 
Countries and Saudi Arabia to arm rebel is form of logistic supply is 
well known in diplomatic circle or to people keeping eye on Syria. Assad
 is not paying for his dictatorship but paying price of his closeness to
 Iran .  As part of containment strategy and mounting pressure over Iran
 , Syria has been made a scapegoat . UN guided by USA show double 
standards when Saudi forces march in Bahrain to crush popular unrest 
there . It remained a mute spectator . But in Syria when rebel who comes
 from 20% of country suddenly found favor of world community and Assad 
who was slowly yielding to democratic reform was soon portrayed as 
dictator . Still Assad enjoy support of majority of Syrian people . This
 was quite evident that these rebel initially were active only on 
country where they had strong withhold . Country sovereignty has to be 
respected . We did not find any instant where Syrian forces crushed any 
democratic possession. Assad can be forced by world community to yield 
more to democratic reform which would have served the purpose of 
majority of people in Syria but it would not be acceptable to certain 
strategist who has been thinking bigger  than Syria . Seeing it&#39;s 
implication for Russia and especially Iran .&lt;br /&gt;
Even if rebel was successful in taking down Assad, Syria future&#39;s look 
dim. Most of the  countries has certain issues in their backyard. It may
 be Pakistan&#39;s Baluchistan , Rohingyas&#39;s in Myanmaar, Naxal&#39;s in India, 
Shias in Bahrain and Saudi Arabia . High handiness of Pakistan troops in
 Baluchistan or Saudi troop in Bahrain for cracking democratic 
possession could not make to UN . If UN should not let itself be used as
 pawn to serve interest of Western countries .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Author&lt;br /&gt;
Pawan Ghildiyal &lt;/div&gt;
&lt;script&gt;
  (function(i,s,o,g,r,a,m){i[&#39;GoogleAnalyticsObject&#39;]=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,&#39;script&#39;,&#39;//www.google-analytics.com/analytics.js&#39;,&#39;ga&#39;);

  ga(&#39;create&#39;, &#39;UA-51065649-1&#39;, &#39;pawangh.blogspot.com&#39;);
  ga(&#39;send&#39;, &#39;pageview&#39;);

&lt;/script&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pawangh.blogspot.com/feeds/3302465599344251614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pawangh.blogspot.com/2012/08/review-of-article-on-syria-in-economist.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4593792192521773085/posts/default/3302465599344251614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4593792192521773085/posts/default/3302465599344251614'/><link rel='alternate' type='text/html' href='http://pawangh.blogspot.com/2012/08/review-of-article-on-syria-in-economist.html' title=''/><author><name>Pawan Ghildiyal</name><uri>http://www.blogger.com/profile/16825437735718160679</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><georss:featurename>Pune, Maharashtra, India</georss:featurename><georss:point>18.5204303 73.8567437</georss:point><georss:box>18.3999798 73.6988152 18.6408808 74.014672199999993</georss:box></entry></feed>