Difference between revisions of "GPU621/Striking"

From CDOT Wiki
Jump to: navigation, search
(Progress)
(Progress)
Line 33: Line 33:
  
 
<table>
 
<table>
<tr><td colspan="3">[[File:Parallel_stack_view.png|500px|thumb|left|alt text]]</td></tr>
+
<tr><td colspan="3">[[File:Parallel_stack_view.png|450px|thumb|left|alt text]]</td></tr>
 
<tr><td>Callout Letter</td><td>Element Name</td><td>Description</td></tr>
 
<tr><td>Callout Letter</td><td>Element Name</td><td>Description</td></tr>
 
<tr><td>A</td><td>Call Stack Segment or Node</td><td>Contains a series of method contexts for one or more threads. </td></tr>
 
<tr><td>A</td><td>Call Stack Segment or Node</td><td>Contains a series of method contexts for one or more threads. </td></tr>
Line 49: Line 49:
 
* Sample code can be downloaded from here [https://software.intel.com/en-us/node/522584 Intel(R) Cilk(TM) quick sort]
 
* Sample code can be downloaded from here [https://software.intel.com/en-us/node/522584 Intel(R) Cilk(TM) quick sort]
  
** Data flow of parallel_qsort
 
  
<table border="1">
 
  
 +
<table border="0">
 +
<tr><tdcolspan="2">** Data flow of parallel_qsort</td></tr>
 +
<tr><td colspan="2">[[File:dataflow.png|250px|thumb|right|alt dataflow]]</td></tr>
 +
<tr><tdcolspan="2">** Parallel Stacks</td></tr>
 
<tr>
 
<tr>
 
<td>[[File:qsort_set1.png|300px|thumb|left|alt qsort_set1]]</td>
 
<td>[[File:qsort_set1.png|300px|thumb|left|alt qsort_set1]]</td>
Line 64: Line 66:
 
<td>The moment that Main Thread is working for getting out of the previous spawning thread calling to parallel_qsort and 3d and 4th element values in the data array are exchanging in memory.
 
<td>The moment that Main Thread is working for getting out of the previous spawning thread calling to parallel_qsort and 3d and 4th element values in the data array are exchanging in memory.
 
</td></tr>
 
</td></tr>
<tr><td rowspan="5">[[File:dataflow.png|250px|thumb|right|alt dataflow]]</td></tr>
 
 
</table>
 
</table>
  

Revision as of 12:48, 8 December 2016

Striking

Our project: Debugging Threads in Intel Parallel Studio

Group Members

  1. Eunju Han [1] Research etc.
  2. Lei(Eric) Zhang [2] (Dropped the course) Research etc.

Progress

Oct 17th:

  1. Picked topic
  2. Picked presentation date.

Oct 20th:

  1. Created Wiki page

Nov 6th - 13th:

  • There are great resources about Intel Parallel Debugger Extension for Microsoft Visual Studio like below.
  1. Debugging Threads in Intel Parallel Studio - [Dr. Dobbs Article]
  2. Intel® Parallel Debugger Extension, Added Aug 2, 2012 - [[3]]
  3. Intel Parallel Composer Parallel Debugger Extension Tutorial - [Mittie Sylvian's Video]

However, Intel Parallel Debugger Extension has been deprecated from the version Intel Composer XE 2013 at the end of 2012. I have noticed this from the Intel User Forum.

Nov 14th - 23th:

  • Links about Debug Multithreaded Applications in Visual Studio
  1. How to: Use the Threads Window
  2. How to: Use the Parallel Watch Window
  3. Using the Parallel Stacks Window
alt text
Callout LetterElement NameDescription
ACall Stack Segment or NodeContains a series of method contexts for one or more threads.
BBlue HighlightPresent the call path of the current thread.
CArrow linesConnect nodes to make up the entire call path for the thread(s).
DTooltip on Node HeaderShows the ID and user-defined name of each thread whose call path shares this node.
EMethod ContextRepresents one or more stack frames in the same method.

Sample code to use debugging


<tdcolspan="2">** Data flow of parallel_qsort</td> <tr><td colspan="2">
alt dataflow
</td></tr>

<tr><tdcolspan="2">** Parallel Stacks</td></tr> <tr>

<td>
alt qsort_set1
</td> <td>
alt qsort_set2
</td></tr>

<tr><td>Recursive calling parallel_qsort of spawning parallel_qsort in the first parallel_qsort function which main thread has responsible for</td> <td>The moment right after a spawning thread works in second parallel_qsort calling which Main Thread had finished</td></tr>

<tr><td>
alt qsort_set4_1
</td> <td>
alt qsort_set4_done
</td></tr>

<tr><td>For two level parallel_qsort function calling and two level spawning call to parallel_qsort, two Threads are working for this; Worker3 and Worker2</td> <td>The moment that Main Thread is working for getting out of the previous spawning thread calling to parallel_qsort and 3d and 4th element values in the data array are exchanging in memory. </td></tr> </table>


  • Debugging Tips
  1. Hit F9 at the front of a line to put the breakpoints
  2. Run the program in Debug mode first and then open the windows you need.
  3. Open the windows like Memory, Threads, Parallel Stacks, and Local or Auto.
  4. Hit F10 or F11 to run codes line by line
  5. F9 to put or remove breakpoints


Links about Intel® Parallel Studio XE 2017

  1. link1 Intel® Parallel Studio XE 2017
  2. link2 Intel® Parallel Studio XE 2017
  3. link Intel® Parallel Studio XE Release Notes