Heterogeneous Computing to Improve Computing Performance and Efficiency
|
NEWS
|
Artificial Intelligence (AI) application development in a heterogeneous computing environment, where different processor types and computing applications are used to carry out various tasks, is gaining prominence. An example of heterogeneous computing is a data center that is used to process various workloads, such as Machine Learning (ML), cloud applications, network optimization, etc. Within this data center, there will be multiple types of processors, such as Central Processing Units (CPUs) for general-purpose tasks, Graphics Processing Units (GPUs) for video acceleration, Field Programmable Gate Arrays (FPGAs) that are programmed for image processing, etc. Each processor is responsible for a specific task or workload, creating a heterogeneous environment that allows specialized processors to be used for specific tasks, improving performance and efficiency.
Intel’s oneAPI was announced at the end of 2018 to deliver a programming model that could overcome the technological limitations of single architecture software and simplify the development of heterogeneous computing architecture. In 2020, oneAPI 1.0 was released to deliver a common developer experience across different intelligent accelerator architectures and faster application performance, and to encourage collaboration and participation between technology providers, developers, and businesses to further advance an open, cross-industry, standards-based multi-vendor programming model.
Catalyzing Innovation and Accelerating Software Development Using oneAPI
|
IMPACT
|
Intel’s oneAPI can have a significant impact on AI application development for heterogeneous computing environments. Some of the benefits of implementing oneAPI include:
- Performance Improvement: Developers can leverage oneAPI tools, libraries, and compilers that are optimized across various processor architectures to deliver high-performance applications.
- Reducing Complexity: oneAPI enables the development of applications that can run on a variety of processors using a single programming model and set of tools.
- Innovation and Collaboration: Open the door to new possibilities, leveraging the strengths of heterogeneous computing and spurring cross-collaboration across different fields.
The oneAPI programming model also supports SYCL, a cross-platform abstraction layer that enables developers to code heterogeneous processors using standard ISO C++ in the same source file. This is important because SYCL can be used to accelerate the training and inference model of deep neural networks used in applications such as Natural Language Processing (NLP) and image recognition. SYCL can also be used to accelerate research simulations and data analytics. Codeplay Software, an open standards-based developer recognized for its expertise in SYCL, was acquired by Intel in 2022 to further advance the oneAPI ecosystem.
The development of oneAPI is important, especially from a developer’s perspective. As the oneAPI ecosystem grows, developers can use oneAPI to develop software on different intelligent accelerators and not be tied down to a single vendor or single architecture scenario. The open standards of oneAPI empower developers to collaborate, innovate, and deliver software codes across a variety of accelerators, resulting in a faster deployment path and better-performing software.
There is no denying that NVIDIA’s CUDA platform is widely adopted and has a large ecosystem of libraries, tools, and applications that makes it easier for developers to build applications using NVIDIA’s GPUs. Intel’s oneAPI programming model should not be seen as a replacement for CUDA, but rather as an alternative that developers can leverage depending on business needs. CUDA will still be the choice of many developers given NVIDIA’s footprint in the AI market, but for developers looking to use different intelligent accelerators from different chip providers, oneAPI might be an experiment worth exploring.
Accelerated Computing Taking off as Businesses Look toward the Future
|
RECOMMENDATIONS
|
As oneAPI continues to evolve and mature, it is important to keep in mind that oneAPI is not a one-size-fits-all solution. There will be scenarios where developers benefit from a single vendor, single architecture environment, especially when it comes to specific use cases that require high-level support from the vendor or solution provider. A single architecture environment will also make sense for specific workloads designed to run on a particular type of hardware, and the hardware provider also provides software optimized for this hardware. Additionally, a single architecture environment may be easier to manage with fewer dependencies, simplifying the support and maintenance process.
Having said that, the case for implementing the oneAPI programming model is compelling, given that accelerated computing is an area that has gained much prominence recently. The openAPI ecosystem includes a growing list of companies, including large technology vendors, cloud hyperscalers, AI startups, industry associations, and many more, contributing to the development and growth of a unified multi-architecture accelerated computing environment.
For oneAPI to continue to grow, several efforts can accelerate adoption, including:
- Industry Collaboration: Developers play an important role in the growth of oneAPI. To ensure a thriving community, sharing of knowledge, expertise, and best practices will help ensure that oneAPI reaches its full potential.
- Rich Libraries and Toolkits: Continuous development and the addition of supported libraries and toolkits will make it easier for developers to adopt and use oneAPI.
- Advocacy for Open Standards: For heterogeneous computing to take off, there must be a standardized approach to ensure that software applications and different intelligent accelerators can work well together. Having open standards will help ensure that developers can build any software application regardless of hardware.
Intel continues to try and accelerate the adoption of oneAPI through ecosystem activities, such as developer training, centers of excellence, and access to Intel hardware and software. Intel’s DevCloud for oneAPI hosts developers and users in areas like AI, data science, High-Performance Computing (HPC), and other accelerated computing technology areas. Intel has also developed oneAPI support for several of Intel’s FPGA families, including Intel’s FPGA Programmable Acceleration Card.
Accelerated computing has been the talk of the town for quite a while now, aided by the explosion of AI technology. With the addition of open standards and multi-vendor and multi-architecture ecosystems, accelerated computing could move beyond currently being a niche technology serving specific use cases to being part of every business’ technology stack—a ubiquitous solution that powers all aspects of the business.