The Intel Software Conference gave me an opportunity to get a preview of a new parallel programming tool, coming out later this year, Intel Advisor XE. This adds Linux, Fortran and C# .Net support to a tool (Intel Parallel Advisor) that was previously only available for C/C++. It also has a standalone interface, so you can use it with or without Microsoft Visual Studio. It’s in beta now (although it looks like it’s a closed beta because I can’t find a download link).
Intel Advisor XE is a design tool that helps you to transform serial code to run well on multicore hardware by forecasting what might happen if the code executes in parallel. It helps to identify where parallelisation gives the biggest returns, predicts scalability and overheads, and also helps predict data races. As with many of the Intel parallel programming tools, it uses highly visual graphs to help you identify hotspots and assess the potential performance of your parallel annotations.
The tool guides you through a five-step workflow: surveying your program to work out where you should add parallelism (which functions and loops consume most time), annotating the source code with potential parallel sections, checking the suitability of those annotations (by modelling the program’s execution), checking correctness, and finally adding your choice of parallel framework. The correctness check might take minutes to analyse a program that runs in seconds, but you can give it the shortest input data that will exercise the program’s flow paths and abort execution early when the real time feedback alerts you to something you can fix straight away.
Intel Advisor XE will be part of Intel Parallel Studio XE, released later this year. It’s interesting to see the tool migrate to Linux and Fortran, after getting a good reception in C++. Are you a Fortran or Linux programmer who’s looking forward to this release? Leave a comment below!