Members involved in the project :
To download the Project sheet,
Graphics Processing Units are becoming a more and more promising solution to address the growing need in computing power associated with new industrial conception methods and numerical simulation.
Nowadays GPU are mostly proprietary, predominantly oriented to graphic or multimedia applications and exclusively developed by US IT manufacturers (NVidia, ATI, Intel or IBM). Meanwhile, they are seducing more and more laboratories and industries looking for higher computing power with a controlled cost and an improved energetic efficiency.
However, those works remain isolated or dispelled, being restrained by the lack of real standards and interoperable tools. Moreover, European actors are hardly represented in the international standardization agencies. This prevents them from any constructive dialog with the GPU hardware providers.
As a result, the main challenges are:
- Building up an open source standard software platform, available to all research institutes and industries •
- Benchmarking the results on a very powerful hardware platform
- Federating the results from the largest number of industrial and academic applications to open new market opportunities
- Influencing GPU hardware manufacturers and international standardization agencies on behalf of French and European industries and editors
The OpenGPU project arose from this statement and aims at gathering specialized laboratories, major companies and SMEs interested in this topic around an ambitious collaborative project to tackle these issues. The support of project by the OCDS thematic group of the Paris Region SYSTEMATIC cluster as well as the connections with partners from Cap Digital and Medicen clusters open new perspectives for both HPC’s technological excellence and applications in the simulation, oil exploration and biology markets.
In connection with the Ter@tec cluster, the OpenGPU project will federate several actors around the largest French (even European) project on GPU in the Ile de France region. This will serve as a basis for the building of international partnerships, in particular with manufacturers of high performance hardware platforms based on GPU.
The full-term ambition of the Open GPU project is to build-up an international economic cluster based in Ile de France, able to attract foreign industries such as manufacturers, editors, major companies, laboratories and start-ups and to create the first European research and development cluster in the field of hybrid computing.
GPU are becoming a more and more promising solution to address the growing need in computing power for numerical applications, new conception methods or numerical simulations in relation with research works. Since 2005, the frequency raise in generalist CPU has led to the multiplication of cores rendering these solutions more difficult to use. Meanwhile, GPU have evolved in less specialized architectures making their use for calculation and data treatments feasible. This evolution came with the emergence of GPU’s unified architecture and, in 2008, by the finalization of the OpenCL standard offering an interesting perspective to exploit this architecture. The computing power and the power/energetic consumption ratio of the GPU being superior to standard CPU, the use of GPU represents an opportunity to have more power for a lower energetic cost.
The Open GPU project allows to take advantage of this opportunity targeting a triple-goal:
- Building up an integrated and open platform of Open Source tools in order to assist code parallelization
- Testing the parallelization gains on industrial and academic applications
- Designing the appropriate hardware and software architectures for the exploitation of these new computing powers and for the improvement of the energetic consumption
The Open GPU project is composed of three complementary parts expected to synergistically feed each other.
Converting an existing code into a parallel code or developing a parallelized application is a difficult task for multiple reasons: lack of training and expertise of the developers, novelty and complexity of the multi-core architecture (from two to hundreds of cores), heterogeneity of the material, and intrinsic complexity of the parallelization. The Open GPU project objectives are to develop, synthesize and integrate a complete set of tools to assist code parallelization of application written in C, C++, Java and Fortran languages in the Eclipse environment. OpenCL standard will be use as a pivot to guarantee the portability of the optimizations towards all architectures (CPU, GPU, OpenMP, MPI, Pthread…). The OpenGPU project may also target other proprietary languages, such as PTX or other architecture specific languages. These tools may be combined with other debugging software in order to assert the parallelization control in a wide range of contexts. This integrated toolkit will be delivered as an Open Source software package with a license respectful of the ambitions of the project partners, based on a model which allows a quick and worldwide diffusion.
Nowadays, most of the big libraries industrials depend on for their calculation, simulation or embedded developments are not parallelized. This prevents these software chains of enjoying the power benefits of the new material architectures. Their redevelopment or the introduction of parallelization in some critical sections of the code is a critical issue for these applications that were not conceived for highly parallelized appliances. The OpenGPU project will first be focused on the study of the partners’ applications’ codes by the parallelization team experts. In a second time, thanks to the tools previously cited, the project will perform the parallelization of the business libraries of the partners. This dimension of the project will bring a double benefit: the validation of parallelization tools in real conditions and the optimization of the industrial libraries for the parallel architectures (CPU, GPU, FPGA, CELL…). The three priority fields chosen for the Open GPU project are: security, simulation and biology. The definition of Design Patterns as an OpenCL library or an encoding rule corpus will open the sharing of the acquired knowledge with the members of the user community of the project, and ultimately with the entire HPC community.
Hardware and software adapted architectures
The development of parallelized applications requires to take into account a large number of parameters: number and typology of the processors, operating systems, organization and allocation of the calculation tasks. The OpenGPU project would have been incomplete without considering the deployment dimension. The integration of tools such as OpenMP or MPI at the earliest time will guarantee a full exploitation of the calculation means in the parallelized applications. The OpenGPU project will rely on the already acquired partners’ expertise in the HPC, GPU architecture, and code compilation in order to remain close to the targeted systems. These three components will be supported by a benchmark platform and a validation method of the compliance of the solutions with high energetic standards.
The validation of the optimizations provided to the applications will have to be carried out with rigor in order to qualify and to precisely measure the resulting benefits using statistics tools. The OpenGPU project will implement a hardware and software generic platform allowing to run tests for each application and to visualize and analyze the results. The OpenGPU Project will guarantee the protection of the source codes, the benchmark data and the associated results. The publication of the results will be carried through the two key indicators that are the computing performance and the energetic optimization.
The necessity of green computing
The optimization of the computing chains achieved through parallelization should also allow a better use of the servers’ occupation ratio and to exploit the Gflops/watt ratio favoring the GPU based new materials. The OpenGPU project aims in particular to validate the improvement of energetic efficiency brought by these optimizations and to qualify the hardware and software configurations whose energetic and carbon report is optimum, in relation with the actual and upcoming standards.