Hi all, <div><br><div>Please check out our recent ISCA publication that introduces a new performance profiling technique for analyzing parallel programs along with an open source tool to collect the profiles.  The tool is written into LLVM's LTO. Could someone please add the paper to <a href="http://llvm.org/pubs/" target="_blank">http://llvm.org/pubs/</a> ?  </div>


<div><br></div><div>Here is the citation:<div><a href="http://arcade.cs.columbia.edu/harmony-isca12.pdf" style="line-height:26px;font-size:13px;font-family:Tahoma,sans-serif" target="_blank">Harmony: Collection and Analysis of Parallel Block Vectors</a><span style="line-height:26px;font-size:13px;font-family:Tahoma,sans-serif">, M. Kambadur, K. Tang, M. A. Kim, In </span><i style="line-height:26px;font-size:13px;font-family:Tahoma,sans-serif">International Symposium on Computer Architecture (ISCA), 2012.</i></div>

</div></div><div><font face="Tahoma, sans-serif"><span style="line-height:24px"><br></span></font></div><div><font face="Tahoma, sans-serif"><span style="line-height:24px">Our project page with the downloadable tool:</span></font></div>
<div><font face="Tahoma, sans-serif"><span style="line-height:23px"><a href="http://arcade.cs.columbia.edu/harmony" target="_blank">http://arcade.cs.columbia.edu/harmony</a></span></font></div>

<div><span style="line-height:23px;font-family:Tahoma,sans-serif"><br></span></div><div><span style="line-height:23px;font-family:Tahoma,sans-serif">The paper abstract:</span></div><div><font face="Tahoma, sans-serif"><span style="line-height:23px"><div>
Efficient execution of well-parallelized applications is <span style="line-height:23px">central to performance in the multicore era. Program analysis tools support the hardware and software sides of this </span><span style="line-height:23px">effort by exposing relevant features of multithreaded applications. This paper describes parallel block vectors, which </span><span style="line-height:23px">uncover previously unseen characteristics of parallel programs. Parallel block vectors provide block execution pro</span><span style="line-height:23px">files per concurrency phase (e.g., the block execution pro</span><span style="line-height:23px">file of all serial regions of a program). This information </span><span style="line-height:23px">provides a direct and fine-grained mapping between an application’s runtime parallel phases and the static code that </span><span style="line-height:23px">makes up those phases. This paper also demonstrates how </span><span style="line-height:23px">to collect parallel block vectors with minimal application </span><span style="line-height:23px">perturbation using Harmony. Harmony is an instrumentation pass for the LLVM compiler that introduces just 16-</span><span style="line-height:23px">21% overhead on average across eight Parsec benchmarks. </span><span style="line-height:23px">We apply parallel block vectors to uncover several </span><span style="line-height:23px">novel insights about parallel applications with direct consequences for architectural design. First, that the serial and </span><span style="line-height:23px">parallel phases of execution used in Amdahl’s Law are often composed of many of the same basic blocks. Second, </span><span style="line-height:23px">that program features, such as instruction mix, vary based </span><span style="line-height:23px">on the degree of parallelism, with serial phases in particular displaying different instruction mixes from the program </span><span style="line-height:23px">as a whole. Third, that dynamic execution frequencies do </span><span style="line-height:23px">not necessarily correlate with a block’s parallelism.</span></div>
<br></span></font></div><div><font face="Tahoma, sans-serif"><span style="line-height:24px">Thanks,</span></font></div><div><font face="Tahoma, sans-serif"><span style="line-height:24px">Melanie Kambadur</span></font></div>
<div><font face="Tahoma, sans-serif"><span style="line-height:24px"><br></span></font></div><div><font face="Tahoma, sans-serif"><span style="line-height:22px"><br></span></font></div>