To face the programming challenges related to heterogeneous computing, Intel recently introduced oneAPI, a new programming environment that allows code developed in Data Parallel C++ (DPC++) language to be run on different devices such as CPUs, GPUs, FPGAs, among others. To tackle CUDA-based legacy codes, oneAPI provides a compatibility tool (dpct) that facilitates the migration to DPC++. Due to the large amount of existing CUDA-based software in the bioinformatics context, this paper presents our experiences porting SW#db, a well-known sequence alignment tool, to DPC++ using dpct. From the experimental work, it was possible to prove the usefulness of dpct for SW#db code migration and the cross-GPU vendor, cross-architecture portability of the migrated DPC++ code. In addition, the performance results showed that the migrated DPC++ code reports similar efficiency rates to its CUDA-native counterpart or even better in some tests (approximately +5%).
翻译:为了应对与多式计算有关的编程挑战,Intel最近引入了一种新的编程环境,即一个应用数据平行 C++ (DPC++) 语言开发的代码,该代码可以在诸如CPUs、GPUs、FPGAs等不同设备上运行。为了应对基于CUDA的遗留代码,一个API提供了一个兼容工具(dpct),便利向DPC++的迁移。由于在生物信息学方面现有大量基于CUDA的软件,本文件介绍了我们的经验,将SW#db(一个众所周知的序列校对工具)移植到DPC++,使用dpct。从实验工作中,可以证明 dpct对SW#db代码迁移和跨GPUPU供应商、交叉分类的DPC++代码可移植性(dpct)。此外,绩效结果表明,迁移的 DPC++代码报告的效率率与其CUDA-nited对应方相当,或者在某些测试中甚至更好(约+5%)。