This page was machine-translated and may differ from the original. View original
[Interview] "Accelerator Performance Improvement Starts with Development Environment Integration"
Generalized heterogeneous hardware-based data processing
oneAPI, C++-based heterogeneous computing design support
Provides libraries such as oneMKL/DNN/VPL
Today, data processing in computers is carried out in a form where the CPU, which handles overall tasks, is assisted by the GPU, which specializes in graphics tasks. As technology advances and the number, types, and complexity of applications increase, there is also a growing number of cases where FPGAs, ASICs, and other devices capable of more specialized processing are being incorporated to serve as processing accelerators.
However, even if various processing units are installed, it is not easy to create applications that utilize them in the right places to maximize efficiency. This is because the programming models and environments of CPUs, GPUs, FPGAs, and ASICs differ from one another. This programming fragmentation and barriers lead to difficulties in programming and maintenance.
Therefore, developers face the challenge of ensuring the portability of application code and performance. This means that the code of a specific application must run on multiple processing devices while delivering similar performance. To overcome this, a platform that integrates programming environments and models for various processing units is required.
.jpg)
In response, Intel announced 'oneAPI' in 2019, an open standard that accelerates the development of applications running on systems based on various computing architectures.
We asked Yang Jun-sik, a senior researcher at XINADIST, an Intel FPGA training partner responsible for Intel FPGA-related education and development, what oneAPI is and what needs to be prepared and understood to utilize it.
Q. What is the purpose of oneAPI, and where is it used?
A. oneAPI supports direct or API programming. It also provides a unified language and libraries that demonstrate perfect native code performance across a wide range of hardware, including CPUs, GPUs, FPGAs, and AI accelerators. This can be applied to markets such as streaming analytics, video transcoding, finance, AI, and genetic analysis.
Q. Is oneAPI designed for specialized tasks, that is, to utilize FPGAs?
A. Intel's flagship hardware is CPUs and GPUs. Intel provides FPGAs to accelerate customer workloads that are difficult to optimize using only CPUs and GPUs. The 'oneAPI Toolkit' was created to enable customers to optimize and utilize Intel hardware using a single development tool. One of the key roles of the oneAPI Toolkit is to allow FPGAs to accelerate specific algorithms. In this process, the FPGA is mounted on a PCIe port and handles the heterogeneous computing operations required for algorithm acceleration.
Q. Which FPGAs are primarily used for algorithm acceleration in the field?
A. Intel offers 'FPGA PAC (Programmable Acceleration Card)' equipped with its 'Arria 10' or 'Stratix 10' FPGAs.

