<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Wed, 25 Nov 2009 04:06:00 -0800 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://software.intel.com/en-us/articles/intel-trace-analyzer-and-collector-for-linux-kb/type/technical-notes/feed/" rel="self" type="application/rss+xml" />
    <title>Intel Software Network articles feed</title>
    <link>http://software.intel.com/en-us/articles/intel-trace-analyzer-and-collector-for-linux-kb/technical-notes/</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>No trace file using Intel® Trace Analyzer and Collector</title>
      <description><![CDATA[ <p><strong>Issue</strong></p>
<p>When I instrument the application  <strong>test.cpp</strong> with the Intel® MPI Library compilation driver  <strong>mpiicpc</strong> and with the Intel® Trace Collector using the command line (listed below) for Itanium®-based systems for Intel® Pentium® 4, Intel® Xeon®, and Intel® 64-based architectures, I do not produce a trace file.</p>
<blockquote><code>mpiicpc test.cpp -g -L${VT_ROOT}/lib -lVT -lvtunwind -ldwarf -lelf -lpthread -lm <br /> -o testcpp_inst</code><br /><br /><strong>or with the command:</strong><br /><br /><code>mpiicpc test.cpp -g -L${VT_ROOT}/lib -lVT -ldwarf -lelf -lpthread -lm <br /> -o testcpp_inst</code></blockquote>
<br />
<p><strong>Solution</strong></p>
<p>When compiling the C++ application  <strong>test.cpp</strong> with the Intel® C/C++ compiler (<strong>mpiicpc</strong>) and with Intel® Trace Collector requires an additional library called  <strong>-lmpiic</strong>. The rule for this is that if one uses the MPI-2 C++ application programming interfaces (APIs) with the Intel® C/C++ compilers, then Intel® Trace Collector cannot intercept the MPI calls as they are written. They have to be mapped to C function calls first, with the help of an MPI implementation-specific wrapper library, which with respect to the command-line, has to be placed in front of the Intel® Trace Collector library. The name of that wrapper library for the  <strong>mpiicpc</strong> compilation driver is  <strong>-lmpiic</strong>. Thus, for Itanium®-base systems the command line should be:</p>
<blockquote><code>mpiicpc test.cpp -g -lmpiic -L${VT_ROOT}/lib -lVT -lvtunwind -ldwarf -lelf -lpthread -lm <br /> -o testcpp_inst</code><br /><br /> and for Intel® Pentium® 4, Intel® Xeon®, and Intel® 64-based architectures the compilation protocol should be:<br /><br /> <code>mpiicpc test.cpp -g -lmpiic -L${VT_ROOT}/lib -lVT -ldwarf -lelf -lpthread -lm <br /> -o testcpp_inst</code></blockquote> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-cluster-tools-no-trace-file-using-intel-trace-analyzer-and-collector</link>
      <pubDate>Fri, 16 Jan 2009 15:57:26 -0800</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-cluster-tools-no-trace-file-using-intel-trace-analyzer-and-collector#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-cluster-tools-no-trace-file-using-intel-trace-analyzer-and-collector</guid>
      <category>Intel® Cluster Toolkit for Linux* Knowledge Base</category>
      <category>Intel® Trace Analyzer and Collector for Linux* Knowledge Base</category>
    </item>
  </channel></rss>