CPU·GPU·FPGA 등 가속기마다 별도 언어와 도구를 익혀야 하는 이질적 컴퓨팅의 복잡성을, oneAPI의 공통 프로그래밍 모델과 장치별 라이브러리로 풀어가는 방향을 설명한다. Intel C++ compiler가 단일 ICC 구조에서 Clang frontend·LLVM backend를 쓰는 ICX로 전환한 이유와 클라우드·HPC 성능 개선 사례까지 다룬다.
핵심 포인트- oneAPI는 C/C++·SYCL·MPI 같은 programming model과 장치별 최적화 library를 묶어 CPU·GPU·FPGA를 한 체계에서 개발하도록 하고, Base toolkit에 compiler·분석 도구를 두고 HPC·AI·data science toolkit을 필요한 만큼 추가 — CUDA를 SYCL로 변환하는 SYCLomatic, VTune profiler, Advisor로 migration·분석·최적화를 연결
- Intel compiler는 1990년대 Unix 지원에서 x86 vectorization·multicore 자동 병렬화를 거쳐, 2021년 이후 CPU만으로 다양한 workload를 감당할 수 없어 frontend·backend를 분리하는 Clang·LLVM 구조로 전환 — 공통 frontend를 유지하며 backend를 바꿔 같은 source에서 서로 다른 accelerator용 binary 생성
- 기존 ICC·ifort와 함께 Clang/LLVM 기반 ICX·IFX driver가 도입돼 GPU·FPGA target과 OpenMP target offload를 지원하고, SYCL과 vendor별 backend 조합으로 AMD·NVIDIA 장치까지 확장 — ICC 지원이 축소되므로 기존 workload는 검증 비용을 감안해 옮기되 신규 개발은 ICX로 시작하길 권장
- Tencent는 MySQL 계열 DB에 link-time optimization을, Alibaba는 LAMMPS와 Intel MPI·HPC toolkit을, Google Cloud는 VTune·Advisor로 병목 분석을 적용 — compiler 교체만이 아니라 profile·library·build option과 cloud hardware를 함께 조정해야 효과가 남을 보여줌
왜 읽나이질적 가속기 환경에서 HPC·클라우드 workload를 최적화하려는 시스템·컴파일러 엔지니어에게 oneAPI 구성과 ICC→ICX 전환 판단, 실제 성능 개선 사례를 정리한 소개 자료.