<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: openmp problem in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892868#M3863</link>
    <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/271365"&gt;roddur&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;P&gt;i have read from a SUN tutorial that we can use a function which is thread unsafe using lock. as all my suroutine inside the parallel region is developed for serial process, and thread unsafe, can i lock the subroutines? can anyone help me about that? is there any readme available?&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;Yes, you can place omp critical ..... end critical around a non thread-safe region, thus making a region which can be entered by only 1 thread at a time.&lt;/P&gt;</description>
    <pubDate>Fri, 05 Dec 2008 16:01:28 GMT</pubDate>
    <dc:creator>TimP</dc:creator>
    <dc:date>2008-12-05T16:01:28Z</dc:date>
    <item>
      <title>openmp problem</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892861#M3856</link>
      <description>&lt;P&gt;This is a part of my openmp code.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;400 !$ call OMP_SET_NUM_THREADS(2)&lt;BR /&gt;401 &lt;BR /&gt;402 !$OMP PARALLEL DO DEFAULT(NONE) &amp;amp; &lt;BR /&gt;403 !$OMP PRIVATE(il,ie,iie,ienrp,iend,e,istart) &amp;amp;&lt;BR /&gt;404 !$OMP PRIVATE(temp,spec,xa,ya) &amp;amp;&lt;BR /&gt;405 !$OMP SHARED(ap1,ap2,ap3,ap4,ap6,ap7) &amp;amp;&lt;BR /&gt;406 !$OMP SHARED(ap8,ap9,ap10,ap11,ap12,ap13) &amp;amp;&lt;BR /&gt;407 !$OMP SHARED(MAP,SRL,seed,de,xxa,yya) &lt;BR /&gt;408 &lt;BR /&gt;409 orbital: do il=1,lorbit-2,2&lt;BR /&gt;410 ! xa=0.0;ya=0.0&lt;BR /&gt;411 ! write(*,'(1x,"Starting orbital loop",1x,i1,$)') il&lt;BR /&gt;412 ienrp=0&lt;BR /&gt;413 e=emin-de&lt;BR /&gt;414 istart=1&lt;BR /&gt;415 &lt;BR /&gt;416 do iend=9,63,lorbit&lt;BR /&gt;417 e=e+de&lt;BR /&gt;418 iie=0&lt;BR /&gt;419 &lt;BR /&gt;420 &lt;BR /&gt;421 ienrp=ienrp+1&lt;BR /&gt;422 call hop(il,e,ienrp,map,srl,ap1, &amp;amp;&lt;BR /&gt;423 ap6,ap7,ap8,ap9,ap10,ap11, &amp;amp;&lt;BR /&gt;424 ap12,ap13,ap2,ap3,ap4,xa,ya)&lt;BR /&gt;425 &lt;BR /&gt;426 ! write(*,*) xa(2,3)&lt;BR /&gt;427 ! istart=iend+1&lt;BR /&gt;428 write(*,'(".",$)')&lt;BR /&gt;429 end do&lt;BR /&gt;430 &lt;BR /&gt;431 call fit(xa,ya,seed,xxa,yya,temp)&lt;BR /&gt;432 call spectral(il,xxa,yya,temp,spec) &lt;BR /&gt;433 write(*,'("done")') &lt;BR /&gt;434 &lt;BR /&gt;435 &lt;BR /&gt;436 end do orbital&lt;BR /&gt;437 !$OMP END PARALLEL DO&lt;/P&gt;
