Intel’s software development tools continue to advance year after year, supporting new processors and standards, improving performance, and taking compatibility seriously. For dependable, top-performance tools for x86 and x86-64, my bet is on Intel. That’s why I recently installed the latest 2019 beta tools on all my systems at home and at work as soon as I could sign up and download them. These are serious tools for Python, C, C++, and Fortran developers who are optimization-minded, and I couldn’t pass up the opportunity to try them out—for free!
Intel has made signing up easy, and this entitles you to download and install fully functional versions of its tools. I’ve downloaded and installed the tools on my Windows 10 machine, my iMac running the latest (High Sierra) macOS, and my Centos Linux machines. So far, so good. I’ve been mostly either writing programs using Intel® Threading Building Blocks (TBB) and testing them on each system or running some OpenMP workloads. I’m co-authoring a new book on TBB, and I’ve found that the latest TBB works flawlessly for me. My code is highly portable, and I love having the same tools on each system for TBB, OpenMP, C++, and Fortran too.
Intel offers Intel® Parallel Studio XE in three editions: Composer Edition (compilers and libraries)), Professional Edition (adds analysis tools), and Cluster Edition (adds MPI and related tools). I always just sign up for the best: Cluster Edition for Windows and Linux, Composer for macOS.
More accelerated Python
Last year, I wrote about efforts to accelerate Python in “How Does a 20X Speed-Up in Python Grab You?” The latest release adds scikit-learn optimizations for SVM classification algorithm, a new XGBoost package with a Python interface to the library (Linux only), and support for Python 3.6 and 2.7 (aren’t there enough Pythons?). Best of all, Intel no longer requires a separate download and install to get accelerated Python (it’s still available by itself for free).
Standards support marches on
Intel says it has added more support for C++2017 and Fortran 2018, and finished adding everything in OpenMP 4.5 and OpenMP 5.0. My experience has been that Intel is conservative in its assessments of standard compliance, so the “it’s all there” is a definite green light for everyone.
Flow Graph support
The Flow Graph Analyzer (FGA) has been integrated into the Intel Advisor tool. FGA supports parallel applications using the Intel Threading Building Blocks flow graph. FGA allows us to interactively build, validate, and visualize algorithms—even as we write code. At the heart of it, FGA aims to help us visualize the structure of a parallel program. Its critical path analysis feature helps focus us on the critical sections when tuning. This makes it less likely that we’ll waste time tuning code that’s not on a critical path. I’ve seen example customer graphs with tens of thousands of nodes where this is absolutely essential. A more typical graph with a smaller number of nodes will still benefit from this help.
There are many more features in this beta, and I’ve included a link to the documentation if you want to read about them before downloading. Based on my experience over the past two months, this beta is a step forward while every bit as reliable and “high performance” as we’ve come to expect. According to Intel’s release notes, the beta license and software will function until October 12, 2018. Based on past experience, there will be at least one update to the beta between now and mid-summer.
Useful links for more information