ezSYCL:SYCL을 위한 파이썬 랩퍼

ezSYCL:Python Wrapper for SYCL

  • 명훈주 (한국과학기술정보연구원 슈퍼컴퓨팅기술개발센터) ;
  • 구기범 (한국과학기술정보연구원 슈퍼컴퓨팅기술개발센터)
  • Hunjoo Myung (Center for Supercomputing Technology Development, Korea Institute of Science and Technology Information) ;
  • Gibeom Gu (Center for Supercomputing Technology Development, Korea Institute of Science and Technology Information)
  • 발행 : 2024.10.31

초록

SYCL은 크로노스 그룹(Khronos Group)이 개발한 C++ 기반의 이기종 아키텍처를 위한 공개 표준 언어이다. SYCL은 벤더에 종속되지 않는 개방형 표준이며, 특히 인텔이 이기종 아키텍처의 주력언어로 채택하고 있다는 장점이 있다. 그러나 SYCL의 템플릿, 람다 함수 등 C++의 복잡한 기능들과 태스크 그래프 기반 수행 방식 등의 여러 특징은 개발자들에게 높은 진입 장벽으로 작용하고 있다. 본 논문에서는 이러한 문제를 해결하기 위해 파이썬 기반 래퍼인 ezSYCL의 설계를 제안한다. ezSYCL은 SYCL보다 간결한 표현을 제공하여 개발자들이 보다 빠르게 프로토타입을 개발할 수 있을 것으로 기대된다.

키워드

과제정보

이 논문은 대한민국 정부 (과학기술정보통신부)의 재원으로 한국과학기술정보연구원 초고성능컴퓨팅 공동활용을 위한 통합 환경 개발 및 구축 사업의 지원을 받아 수행된 연구임 (과제번호: K24L2M1C6)

참고문헌

  1. https://www.openacc.org
  2. https://www.openmp.org/wp-content/uploads/2021-10-20-Webinar-OpenMP-Offload-Programming-Introduction.pdf
  3. https://documen.tician.de/pycuda/
  4. https://documen.tician.de/pyopencl/
  5. https://www.khronos.org/sycl/
  6. https://github.com/IntelPython/dpctl
  7. https://numba.pydata.org/
  8. https://learn.microsoft.com/ko-kr/cpp/cpp/object-lifetime-and-resource-management-modern-cpp?view=msvc-170
  9. https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html
  10. https://github.com/pybind/pybind11
  11. https://link.springer.com/book/10.1007/978-1-4842-9691-2