Late last week Cray announced it had acquired assets of PathScale’s compiler technology from defunct HPC cluster maker SiCortex. The assets include high-performance 64-bit C, C++ and Fortran compilers and related tools for Linux-based targets. Terms of the deal were not disclosed.
Although Cray now owns the intellectual property, compiler specialist Netsyncro.com Inc. will get the exclusive license to develop the PathScale compiler suite going forward. Netsyncro.com, a company that incorporated in 2008, builds open source-based commercial development solutions, such as performance-optimized Java compilers. According to company CTO Christopher Bergström, a number of veteran PathScale engineers have been brought in-house and are now a part of a team that represents over 60 man-years of experience. PathScale founder Fred Chow, who is the engineering director for the revived company, will lead the development group.
With the new focus, the company will change its name to PathScale to match the compiler brand. Perhaps more significantly, PathScale will also be returning to its open source roots. The original technology, which was developed under the guidance of Chow, was derived from Open64, an open source compiler that traces its origins back to the SGI Pro64 Compiler. Under the new regime, PathScale will be placing large parts of the compiler suite’s code base into open source.
In exchange for restarting the PathScale technology, Cray gets support for the compiler as well as the option to leverage the technology for its own product set. Currently, the PathScale compiler is employed by some of Cray’s customers on its Opteron-based XT supercomputer line. The supercomputer maker actually is doing a couple of worthwhile things here. First, Cray is taking care of its own users, even though the PathScale technology has a somewhat limited customer base right now. (PGI is the primary compiler used on XT systems today.) More importantly, though, Cray is helping the larger HPC community by keeping the PathScale technology alive.
For the past couple of years, there have been only two compiler vendors supporting mainstream, x86-based HPC: PGI and Intel. Prior to that, PathScale was an independent vendor selling HPC compilers into the market. But in 2006, QLogic purchased PathScale, mainly to get access to its InfiniBand technology. In 2007, cluster startup SiCortex bought the PathScale compiler assets from QLogic in order to develop a full-featured compiler solution for the company’s MIPS processor-based machines.
Free of SiCortex, the PathScale compiler will once again target mainstream high performance computing. PathScale’s existing EKO compiler for the AMD Opteron has been in use since 2004 and is well regarded in the HPC community, especially in government and research labs. Now that the focus on MIPS is history, the in-house engineering team will shift its resources back to supporting commodity platforms. “Our target focus is definitely going to be HPC-x86,” says Bergström.
Presumably, the company will also provide support for the latest Intel Xeon platforms, but Bergström says that ultimately they would provide what their customers ask for. Further out, they’re planning to increase optimization for OpenMP and build more performance and profiling tools around that technology.
When asked about GPU support in the compiler, Bergström appeared non-committal. He thinks PGI’s recent push into GPU compilation may distract them from their core focus on CPU performance. To him, the hard part is not generating the GPU code, but deciding which pieces of the application are worthwhile porting to the GPU. Right now, defining the areas of code to be offloaded from the CPU is being done via pragmas, inserted into the code by developers. “Someone has to come up with an efficient way to identify those areas,” says Bergström.
OS-wise, PathScale is committed to Linux for the foreseeable future. Although Window-based HPC is picking up vendor support — even at Cray in the CX1 platform — it doesn’t appear likely that a Windows target for PathScale in the offing. Bergström says the open source nature of the business model makes it a bad fit for the proprietary Windows platform. “There are a few companies that have Windows ports based off of Open64, but they’re violating the GPL [GNU General Public License] and not releasing the source,” he says.
The big question though is if PathScale 2.0, using an open source model, will be able to compete with the likes of Intel and PGI. Obviously Bergström thinks so. According to him, being able to tap into a broader community of developers is going to offer some real advantages to their business, including the ability to provide more fine-grained support. From the customer’s point of view, a small research project that needs an extra 5 percent performance from their application has a better chance to find help in the open source community than it probably would from a vendor. “When you have a thousand people all working on these little improvements, that will help us a lot more than trying to fund 20-40 engineers of our own,” he predicts.
Bergström intends to be proactive about building the open source developer community by recruiting compiler researchers in the academic world and by mentoring customers. It’s a model that has worked exceedingly well for other HPC code bases like Linux and Lustre. It has also turned out to be the preferred model for application developers who want to avoid the total responsibility of in-house development and the dependency of proprietary software.