Changes between Initial Version and Version 1 of UsefulDebuggingOptions


Ignore:
Timestamp:
Feb 2, 2017, 10:41:11 PM (10 months ago)
Author:
cameron
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UsefulDebuggingOptions

    v1 v1  
     1== Useful Debugging Options ==
     2
     3With any program compiled with our toolchains, the following options
     4print out various important intermediate representations.
     5{{{
     6    -ShowREs                         - Print parsed or generated regular expressions
     7    -ShowPablo                       - Print generated Pablo code
     8    -ShowIR                          - Print generated LLVM IR.
     9    -ShowASM                         - Print assembly code.
     10}}}
     11
     12For example, try
     13{{{
     14./icgrep -ShowREs myRegExp
     15}}}
     16or
     17{{{
     18./icgrep -ShowASM myRegExp
     19}}}
     20
     21Runtime traces of Pablo code can be printed with
     22{{{
     23    -DumpTrace                       - Generate dynamic traces of executed Pablo assignments.
     24}}}
     25
     26Finally, (for the adventurous), if you are having problems with segmented pipeline
     27parallelism mode, you can check what happens with the following flag.
     28{{{
     29    -SerializeThreads                - Force segment threads to run sequentially.
     30}}}
     31
     32With this option, if you get correct output that matches the single-thread output,
     33then it is likely that there is a race condition.  However, if the output shows
     34anomalous behaviour, then it is likely a logical problem in kernel, buffer or pipeline
     35structure.