September 4, 2013

Intel Firms Up Fortran, Steps to Standards

Nicole Hemsoth

Following Intel's low-key announcement today of updates to Cluster Studio and Parallel Studio, we spoke with its software and tools guru, James Reinders, about what these enhancements mean for Xeon Phi, Fortran development, and the advancement along standards lines, including OpenMP 4.0 and....

This morning Intel rather quietly pushed updates out around their Cluster Studio and Parallel Studio suites, both of which are aimed at improving the range and scope of applications set to run on its Xeon Phi, Broadwell, Haswell and beyond.

Many of the updates are forward-looking and revolve around wrapping around standards, including OpenMP 4.0 and Fortran 2003 and 2008, the company’s software and tools guru, James Reinders, told us today.

Intel generally rolls out support for their upcoming processors a year or more in advance, as they’ve done with Sandy Bridge, Ivy Bridge and Haswell–and they’re treating Xeon Phi no differently. “We’re focusing on making Xeon and Xeon Phi programming similar and want to move forward with putting the support before the silicon.”

“The key for us with Phi has been to give the ability to program in a common manner between Xeon and Xeon phi. We have some features now that show how we’re going to be able to bridge the current generation of Phi to the future Knight’s Landing chips, which are in development now.  Some of the functionality starts to show up in our tools this year, so in terms of things like AVX -512, our tools are ready.  There will be some updates in October that bring it into full force in our suite, but for the first time we’re talking about that being part of our products.”

In addition to prepping its dev base for future developments, Reinders says they’ve also worked on boosting performance on the suite compilers and libraries. But the real meat for the scientific computing set is in the Fortran enhancements on both 2003 and 2008. “Interest in Fortran is incredibly high. It’s far from a dying language…more people are programming in Fortran than there were 10 years ago and it’s really stepped up as a language that embraces parallelism.”

The company has done a great deal of development work on Fortran 2003 and 2008, but Reinders says that the future of Fortran (2013) is still something that they’re watching. At the moment, 2008 in particular stands apart as the standard that stands out with its due concurrent and coarray elements that give it a boost and help it wrap around parallelism. “Couple the advantages of Fortran 2008 with Open 4.0 and it’s not only a viable language-it’s arguably the very best language for scientific programmers to be coding in on high performance architectures,” said Reinders.

Aside from the further work on Fortran, there are some added elements in their cluster suite that have appeal beyond the C , C++ and Fortran developer crowd. Java adds an interesting element into the mix, which Reinders says they’re addressing for mixed applications. As he noted, “some developers have Java in their applications (usually C or C++–not Fortran) and our tools can support that, especially in our performance analysis and coding tools that understand when Java gets mixed in.”

More specifically, he says these tools can understand it enough to give useful feedback. So for instance, instead of spending a long time in the Java interpreter, the tools can show the Java code itself—and what aspects of the Java code are problematic instead of just attributing it to the interpreter, which is more useful. Again, this is a side element—the real focus here is not on the Java side, even though Reinders says he’s seen a few examples of some users spinning some serious numerics with it.

With all the chatter around standards, it was hard not to mention the HAS announcement last week. Reinders says that while there is no doubt that heterogeneous computing is here to stay, the vision about what heterogeneity actually means is still very much up in the air.

“The HSA proponents are weak on their support for CPUs versus GPUs,” he says. “It’s a concern…I think that true standards should be geared toward a wide variety of hardware and even-handed support should be granted for the different ways it might be implemented. It’s too early to call winners and it’s too early to emphasize the GPU as the preferred method of doing parallelism, for instance.” He says he believes it will work itself out over time based on what the market actually asks for—but for now, it’s not even clear what potential customers will want to buy on the CPU/GPU front.

Share This