Eindhoven, Netherlands: Vector Fabrics has launched an x86 version of its vfThreaded tool, which helps engineers parallelise applications for multicore x86 architectures (see the figure). The company says the tool will reduce the time involved and the risks associated with optimising code for the latest multicore x86 processors. It will be used in performance-centric code in high-performance computing, scientific, industrial, video, and imaging applications.
Although multicore architectures offer higher speeds, better silicon utilisation, and lower power consumption, they still present problems. Programming in a multicore environment typically has been time consuming and difficult, with bugs easy to introduce but tricky to spot and even harder to fix.
“We call it the multicore crisis—the hardware is there, but the software is not,” says Marco Jacobs, marketing director at Vector Fabrics. “Engineers really need to understand the code, even if it means learning new programming modules or rewriting the code. Mostly they start coding but don’t know if it’s an optimal solution. It’s difficult work and people often introduce bugs without spotting them.”
The vfThreaded tool analyses the code and guides the developer to make the right choices for partitioning to separate cores. This includes examining cache hit/miss effects, data bandwidth to memories, and bandwidth between individual code sections. An easy to use GUI provides code visualisations that highlight hotspots and dependencies that might require partitioning tradeoffs.
After analysis, vfThreaded x86 makes recommendations for optimal parallelisation of the code via a “recipe” of step by step instructions that engineers then implement by hand using the compiler and editor of their choice. According to Jacobs, the tool can predict the final performance of the parallel software typically to within 10%. Jacobs also asserts that the tool’s strategy for dealing with notoriously tricky multicore bugs was simply not to introduce any in the first place.
“We don’t focus on bugs because we don’t see them very often,” he said.
Jacobs cited a recent case study carried out by Vector Fabrics in which a non-expert parallelised an 85,000-line open source VP8 decoder in “a couple of days.” Now running on eight cores, it’s seven times faster.
The tool has a software as a service business model and is accessed via a standard Web browser. It runs in the secure Amazon EC2 cloud, giving developers peace of mind. The company says this cloud solution provides virtually unlimited performance, is highly reliable, and runs under Windows, Linux, and Apple operating systems.