The Leading Source for Global News and Information Covering the Ecosystem of High Productivity Computing
May 11, 2007
Hot on the heels of PeakStream, RapidMind Inc. has launched its software development platform for multicore computing. On Monday the company announced RapidMind Platform v2.0, a software environment that targets GPUs from both NVIDIA and AMD/ATI as well as IBM's Cell processor. The company has also prototyped a version that will support multicore x86 processors from Intel and AMD.
Both PeakStream and RapidMind have launched platforms based on the same basic premise: HPC application developers want to be able to write hardware-agnostic code for multicore architectures. Considering the diverse range of multicore hardware that is beginning to populate HPC systems (e.g,, the Cell processors, NVIDIA/AMD GPUs, and Intel/AMD x86 chips), this seems like the right approach. The underlying proposition is that the current crop of multicore devices will rapidly evolve in both architecture and core count. With this type of volatility, software developers will be motivated to decouple their code from the hardware so that their applications can live on different types of architectures and automatically scale as new processor generations are introduced.
In talking with RapidMind's President and CEO Ray DePaul, and Chief Scientist and company co-founder Michael McCool, it's clear that their vision of delivering productivity to these multicore-based systems is to move beyond the thread model of parallelism. McCool said programmer-controlled thread management is fraught with problems. The scalability issue of mapping static application thread counts to processor cores is always a problem if application portability is a goal. Beyond that there are the inherent dangers of deadlocks and race conditions and load balancing problems when the thread workloads are asymmetric.
The RapidMind Platform uses existing C++ compilers and tools; developers just have to link in the RapidMind library to access the provided API. The library manages all the low-level parallelism and data streaming. The programming model presented to the user is independent of the number or cores or any other specific hardware attributes. The parallelism and data movement are managed in the internal layers of the software. According to McCool, this makes it impossible for developers to generate race conditions or deadlocks. He claims that the programming concepts involved can be learned within half an hour by any good software engineer.
The company has supposedly attracted over 1000 beta developers for applications that range from medical imaging to financial analysis and spam filtering. RTT USA is already using RapidMind's platform to develop commercial 3D real-time visualization applications for the automotive, aircraft and consumer-goods industries.
RapidMind's model, like PeakStream's, is geared for data-level parallelism. It's described as an SPMD (Single Program Multiple Data) stream processing model, where different cores execute the same instructions, with each core working on different data. Using the platform's API, developers define functions that are applied to data arrays. At runtime, the system software automatically distributes the data operations across the different processing elements.
The rationale for this approach has to do with the dichotomy between computation and memory performance. While it is relatively straightforward to add more cores as process technology shrinks, memory bandwidth to feed those cores is not increasing nearly as fast. McCool said the RapidMind software works very hard to optimize data movement so that memory latencies are hidden and RAM accesses are performed efficiently. The RapidMind system also includes load balancing to move work around so that all the cores are used efficiently.
"The system is highly tuned toward making sure that memory transfers overlap with computations, and that the data stays on-chip as long as possible and you get as much work done before the data goes off-chip again," explained McCool.
Given the high level of parallelism inherent in processors like the Cell and GPUs, these architectures are particularly well-suited for this type of stream computing model. The Cell contains nine cores: a PowerPC core and eight Synergistic Processing Units (SPUs). And as long as you're not in the market for double-precision support, NVIDIA and AMD GPUS support even greater parallelism. The latest NVIDIA G80 device encompasses 128 cores. But as DePaul stated, "the challenge has always been how the developer can take advantage of these accelerator-type models."
HPC programmers are all for removing complexity -- as long as you don't remove the performance too. RapidMind presented some benchmarks to show they are delivering the expected performance when using GPUs for acceleration. Running an application based on the Black-Scholes algorithm, the company was able to show a 32x performance speedup on an NVIDIA 7900 GTX compared to the same application running on a Woodcrest Xeon workstation. They also showed a 2x performance increase for a BLAS routine SGEMM application, and 3x increase for an FFT workload. The results are not too surprising considering the single-precision floating point performance advantages of a high-end GPU versus a high-end CPU.
Page: 1 of 2(Digg, Technorati, more)
PGI Accelerator™ Fortran 95/03 and C99 compilers for x64+NVIDIA
Accelerate applications on x64+GPU platforms by adding OpenMP-like compiler directives to existing Fortran and C programs. Available now for Linux, MacOS and Windows. Download a free 15 day trial.
Platform HPC Workgroup Manager
Platform HPC Workgroup Manager integrates all the cluster productivity tools you need to deploy, run and manage your HPC environment.
Mar 18 | ChannelWeb | Westmere parts already showing up in HPC machines. Read more...
Mar 17 | The Register | But what about the tier ones? Read more...
Mar 17 | Cadalyst Magazine | A new generation of workstations is changing the nature of technical computing. Read more...
Mar 17 | Linux Magazine | Latest iteration of Sun Grid Engine able to tap into Cloud. Read more...
Mar 16 | Bio-IT World | Biotech firm builds genetic models from patient data. Read more...
Jan 12 | | In-depth look at vSMP Foundation server virtualization technology, technical implementation, use cases and capabilities. The technical whitepaper provides an architectural overview and details on the three vSMP Foundation products: vSMP Foundation for SMP, vSMP Foundation for Cluster and vSMP Foundation for Cloud.
Jan 18 | | This white paper discusses Gore’s copper cable assemblies, and how they continue to exceed the standards for providing reliable, cost-effective solutions for high-performance computer applications.
Join this online panel discussion for live Q&A with leading industry experts, analysts, and end-users to discuss the latest innovations, best practices, barriers to implementation, and measurable benefits of server virtualization with a particular focus on today's real world solutions.
Learn about scalable fault-tolerant architectures and examples of energy efficient and scalable supercomputing clusters using dual QDR InfiniBand to combine capacity computing with network failover capabilities with the help of programming languages such as MPI and a robust Linux cluster management package.
LIVE@SCO9: The IBM team discusses new innovations in hardware, software and services that help clients better understand their workloads and get insight from their R&D efforts. Technology demonstrations include the soon-to-be-released Power7 HPC processor, the DCS990 system with 2.4 petabytes of storage, the xCAT management tool, secure HPC cloud computing and more. Winners of two HPCwire Readers' and Editors’ Choice Awards! Take the IBM virtual tour at SC09 or more information go online to: http://www-03.ibm.com/systems/deepcomputing/sc09.html