The heterogeneous computing paradigm represents a real programming challenge due to the proliferation of devices with different hardware characteristics. Recently Intel introduced oneAPI, a new programming environment that allows code developed in DPC++ to be run on different devices such as CPUs, GPUs, FPGAs, among others. This paper presents our first experiences in porting two CUDA applications to DPC++ using the oneAPI dpct tool. From the experimental work, it was possible to verify that dpct does not achieve 100% of the migration task; however, it performs most of the work, reporting the programmer of possible pending adaptations. Additionally, it was possible to verify the functional portability of the DPC++ code obtained, having successfully executed it on different CPU and GPU architectures.
翻译:由于硬件特性不同的装置扩散,多种计算模式是一个真正的编程挑战。最近英特尔引入了一种API,这是一个新的编程环境,允许DPC++开发的代码在不同的装置上运行,如CPUs、GPUs、FPGAs等。本文介绍了我们在利用一个CPI dpct工具将两个CUDA应用程序移植到DPC++方面的第一个经验。从实验工作来看,可以核实 dpct没有实现100%的迁移任务;然而,它履行大部分工作,向程序员报告可能的调整。此外,还有可能核实获得的DPC+++代码的可操作性,并在不同的CPU和GPU结构上成功执行。