List of Tools:1. Intel Parallel Studio:§ “Intel Parallel Studio XE is a softwaredevelopment product developed by Intel that facilitates native code developmenton Windows, macOS and Linux in C++/C and Fortran for parallel computing. Parallelprogramming enables software programs to take advantage of multi-coreprocessors from Intel and other processor vendors.”2. Pareon:§ “predictive profiling tool based on dynamicanalysis to explore opportunities and bottlenecks for parallel execution of Cand C++ code.” Featuresthat tool offers:· Trace Generationo Generate trace by getting two types of input,either § A) bycapturing all runtime events and Function calls§ B) byproviding intermediate code as an input o Frameworks for binary analysis§ Pin Tool (used in Parceive)§ Valgrind§ DynamoRIOo Pin inject analysis result into SQLite databasewhich consists of runtime events (function calls or memory access) and meta-information(execution time or variable names)o Parceive incorporate these information for datagathering:§ Call Stack: · Function Call and Function Return§ Memory Access:· Information about memory type, memory address,access instruction§ Memory Management:· Handles heap memory.§ Threading: · For concurrent software this tool capturesthread operation and synchronization· Trace Analysiso Since the tool offer query based analysis, theyhave written multiple queries to get the required information form the tracethat has been generated by the PIN Tool.
o After injecting information into database, thetool queries the database for the required information, like data dependenciesbetween functions, · Visualizationo In the Visualization section they have provideda graph that shows the executed function, accessed memory location, o Different color to show memory types § Analysis/Visualization:o In this tool Function view graph is used to visualizethe analyzed data. This graph shows Functions in rectangle, memory location in circleand memory access in the form of edges. Execution time of cumulated functioncall has shown in the different colors.
RelatedSection:In therelated section author has compared the goals of Parceive with the Intel Advisor. In therelated work section author has shown some interests on Intel’s dynamic analysistool named as Intel Parallel Advisor (which is also part of Intel’s Parallelstudio suite) and Pareon from Vector Fabrics. “Intel Parallel Advisor: Vectorization advisor is designed to help youadd vectorization to your existing application and analyze the efficiency ofthe current vectorization. This application included different approaches like SurveyReport (to analyze where the time has been spent. Survey report shows the hotloop information about whether they have been vectorized or not), Trip countanalysis (this check how many time loops has been iterated and hope tovectorized)” “Pareon fromVector Fabrics: To detect errors Pareon builds an accurate picture of software’sbehavior and only then Pareon can pin point subtle mistakes cause havoc whenthe software is deployed in the field” Additionally, the author has described Parceive’s features like parallelpattern, different views like call graph or speedup curves. Author also saidthat his tool doesn’t require manual annotation. “Kremlin” and “Embla” have been described as a research perspective.
However, these two tools focus on functional parallelism and critical pathbased detection of parallelism. Author defines his goal from parallelism is todetect validation and optimization of parallelization scenarios that’s whyauthor has incorporated dependency analysis, profile analysis, detection ofparallelism-inhibiting problem to show parallel candidates. There is another tool mentioned in the paper “TheProspector tool suite” this suite include profiler for loop, data dependencies,speedup predictor, and post analyzer.
Same like Parceive it uses binaryinstrumentations as an input but like tool lack of visual representation of runtimecode behavior and the software structure graphically.