CPU·GPU·FPGA·AI accelerator마다 CUDA·OpenCL 등 다른 language와 toolchain을 익혀야 해, 다른 device로 옮길 때마다 재구현과 유지보수가 반복되는 문제에서 출발한다. Intel oneAPI가 하나의 cross-architecture programming model로 이 부담을 줄이는 방식을 open standard SYCL, 최적화 library, CUDA 변환, profiling 도구까지 짚는다.
핵심 포인트- oneAPI를 Intel 전용이 아닌 누구나 구현·확장하는 open specification으로 설계하고, Khronos SYCL이 host CPU queue로 device kernel·data를 GPU·FPGA에 전달하며 backend driver 추가로 여러 vendor를 지원하는 구조 (Intel 구현 = Data Parallel C++)
- math kernel·deep neural network·video·data analytics를 device별 최적화 library로 제공해, application이 algorithm을 재porting하지 않고 API 호출만으로 runtime이 적합한 binary를 선택 (의료 영상·speech·bio·기상 HPC 사례)
- DPCT(및 open-source SYCLomatic)가 CUDA source 대부분을 SYCL·DPC++로 자동 변환하고 나머지를 개발자가 보완, vector add 예제로 memory allocation·kernel launch가 host·device queue 구조로 바뀌는 모습 비교
- Advisor(GPU offload 이득·vectorization 저해 분석)·oneAPI GDB(GPU kernel source line debug)·VTune(CPU·GPU·memory bottleneck profiling)과 Base+HPC+AI Toolkit, Intel Developer Cloud 도입 경로
왜 읽나이기종 accelerator를 여러 vendor에 걸쳐 개발·유지해야 하는 HPC·AI 엔지니어에게, CUDA lock-in을 줄이는 open 표준 SYCL 기반 이식·최적화·profiling 워크플로우를 소개한다.