&lt;P&gt;The problem is there are some datarace as checked with tchecker,it gives&lt;/P&gt;
&lt;P&gt;1 Intel Thread Checker 3.1 command line instrumentation driver (26185)&lt;BR /&gt; 2 Copyright (c) 2007 Intel Corporation. All rights reserved.&lt;BR /&gt; 3 _______________________________________________________________________________&lt;BR /&gt; 4 |ID|Short Description|Severi|Co|Cont|Description |1stA|2ndA|&lt;BR /&gt; 5 | | |ty |un|ext[| |cces|cces|&lt;BR /&gt; 6 | | |Name |t |Best| |s[Be|s[Be|&lt;BR /&gt; 7 | | | | |] | |st] |st] |&lt;BR /&gt; 8 _______________________________________________________________________________&lt;BR /&gt; 9 |1 |I/O data-race |Erro r |6 |irun|I/O operation at irun conflicts|irun|irun|&lt;BR /&gt; 10 | |      | | | |with a prior I/O operation at | | |&lt;BR /&gt; 11 | | |    | | |irun | | |&lt;BR /&gt; 12 _______________________________________________________________________________&lt;BR /&gt; 13 |2 |OpenMP* -- |Warnin|90|irun|OpenMP* -- undefined in the |irun|irun|&lt;BR /&gt; 14 | |undefined in the |g |1 | |serial code (original program) | | |&lt;BR /&gt; 15 | |serial code | | | |at irun with irun | | |&lt;BR /&gt; 16 | |(original | | | | | | |&lt;BR /&gt; 17 | |program) | | | | | | |&lt;BR /&gt; 18 _______________________________________________________________________________&lt;BR /&gt; 19 |3 |OpenMP* -- |Warnin|90|irun|OpenMP* -- undefined in the |irun|irun|&lt;BR /&gt; 20 | |undefined in the |g |1 | |serial code (original program) | | |&lt;BR /&gt; 21 | |serial code | | | |at irun with irun | | |&lt;BR /&gt; 22 | |(original | | | | | | |&lt;BR /&gt; 23 | |program) | | | | | | |&lt;BR /&gt; 24 _______________________________________________________________________________&lt;BR /&gt; 25 |4 |Thread |Inform|1 |Whol|Thread termination at irun - |irun|irun|&lt;BR /&gt; 26 | |termination |ation | |e Pr|includes stack allocation of 10| | |&lt;BR /&gt; 27 | | | | |ogra|MB and use of 5.228 MB | | |&lt;BR /&gt; 28 | | | | |m 1 | | | |&lt;BR /&gt; 29 _______________________________________________________________________________&lt;BR /&gt; 30 &lt;BR /&gt;the code runs fine with one thread, but the subroutines called are serial routine. So is there any way to make the code run like the lorbital loop is threaded, but the inner do loop is not....am i clear enough?&lt;/P&gt;
&lt;P&gt;waiting for your reply&lt;/P&gt;</description>
      <pubDate>Mon, 01 Dec 2008 13:37:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892861#M3856</guid>
      <dc:creator>roddur</dc:creator>
      <dc:date>2008-12-01T13:37:35Z</dc:date>
    </item>
    <item>
      <title>Re: openmp problem</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892862#M3857</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;P&gt;Did you compile all of your source code with -tcheck, just as the release build would require it all to be built with -openmp (or compatible subset? If you mean you have intentionally non thread-safe code called in a parallel region, you know the consequences.&lt;/P&gt;</description>
      <pubDate>Mon, 01 Dec 2008 13:48:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892862#M3857</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2008-12-01T13:48:52Z</dc:date>
    </item>
    <item>
      <title>Re: openmp problem</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892863#M3858</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/367365"&gt;tim18&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;P&gt;Did you compile all of your source code with -tcheck, just as the release build would require it all to be built with -openmp (or compatible subset? If you mean you have intentionally non thread-safe code called in a parallel region, you know the consequences.&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;should i compile all , even serial codes with -openmp option?&lt;/P&gt;</description>
      <pubDate>Mon, 01 Dec 2008 14:41:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892863#M3858</guid>
      <dc:creator>roddur</dc:creator>
      <dc:date>2008-12-01T14:41:09Z</dc:date>
    </item>
    <item>
      <title>Re: openmp problem</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892864#M3859</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/271365"&gt;roddur&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;P&gt;should i compile all , even serial codes with -openmp option?&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;All functions which will be called in a parallel region should be compiled with -openmp. Other options may have the same effect, but you must avoid the default which makes local arrays and structs static. If the function is not called in a parallel region, -openmp will not hurt, except for small issues like increased stack or heap usage.&lt;/P&gt;</description>
      <pubDate>Mon, 01 Dec 2008 16:33:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892864#M3859</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2008-12-01T16:33:14Z</dc:date>
    </item>
    <item>
      <title>Re: openmp problem</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892865#M3860</link>
      <description>&lt;DIV style="margin: 0px; height: auto;"&gt;&lt;/DIV&gt;
&lt;P&gt;Is there any easier/cheaper way of making the subroutines threadsafe...eg using compile time options like reentrancy etc?&lt;/P&gt;</description>
      <pubDate>Tue, 02 Dec 2008 03:50:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892865#M3860</guid>
      <dc:creator>roddur</dc:creator>
      <dc:date>2008-12-02T03:50:53Z</dc:date>
    </item>
    <item>
      <title>Re: openmp problem</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892866#M3861</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/271365"&gt;roddur&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;P&gt;Is there any easier/cheaper way of making the subroutines threadsafe...eg using compile time options like reentrancy etc?&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;I don't see anything easier about that. It has the same effect in subroutines with no OpenMP directives.&lt;/P&gt;</description>
      <pubDate>Tue, 02 Dec 2008 13:30:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892866#M3861</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2008-12-02T13:30:14Z</dc:date>
    </item>
    <item>
      <title>Re: openmp problem</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892867#M3862</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;P&gt;i have read from a SUN tutorial that we can use a function which is thread unsafe using lock. as all my suroutine inside the parallel region is developed for serial process, and thread unsafe, can i lock the subroutines? can anyone help me about that? is there any readme available?&lt;/P&gt;</description>
      <pubDate>Fri, 05 Dec 2008 14:12:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892867#M3862</guid>
      <dc:creator>roddur</dc:creator>
      <dc:date>2008-12-05T14:12:10Z</dc:date>
    </item>
    <item>
      <title>Re: openmp problem</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892868#M3863</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/271365"&gt;roddur&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;P&gt;i have read from a SUN tutorial that we can use a function which is thread unsafe using lock. as all my suroutine inside the parallel region is developed for serial process, and thread unsafe, can i lock the subroutines? can anyone help me about that? is there any readme available?&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;Yes, you can place omp critical ..... end critical around a non thread-safe region, thus making a region which can be entered by only 1 thread at a time.&lt;/P&gt;</description>
      <pubDate>Fri, 05 Dec 2008 16:01:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892868#M3863</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2008-12-05T16:01:28Z</dc:date>
    </item>
    <item>
      <title>Re: openmp problem</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892869#M3864</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/367365"&gt;tim18&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;P&gt;Yes, you can place omp critical ..... end critical around a non thread-safe region, thus making a region which can be entered by only 1 thread at a time.&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;but can critical construction can be placed inside parallel do....end parallel do construction?&lt;/P&gt;</description>
      <pubDate>Fri, 05 Dec 2008 16:13:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892869#M3864</guid>
      <dc:creator>roddur</dc:creator>
      <dc:date>2008-12-05T16:13:45Z</dc:date>
    </item>
    <item>
      <title>Re: openmp problem</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892870#M3865</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;P&gt;Examine hop, fit and spectral (and lower level routines they call) to see if they can be made thread safe.&lt;/P&gt;