The Intel FPGA PAC is a PCIe interface data center acceleration card that supports both inline and lookaside acceleration and can be programmed with the oneAPI toolkit.
Q. What is the DPC++ language used in the oneAPI toolkit?
A. DPC++ follows the SYCL standard to support data parallelism and heterogeneous programming, based on the universal programming language C++. The oneAPI toolkit provides a development environment based on C, C++, and DPC++ languages, allowing developers to get started immediately.
Q. What libraries does the oneAPI toolkit provide?
A. We provide libraries such as Math kernel (oneMKL), Deep neural network (oneDNN), Video processing (oneVPL), DPC++ (oneDPL), and Data analytics (oneDAL).
In addition, it provides optimized Python libraries and deep learning frameworks to deliver high performance across various architectures. This accelerates end-to-end machine learning and data science pipelines. Depending on the industry, this will be an important consideration.
Q. There are three types of oneAPI toolkits (Basic, HPC, and IoT). What are the characteristics of each?
A. The Base toolkit supports the building, verification, and deployment of performance and data-centric applications across CPUs, GPUs, and FPGAs. The High Performance Computing (HPC) toolkit additionally provides scalable, fast C++, Fortran, OpenMP, and MPI applications. Finally, the Internet of Things (IoT) toolkit is designed to enable the building of efficient, reliable, high-performance solutions running at the network edge.
Q. What should be kept in mind when simulating code developed using oneAPI?
A. Code developed with oneAPI can be emulated for environments such as CPUs, GPUs, and FPGAs. Since each piece of hardware has different architectures and characteristics, understanding the hardware structure makes performance optimization easier.
Q. What is your outlook on the future of the oneAPI toolkit?
A. Intel views the oneAPI toolkit as a next-generation integrated development tool and is providing extensive support. Because it is based on the universal C++ language, it enables programming for heterogeneous hardware without the need to learn a new language, garnering a positive response from many customers. It appears that upcoming Intel hardware will also receive support from the oneAPI toolkit.
You can view a demo of the actual Intel FPGA PAC D5005-based oneAPI toolkit at the Intel webinar on Tuesday, July 6 at 10:30 a.m.
oneAPI, C++-based heterogeneous computing design support
Provides libraries such as oneMKL/DNN/VPL
Today, data processing in computers is carried out in a form where the CPU, which handles overall tasks, is assisted by the GPU, which specializes in graphics tasks. As technology advances and the number, types, and complexity of applications increase, there is also a growing number of cases where FPGAs, ASICs, and other devices capable of more specialized processing are being incorporated to serve as processing accelerators.
However, even if various processing units are installed, it is not easy to create applications that utilize them in the right places to maximize efficiency. This is because the programming models and environments of CPUs, GPUs, FPGAs, and ASICs differ from one another. This programming fragmentation and barriers lead to difficulties in programming and maintenance.
Therefore, developers face the challenge of ensuring the portability of application code and performance. This means that the code of a specific application must run on multiple processing devices while delivering similar performance. To overcome this, a platform that integrates programming environments and models for various processing units is required.
▲ Zynadist Senior Researcher Yang Jun-sik [Photo by Reporter Lee Su-min]
In response, Intel announced 'oneAPI' in 2019, an open standard that accelerates the development of applications running on systems based on various computing architectures.
We asked Yang Jun-sik, a senior researcher at XINADIST, an Intel FPGA training partner responsible for Intel FPGA-related education and development, what oneAPI is and what needs to be prepared and understood to utilize it.
Q. What is the purpose of oneAPI, and where is it used?
A. oneAPI supports direct or API programming. It also provides a unified language and libraries that demonstrate perfect native code performance across a wide range of hardware, including CPUs, GPUs, FPGAs, and AI accelerators. This can be applied to markets such as streaming analytics, video transcoding, finance, AI, and genetic analysis.
Q. Is oneAPI designed for specialized tasks, that is, to utilize FPGAs?
A. Intel's flagship hardware is CPUs and GPUs. Intel provides FPGAs to accelerate customer workloads that are difficult to optimize using only CPUs and GPUs. The 'oneAPI Toolkit' was created to enable customers to optimize and utilize Intel hardware using a single development tool. One of the key roles of the oneAPI Toolkit is to allow FPGAs to accelerate specific algorithms. In this process, the FPGA is mounted on a PCIe port and handles the heterogeneous computing operations required for algorithm acceleration.
Q. Which FPGAs are primarily used for algorithm acceleration in the field?
A. Intel offers 'FPGA PAC (Programmable Acceleration Card)' equipped with its 'Arria 10' or 'Stratix 10' FPGAs.

▲ Actual Intel FPGA PAC D5005 [Photo by Reporter Lee Su-min]
The Intel FPGA PAC is a PCIe interface data center acceleration card that supports both inline and lookaside acceleration and can be programmed with the oneAPI toolkit.
Q. What is the DPC++ language used in the oneAPI toolkit?
A. DPC++ follows the SYCL standard to support data parallelism and heterogeneous programming, based on the universal programming language C++. The oneAPI toolkit provides a development environment based on C, C++, and DPC++ languages, allowing developers to get started immediately.
Q. What libraries does the oneAPI toolkit provide?
A. We provide libraries such as Math kernel (oneMKL), Deep neural network (oneDNN), Video processing (oneVPL), DPC++ (oneDPL), and Data analytics (oneDAL).
In addition, it provides optimized Python libraries and deep learning frameworks to deliver high performance across various architectures. This accelerates end-to-end machine learning and data science pipelines. Depending on the industry, this will be an important consideration.
Q. There are three types of oneAPI toolkits (Basic, HPC, and IoT). What are the characteristics of each?
A. The Base toolkit supports the building, verification, and deployment of performance and data-centric applications across CPUs, GPUs, and FPGAs. The High Performance Computing (HPC) toolkit additionally provides scalable, fast C++, Fortran, OpenMP, and MPI applications. Finally, the Internet of Things (IoT) toolkit is designed to enable the building of efficient, reliable, high-performance solutions running at the network edge.
Q. What should be kept in mind when simulating code developed using oneAPI?
A. Code developed with oneAPI can be emulated for environments such as CPUs, GPUs, and FPGAs. Since each piece of hardware has different architectures and characteristics, understanding the hardware structure makes performance optimization easier.
Q. What is your outlook on the future of the oneAPI toolkit?
A. Intel views the oneAPI toolkit as a next-generation integrated development tool and is providing extensive support. Because it is based on the universal C++ language, it enables programming for heterogeneous hardware without the need to learn a new language, garnering a positive response from many customers. It appears that upcoming Intel hardware will also receive support from the oneAPI toolkit.
You can view a demo of the actual Intel FPGA PAC D5005-based oneAPI toolkit at the Intel webinar on Tuesday, July 6 at 10:30 a.m.
본 기사에 대한 정정·반론·추후보도 청구는 보도 청구 안내를, 그간 게재된 보도문은 정정·반론보도 모아보기를 참고해 주세요.

.png)












