HPC stands for High Performance Computing. It is a generic, yet precise definition – every system, software or hardware, opting to achieve maximum performance from the underlying infrastructure enters HPC category. While HPC reminds big, expensive, clusters with ultra-fast interconnects, it is not necessary at all to consider.
In recent years we can see how HPC world has widened and introduced HPeC (embedded HPC). Principles of big HPC systems are becoming relevant to small-scale embedded systems featuring minimal power consumption, footprint, but high performance. It is especially true as we see multi-core processors and general purpose GPUs for low power or mobile environments.
Complexity of HPC Projects
HPC projects are not only hardware based, or software, but on a combination of the two to team-up and make efficient, optimal, usage of resources. Processes in management of HPC projects are usually interactive when combining software and hardware – each side goes better fitting and definition by deeper understanding of the other part.
The variety of HPC systems can be very complex, and therefor there are many obstacles and risks in the path from understanding needs until final setup.
One may ask as an initial question – what is the right system for my needs? There are many answers to that innocent question: some depend on the application the system is about to host and their typical behavior, computing requirements, communication/networking, response time, cost, power consumption, density/volume, virtualization, software stack and much more parameters that need to be answered before choosing a specific architecture. First, it is important to be aware of the wide variety.
To add another complexity – software technologies for HPC are also very complex, from administration/management to development and production. The rate technologies evolve in this field is high and presents many difficulties for organization managers, IT principles and development teams to choose an ideal platform for the target product and enterprise.
Many vendors have different offerings, and this can cause a greater set of solutions and answers to fit one needs. Working with frontier HPC providers, such as: HP, IBM and SuperMicro, it is possible to deliver any solution.
Considering HPC, one of the most challenging tasks arises when it is necessary to use a solution which is not part of the standard product lines vendors offers. Examples are GPUs for processing or graphics/visualization.
In these cases it is important to use professional consulting and accurate project methodologies to develop cutting-edge solutions, minimize risks and get the best solution the market can offer.
Over the past decades until today, very few organizations were able to handle all project cycles for HPC/GPU computing tasks:
- Requirements definition
- Early evaluation – proof of concept
- Software development processes
- Hardware selection and tailoring (also COTS)
- Compliant with ISO 9000, 9001 standards
- Compliant with MIL standards
We offer proven expertise and rich experience to guide organizations and manage HPC projects in different stages, from planning to setup. Other forms could be choosing the proper computing architecture, vendors, and hardware/software infrastructures. On the application side, to choose and the right tools and libraries for high performance, processes optimization, load balancing and correct management of processing stages.
Our experience and vast knowledge in development methodologies and processes for HPC/GPU projects make it a success factor, to reduce costs and make development cycles short.