&lt;P&gt;Can you post hop?&lt;/P&gt;
&lt;P&gt;Jim Dempsey&lt;/P&gt;</description>
      <pubDate>Fri, 05 Dec 2008 19:57:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892870#M3865</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2008-12-05T19:57:42Z</dc:date>
    </item>
    <item>
      <title>Re: openmp problem</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892871#M3866</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/99850"&gt;jimdempseyatthecove&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;P&gt;Examine hop, fit and spectral (and lower level routines they call) to see if they can be made thread safe.&lt;/P&gt;
&lt;P&gt;Can you post hop?&lt;/P&gt;
&lt;P&gt;Jim Dempsey&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;this is a big routine....but still i am posting it. plz check:&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;!*******************************************************!&lt;BR /&gt;! This is the recursion subroutine  !&lt;BR /&gt;! &lt;BR /&gt;!*******************************************************!&lt;BR /&gt; module mhop&lt;BR /&gt; CONTAINS&lt;BR /&gt;&lt;BR /&gt; subroutine hop (il,e,ienrp,map,srl,ap1,ap6,ap7, &amp;amp;&lt;BR /&gt; ap8,ap9,ap10,ap11,ap12,ap13, &amp;amp;&lt;BR /&gt; p2,p3,p4,xa,ya)&lt;BR /&gt;!*******************************************************!&lt;BR /&gt;! The subroutine is the recursion subroutine !&lt;BR /&gt;! It uses the potential parameters generated !&lt;BR /&gt;! by *POTPAR* subroutine.    !&lt;BR /&gt;! this module interface is not actually required. !&lt;BR /&gt;! it is done only to make sure that POTPAR by !&lt;BR /&gt;! this routine and that this routine is called  !&lt;BR /&gt;! by main texttt{properly}.par&lt;BR /&gt;! Here We have done the 2nd order calculation : !&lt;BR /&gt;! $$E=H+hoh$$&lt;BR /&gt;!*******************************************************!&lt;BR /&gt; use kinds, only: RDP,i3&lt;BR /&gt; use parameters&lt;BR /&gt; implicit none&lt;BR /&gt; integer(i3):: i,il,ikl,ifind,ii,j&lt;BR /&gt; integer(i3):: nfill,jfill,isfill,nrec&lt;BR /&gt; integer(i3):: kc,k,ienrp&lt;BR /&gt; integer(i3):: mfill,ikk&lt;BR /&gt; integer(i3),dimension(nasite,ntsite),intent(in)::map&lt;BR /&gt; real(RDP):: s1,sum1,sum2,sum3,e&lt;BR /&gt; real(RDP),dimension(lorbit,lorbit,0:nrsite),intent(in):: srl&lt;BR /&gt; real(RDP),dimension(lorbit),intent(in)::ap1,ap6,ap7,ap8,ap9, &amp;amp;&lt;BR /&gt; ap10,ap11,ap12,ap13&lt;BR /&gt; real(RDP),dimension(nsite,lorbit)::psii,psij,psik,psim&lt;BR /&gt; real(RDP),dimension(maxrec)::alpha&lt;BR /&gt; real(RDP),dimension(0:maxrec)::beta&lt;BR /&gt; real(RDP),dimension(lorbit)::cons,ar&lt;BR /&gt; real(RDP),dimension(lorbit):: p2,p3,p4&lt;BR /&gt; real(RDP),dimension(maxrec,ienum+1):: ya,xa&lt;BR /&gt; &lt;BR /&gt;&lt;BR /&gt; sum1=0.0d0&lt;BR /&gt; beta(0)=0.0d0&lt;BR /&gt; ifind=1&lt;BR /&gt;&lt;BR /&gt; psii(:,:)=0.0d0&lt;BR /&gt; psij(:,:)=0.0d0&lt;BR /&gt; psik(:,:)=0.0d0&lt;BR /&gt; psim(:,:)=0.0d0&lt;BR /&gt;&lt;BR /&gt; psij(1,il)=1.0d0&lt;BR /&gt; nfill=1&lt;BR /&gt;&lt;BR /&gt; open(15,file='coeff.dat',status='unknown') &lt;BR /&gt;&lt;BR /&gt;! Starting Recursion loop(12 iteration)&lt;BR /&gt; lrec: do nrec=1,maxrec&lt;BR /&gt; jfill=nfill&lt;BR /&gt;&lt;BR /&gt;lfill: do i=1,nfill&lt;BR /&gt; &lt;BR /&gt; kc=map(i,ntsite)&lt;BR /&gt;&lt;BR /&gt;!+++++++++++++++++++++++++++++++++++++++++++++++!&lt;BR /&gt;!   HOP    !&lt;BR /&gt;! For 2st order. hoh is included  !&lt;BR /&gt;!+++++++++++++++++++++++++++++++++++++++++++++++!&lt;BR /&gt;&lt;BR /&gt; if1:  if (kc==1) then&lt;BR /&gt; do ikl=1,lorbit&lt;BR /&gt; s1=(ap6(ikl)*psij(i,ikl))&lt;BR /&gt; psim(i,ikl)=psim(i,ikl)+s1&lt;BR /&gt; end do&lt;BR /&gt;&lt;BR /&gt; do ii=1,lorbit&lt;BR /&gt; cons(ii)=psij(i,ii)&lt;BR /&gt; end do&lt;BR /&gt; &lt;BR /&gt; do j=1,nrsite&lt;BR /&gt; k=map(i,j)&lt;BR /&gt; if(k&amp;gt;nsite) cycle&lt;BR /&gt; if(k&amp;gt;ifind) ifind=k&lt;BR /&gt; &lt;BR /&gt; call matp(srl,cons,j,ar)&lt;BR /&gt;&lt;BR /&gt; do ii=1,lorbit&lt;BR /&gt; psim(k,ii)=psim(k,ii)+ar(ii)&lt;BR /&gt; enddo&lt;BR /&gt; end do&lt;BR /&gt; cycle lfill&lt;BR /&gt; endif if1&lt;BR /&gt;&lt;BR /&gt;!-----------------------------------------------!&lt;BR /&gt;! If real space part is = 1 then  !&lt;BR /&gt;!-----------------------------------------------!&lt;BR /&gt;&lt;BR /&gt; do ikl=1,lorbit&lt;BR /&gt; s1=ap7(ikl)*psij(i,ikl)&lt;BR /&gt; psim(i,ikl)=psim(i,ikl)+s1&lt;BR /&gt; end do&lt;BR /&gt;&lt;BR /&gt; do ii=1,lorbit&lt;BR /&gt; cons(ii)=psij(i,ii)&lt;BR /&gt; end do&lt;BR /&gt; &lt;BR /&gt; do j=1,nrsite&lt;BR /&gt; k=map(i,j)&lt;BR /&gt; if(k&amp;gt;nsite) cycle&lt;BR /&gt; if(k&amp;gt;ifind) ifind=k&lt;BR /&gt; call matp(srl,cons,j,ar)&lt;BR /&gt; do ii=1,lorbit&lt;BR /&gt; psim(k,ii)=psim(k,ii)+ar(ii)&lt;BR /&gt; enddo&lt;BR /&gt; end do&lt;BR /&gt;&lt;BR /&gt; k=map(i,ntsite-2)&lt;BR /&gt; if (k&amp;gt;nsite) cycle lfill&lt;BR /&gt; if (k&amp;gt;ifind)ifind=k&lt;BR /&gt;&lt;BR /&gt; do ikl=1,lorbit&lt;BR /&gt; s1=0.0d0&lt;BR /&gt; s1=ap8(ikl)*psij(i,ikl)&lt;BR /&gt; psim(k,ikl)=psim(k,ikl)+s1&lt;BR /&gt; end do&lt;BR /&gt;&lt;BR /&gt; k=map(i,ntsite-1)&lt;BR /&gt; if(k==0)cycle lfill&lt;BR /&gt;&lt;BR /&gt; do ikl=1,lorbit&lt;BR /&gt; s1=0.0d0&lt;BR /&gt; s1=ap9(ikl)*psij(i,ikl)&lt;BR /&gt; psim(i,ikl)=psim(i,ikl)+s1&lt;BR /&gt; end do&lt;BR /&gt; end do lfill&lt;BR /&gt;!---------H operation finished--------!&lt;BR /&gt; &lt;BR /&gt;!---------O-operation Starts----------!&lt;BR /&gt;&lt;BR /&gt; &lt;BR /&gt; nfill=ifind&lt;BR /&gt;&lt;BR /&gt; if(nfill&amp;gt;nasite) nfill=nasite&lt;BR /&gt;&lt;BR /&gt;lnfill: do i=1,nfill&lt;BR /&gt; &lt;BR /&gt; kc=map(i,ntsite)&lt;BR /&gt;&lt;BR /&gt; if(kc==1)then&lt;BR /&gt; &lt;BR /&gt; do ikl=1,lorbit&lt;BR /&gt; s1=0.0d0&lt;BR /&gt; s1=ap10(ikl)*psim(i,ikl)&lt;BR /&gt; psik(i,ikl)=psik(i,ikl)+s1&lt;BR /&gt; enddo&lt;BR /&gt; cycle lnfill&lt;BR /&gt; endif&lt;BR /&gt;!-------------------------------------------------&lt;BR /&gt; do ikl=1,lorbit&lt;BR /&gt; s1=ap11(ikl)*psim(i,ikl)&lt;BR /&gt; psik(i,ikl)=psik(i,ikl)+s1&lt;BR /&gt; enddo&lt;BR /&gt; &lt;BR /&gt; k=map(i,ntsite-2)&lt;BR /&gt; if(k.gt.nsite) cycle lnfill&lt;BR /&gt; if(k.gt.ifind)ifind=k&lt;BR /&gt;&lt;BR /&gt; do ikl=1,lorbit&lt;BR /&gt; s1=0.0d0&lt;BR /&gt; s1=ap12(ikl)*psim(i,ikl)&lt;BR /&gt; psik(k,ikl)=psik(k,ikl)+s1&lt;BR /&gt; enddo&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt; k=map(i,ntsite-1)&lt;BR /&gt;&lt;BR /&gt; if(k==0)cycle lnfill&lt;BR /&gt; do ikl=1,lorbit&lt;BR /&gt; s1=0.0d0&lt;BR /&gt; &lt;BR /&gt; s1=ap13(ikl)*psim(i,ikl)&lt;BR /&gt; psik(i,ikl)=psik(i,ikl)+s1&lt;BR /&gt;&lt;BR /&gt; enddo&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt; enddo lnfill &lt;BR /&gt;!------O-operation complete------------!&lt;BR /&gt; psim=0.0d0&lt;BR /&gt;&lt;BR /&gt;!******* again h-operation *************&lt;BR /&gt; isfill=ifind&lt;BR /&gt;&lt;BR /&gt; if(isfill&amp;gt;nasite)isfill=nasite&lt;BR /&gt;lisfill:do i=1,isfill&lt;BR /&gt;&lt;BR /&gt; kc=map(i,ntsite)&lt;BR /&gt;&lt;BR /&gt;lkc: if(kc==1)then&lt;BR /&gt;&lt;BR /&gt; do ikl=1,lorbit&lt;BR /&gt; s1=0.0d0&lt;BR /&gt; s1=ap6(ikl)*psik(i,ikl)&lt;BR /&gt; psim(i,ikl)=psim(i,ikl)+s1&lt;BR /&gt; enddo&lt;BR /&gt;&lt;BR /&gt; do ii=1,lorbit&lt;BR /&gt; cons(ii)=psik(i,ii)&lt;BR /&gt; enddo&lt;BR /&gt;&lt;BR /&gt; do j=1,nrsite&lt;BR /&gt; k=map(i,j)&lt;BR /&gt; if(k&amp;gt;nsite)cycle&lt;BR /&gt; if(k&amp;gt;ifind)ifind=k&lt;BR /&gt;&lt;BR /&gt; call matp(srl,cons,j,ar)&lt;BR /&gt; &lt;BR /&gt; do ii=1,lorbit&lt;BR /&gt; psim(k,ii)=psim(k,ii)+ar(ii)&lt;BR /&gt; enddo&lt;BR /&gt;&lt;BR /&gt; enddo &lt;BR /&gt; &lt;BR /&gt; cycle lisfill&lt;BR /&gt; endif lkc&lt;BR /&gt;&lt;BR /&gt;!********************************************&lt;BR /&gt;&lt;BR /&gt; do ikl=1,lorbit&lt;BR /&gt; s1=0.0d0&lt;BR /&gt; s1=ap7(ikl)*psik(i,ikl) &lt;BR /&gt; psim(i,ikl)=psim(i,ikl)+s1&lt;BR /&gt; enddo&lt;BR /&gt;&lt;BR /&gt; do ii=1,lorbit&lt;BR /&gt; cons(ii)=psik(i,ii)&lt;BR /&gt; enddo&lt;BR /&gt; &lt;BR /&gt;&lt;BR /&gt; &lt;BR /&gt; do j=1,nrsite&lt;BR /&gt;&lt;BR /&gt; k=map(i,j)&lt;BR /&gt;&lt;BR /&gt; if(k&amp;gt;nsite)cycle&lt;BR /&gt;&lt;BR /&gt; if(k&amp;gt;ifind)ifind=k&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt; call matp(srl,cons,j,ar) &lt;BR /&gt; &lt;BR /&gt; do ii=1,lorbit&lt;BR /&gt; psim(k,ii)=psim(k,ii)+ar(ii)&lt;BR /&gt; enddo&lt;BR /&gt;&lt;BR /&gt; enddo&lt;BR /&gt;&lt;BR /&gt; k=map(i,ntsite-2)&lt;BR /&gt; if(k.gt.nsite)cycle lisfill&lt;BR /&gt; if(k.gt.ifind)ifind=k&lt;BR /&gt;&lt;BR /&gt; do ikl=1,lorbit&lt;BR /&gt; s1=0.0d0&lt;BR /&gt; s1=ap8(ikl)*psik(i,ikl)&lt;BR /&gt; psim(k,ikl)=psim(k,ikl)+s1&lt;BR /&gt; enddo&lt;BR /&gt;&lt;BR /&gt; &lt;BR /&gt; k=map(i,ntsite-1)&lt;BR /&gt;&lt;BR /&gt; if(k==0)cycle lisfill&lt;BR /&gt; do ikl=1,lorbit&lt;BR /&gt; s1=0.0d0&lt;BR /&gt; s1=ap9(ikl)*psik(i,ikl)&lt;BR /&gt; psim(i,ikl)=psim(i,ikl)+s1&lt;BR /&gt;&lt;BR /&gt; enddo&lt;BR /&gt; &lt;BR /&gt; enddo lisfill&lt;BR /&gt;!*********** hoh complete*************&lt;BR /&gt; psik=0.0d0&lt;BR /&gt;!******** 2nd h-operatipn complete************** hoh complete&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt; ljfill: do i=1,jfill&lt;BR /&gt; kc=map(i,ntsite)&lt;BR /&gt; lifn: if (kc==1) then&lt;BR /&gt; do ikl=1,lorbit&lt;BR /&gt; s1=ap1(ikl)*psij(i,ikl)&lt;BR /&gt; psik(i,ikl)=psik(i,ikl)+s1&lt;BR /&gt; end do&lt;BR /&gt; &lt;BR /&gt; do ii=1,lorbit&lt;BR /&gt; cons(ii)=psij(i,ii)&lt;BR /&gt; end do&lt;BR /&gt;&lt;BR /&gt; nrs: do j=1,nrsite&lt;BR /&gt; k=map(i,j)&lt;BR /&gt; if (k&amp;gt;nsite) cycle&lt;BR /&gt; if(k&amp;gt;ifind) ifind=k&lt;BR /&gt; &lt;BR /&gt; call matp(srl,cons,j,ar)&lt;BR /&gt; &lt;BR /&gt; do ii=1,lorbit&lt;BR /&gt; psik(k,ii)=psik(k,ii)+ar(ii)&lt;BR /&gt; end do&lt;BR /&gt; &lt;BR /&gt; end do nrs&lt;BR /&gt; cycle ljfill&lt;BR /&gt; endif lifn   &lt;BR /&gt;&lt;BR /&gt; do ikl=1,lorbit&lt;BR /&gt; s1=p2(ikl)*psij(i,ikl)&lt;BR /&gt; psik(i,ikl)=psik(i,ikl)+s1&lt;BR /&gt; end do&lt;BR /&gt; do ii=1,lorbit&lt;BR /&gt; cons(ii)=psij(i,ii)&lt;BR /&gt; end do&lt;BR /&gt;&lt;BR /&gt; do j=1,nrsite&lt;BR /&gt; k=map(i,j)&lt;BR /&gt; if (k&amp;gt;nsite) cycle&lt;BR /&gt; if (k&amp;gt;ifind)ifind=k&lt;BR /&gt; &lt;BR /&gt; call matp(srl,cons,j,ar)&lt;BR /&gt;&lt;BR /&gt; do ii=1,lorbit&lt;BR /&gt; psik(k,ii)=psik(k,ii)+ar(ii)&lt;BR /&gt; end do&lt;BR /&gt; &lt;BR /&gt; end do&lt;BR /&gt;&lt;BR /&gt; k=map(i,ntsite-2)&lt;BR /&gt; if (k&amp;gt;nsite) cycle&lt;BR /&gt; if (k&amp;gt;ifind) ifind=k&lt;BR /&gt; &lt;BR /&gt; do ikl=1,lorbit&lt;BR /&gt; s1=p4(ikl)*psij(i,ikl)&lt;BR /&gt; psik(k,ikl)=psik(k,ikl)+s1&lt;BR /&gt; end do&lt;BR /&gt;&lt;BR /&gt; k=map(i,ntsite-1)&lt;BR /&gt; if (k==0) cycle &lt;BR /&gt; do ikl=1,lorbit&lt;BR /&gt; s1=p3(ikl)*psij(i,ikl)&lt;BR /&gt; psik(i,ikl)=psik(i,ikl)+s1&lt;BR /&gt; end do&lt;BR /&gt; end do ljfill&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt; do ikk=1,ifind&lt;BR /&gt; do ikl=1,lorbit&lt;BR /&gt; psik(ikk,ikl)=psik(ikk,ikl)-psim(ikk,ikl)&lt;BR /&gt; end do&lt;BR /&gt; end do&lt;BR /&gt;&lt;BR /&gt;!===============================================!&lt;BR /&gt;! calculating $alpha$ &amp;amp; $beta$  !&lt;BR /&gt;! may be done as a subroutine  ! &lt;BR /&gt;!===============================================!&lt;BR /&gt;&lt;BR /&gt; mfill=ifind&lt;BR /&gt; sum1=0.0d0&lt;BR /&gt; do i=1,jfill&lt;BR /&gt; do j=1,lorbit&lt;BR /&gt; sum1=sum1+psij(i,j)*psij(i,j)&lt;BR /&gt; end do&lt;BR /&gt; end do&lt;BR /&gt;&lt;BR /&gt; sum2=0.0d0&lt;BR /&gt; do i=1,mfill&lt;BR /&gt; do j=1,lorbit&lt;BR /&gt; sum2=sum2+psik(i,j)*psij(i,j)&lt;BR /&gt; end do&lt;BR /&gt; end do&lt;BR /&gt; &lt;BR /&gt; alpha(nrec)=sum2/sum1  &lt;BR /&gt;&lt;BR /&gt; do i=1,mfill&lt;BR /&gt; do j=1,lorbit&lt;BR /&gt; psik(i,j)=psik(i,j)-alpha(nrec)*psij(i,j)-beta(nrec-1)*psii(i,j)&lt;BR /&gt; end do&lt;BR /&gt; end do&lt;BR /&gt;&lt;BR /&gt; sum3=0.0d0&lt;BR /&gt; do i=1,mfill&lt;BR /&gt; do j=1,lorbit&lt;BR /&gt; sum3=sum3+psik(i,j)*psik(i,j)&lt;BR /&gt; end do&lt;BR /&gt; end do&lt;BR /&gt; &lt;BR /&gt; beta(nrec)=sum3/sum1&lt;BR /&gt;&lt;BR /&gt; &lt;BR /&gt; do i=1,nsite&lt;BR /&gt; do j=1,lorbit&lt;BR /&gt; psii(i,j)=psij(i,j)&lt;BR /&gt; psij(i,j)=psik(i,j)&lt;BR /&gt; psik(i,j)=0.0d0&lt;BR /&gt; psim(i,j)=0.0d0&lt;BR /&gt; end do&lt;BR /&gt; end do&lt;BR /&gt;&lt;BR /&gt; nfill=mfill&lt;BR /&gt; if (mfill&amp;gt;nasite)nfill=nasite&lt;BR /&gt; ifind=1&lt;BR /&gt; xa(nrec,ienrp)=alpha(nrec)&lt;BR /&gt; ya(nrec,ienrp)=beta(nrec)&lt;BR /&gt; write(15,*)nrec,alpha(nrec),beta(nrec) &lt;BR /&gt; end do lrec &lt;BR /&gt; close(15)&lt;BR /&gt; &lt;BR /&gt; end subroutine hop&lt;BR /&gt;&lt;BR /&gt;!-----------------------------------------------!&lt;BR /&gt;! Subroutine MATP    ! &lt;BR /&gt;! to multiply SRL*CONS   !&lt;BR /&gt; subroutine matp(srl,cons,j,ar)&lt;BR /&gt;!-----------------------------------------------!&lt;BR /&gt; use kinds&lt;BR /&gt; use parameters&lt;BR /&gt; implicit double precision(a-h,o-z)&lt;BR /&gt;&lt;BR /&gt; real(RDP),dimension(lorbit,lorbit,0:nrsite):: srl&lt;BR /&gt; real(RDP),dimension(lorbit):: cons,ar&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt; do i=1,lorbit&lt;BR /&gt; su=0.0d0&lt;BR /&gt; do kl=1,lorbit&lt;BR /&gt; su=su+srl(i,kl,j)*cons(kl)&lt;BR /&gt; enddo&lt;BR /&gt; ar(i)=su&lt;BR /&gt; enddo&lt;BR /&gt; &lt;BR /&gt; end subroutine&lt;BR /&gt;&lt;BR /&gt; end module mhop&lt;BR /&gt;&lt;BR /&gt;hope this will help. looking for help very eagerly.&lt;/P&gt;</description>
      <pubDate>Sat, 06 Dec 2008 05:53:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892871#M3866</guid>
      <dc:creator>roddur</dc:creator>
      <dc:date>2008-12-06T05:53:01Z</dc:date>
    </item>
    <item>
      <title>Re: openmp problem</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892872#M3867</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;P&gt;Roddur,&lt;/P&gt;
&lt;P&gt;Begin with changing&lt;/P&gt;
&lt;PRE&gt;[cpp]real(RDP),dimension(nsite,lorbit)::psii,psij,psik,psim
real(RDP),dimension(maxrec)::alpha
real(RDP),dimension(0:maxrec)::beta
real(RDP),dimension(lorbit)::cons,ar
real(RDP),dimension(lorbit):: p2,p3,p4
real(RDP),dimension(maxrec,ienum+1):: ya,xa

to

real(RDP), automatic ,dimension(nsite,lorbit)::psii,psij,psik,psim
real(RDP), automatic, dimension(maxrec)::alpha
real(RDP), automatic, dimension(0:maxrec)::beta
real(RDP), automatic, dimension(lorbit)::cons,ar
real(RDP), automatic, dimension(lorbit):: p2,p3,p4
real(RDP), automatic, dimension(maxrec,ienum+1):: ya,xa

[/cpp]&lt;/PRE&gt;
&lt;P&gt;Without the automatic these arrays may have been "SAVE" (and shared amoungst your threads).&lt;/P&gt;
&lt;P&gt;Jim Dempsey&lt;/P&gt;</description>
      <pubDate>Sun, 07 Dec 2008 02:17:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892872#M3867</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2008-12-07T02:17:10Z</dc:date>
    </item>
    <item>
      <title>Re: openmp problem</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892873#M3868</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/99850"&gt;jimdempseyatthecove&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;Without the automatic these arrays may have been "SAVE" (and shared amoungst your threads).&lt;EM&gt;
&lt;P&gt;Jim Dempsey&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;hello Jim,&lt;/P&gt;
&lt;P&gt;i have changed the arrays to automatic but didnt get much. can you plz suggest me which should be private and shared in this hop subroutine? this is the main routine and once it is done, i may run fit and spectral in ordered way....that will not consume much time.&lt;/P&gt;
&lt;P&gt;hope your help&lt;/P&gt;</description>
      <pubDate>Sun, 07 Dec 2008 04:27:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892873#M3868</guid>
      <dc:creator>roddur</dc:creator>
      <dc:date>2008-12-07T04:27:56Z</dc:date>
    </item>
    <item>
      <title>Re: openmp problem</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892874#M3869</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;P&gt;Here is a suggestion to help track down the problem.&lt;/P&gt;
&lt;P&gt;One of the major reasons for thread conflicts is when multiple threads assume they own a memory resource when it is shared (not by design). Although some tools (e.g. Thread Checker) can aid in finding these problems, you may have to resort to finding these yourself.&lt;/P&gt;
&lt;P&gt;In the case where you may have a matrix that is to be constructed (written) and you wish to use multiple threads to do so, you typically decompose the matrix into tiles and then have each thread compute and fill in a tile. Problems arrise when threads write to tiles (or other shared data) that are not within the designated areas for them to write. This conition not only includes writing to an output tile not owned, but also using shared variables under the assumption they are exclusively owned (the missing automatic covered the last situation).&lt;/P&gt;
&lt;P&gt;To isolate the tile ownership problem you can add diagnostic code. I prefer to use the Fortran Preprocessor as it makes for clear reading. The route I would use is&lt;/P&gt;
&lt;P&gt;For the arrays and variables passed into the questionably threaded subroutine is to create an ownership array of equal rank and extent. Then outside the parallel region, initialize all ownership array cells to -1 (not claimed). The subroutine under test would then obtain its thread number, and test the cell positions in the ownership array corrisponding with thecells it will write in the output arrays. If owner ship is -1, then write inthread number else if ownership != thread number report error.&lt;/P&gt;
&lt;P&gt;Jim&lt;/P&gt;</description>
      <pubDate>Sun, 07 Dec 2008 16:34:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892874#M3869</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2008-12-07T16:34:50Z</dc:date>
    </item>
    <item>
      <title>Re: openmp problem</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892875#M3870</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;P&gt;hello &lt;A href="https://community.intel.com/en-us/profile/99850"&gt;jimdempseyatthecove&lt;/A&gt;,&lt;/P&gt;
&lt;P&gt;can you plz be a bit more clear? i am really stuck here&lt;/P&gt;</description>
      <pubDate>Wed, 10 Dec 2008 16:24:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892875#M3870</guid>
      <dc:creator>roddur</dc:creator>
      <dc:date>2008-12-10T16:24:41Z</dc:date>
    </item>
    <item>
      <title>Re: openmp problem</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892876#M3871</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/271365"&gt;roddur&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;P&gt;hello &lt;A href="https://community.intel.com/en-us/profile/99850"&gt;jimdempseyatthecove&lt;/A&gt;,&lt;/P&gt;
&lt;P&gt;can you plz be a bit more clear? i am really stuck here&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;You'll have to do some work yourself. If your code is as difficult for you to read as for me, at least put in some formatting (indentation etc.). You haven't been clear what problems you have, where do you have complaints from thread checker, etc.&lt;/P&gt;</description>
      <pubDate>Wed, 10 Dec 2008 17:01:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/openmp-problem/m-p/892876#M3871</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2008-12-10T17:01:53Z</dc:date>
    </item>
  </channel>
</rss>

