통합 이종 프로그래밍 환경 '인텔 oneAPI' 활용한 HPC 개발

Intel / 박정호 대표이사, 조강원 기술이사

  • lje23572021-01-14 오전 11:31:08

    그럼 C++에서 STL 사용이 가능한가요?
  • manycoresoft12021.01.14

    oneAPI에서 STL과 유사한 oneDPL이라는 라이브러리를 제공합니다. 그것을 사용하시면 됩니다.
  • e4dsave2021-01-14 오전 11:31:01

    oneAPI가 제공하는 Data Parallel C++ 언어를 사용해 병렬 프로그램을 작성합니다 DPC++은 Khronos Group에서 만든 공개 표준인 SYCL을 기반으로 하는 언어입니다. SYCL에 대해서 간략하게 설명 부탁드립니다.
  • manycoresoft12021.01.14

    SYCL은 말씀해주신대로 크로노스 그룹이 만든 공개표준입니다. SYCL의 구현은 제조사마다 다양하게 있구요. SYCL은 일반적으로 OpenCL의 C++확장이라고 생각하시면 편합니다.
  • abron012021-01-14 오전 11:30:49

    답변 감사드립니다. 답변 주신 페이지는 CPU 에 대한 가이드로 보이고요.... 제가 궁금한 것은 non-Intel microprocessors (GPU, FPGA 등)에 대해서도 Auto-vectorization 와 Auto-parallelization 수행이 가능 한지를 여쭈어 보았습니\;다.
  • manycoresoft12021.01.14

    GPU와 FPGA에 대해서도 OpenMP를 이용하여 병렬 프로그래밍이 가능한 표준이 제공되고는 있습니다. 하지만 GPU와 FPGA를 제대로 전체 기능을 병렬화 하려면 수동으로 병렬화 해줘야 합니다.
  • xfile99992021-01-14 오전 11:30:12

    Dpc++기반언어가 c언어인가요? 포맷이 유사한것같아서
  • manycoresoft12021.01.14

    DPC++는 C++를 병렬 프로그래밍을 위해 확장된 언어입니다. 따라서 C++ 처럼 사용할 수 있습니다.
  • jlife01132021-01-14 오전 11:29:58

    기능안전에 적용이 가능한가요? 기능안전에 사용할려면 인증서 등 인증된 컴파일러가 필요한데 가능한가요?
  • intel32021.01.14

    ISO26262 규격등에 대한 문의시라면, DPC++에서는 지원되는지는 확인이 필요합니다.
  • jiinjihodady2021-01-14 오전 11:29:13

    생각보다는 어렵지 않네요^^ 이해못할까봐 걱정 많았는데... 강사님께서 잘 설명해주시고 Q&A 덕분에 도움이 많이 되네요 자신감 많이 얻습니다. 고맙습니다
  • intel42021.01.14

    향후 OneAPI 관련한 강좌를 개설할 예정이니 많은 관심 부탁드리겠습니다.
  • k4type@2021-01-14 오전 11:26:48

    openAPI 사용에 추천하는 언어는무었이 있나요?
  • manycoresoft22021.01.14

    oneAPI의 프로그래밍 언어인 "DPC++"이 C++을 확장한 것이기 때문에 기본적으로 C++을 사용한다고 생각하시면 됩니다. 추후에 다른 언어에 대한 지원이 추가될 수는 있겠지만요.
  • namaple2021-01-14 오전 11:24:53

    람다를 지원하는군요? C++ 어떤 버전까지 지원하나요?
  • manycoresoft22021.01.14

    C++20까지 지원하고 있습니다.
  • kjyou@2021-01-14 오전 11:22:59

    DPC++(인텔 oneAPI) 를 사용했을 때하고, OpenCL 을 사용했을 때의 성능비교가 있었으면 좋겠습니다. 단, 하드웨어 구성은 가급적 동일하게 하고, 차이나는 것은 커멘트 하구요.
  • manycoresoft22021.01.14

    DPC++ 컴파일러와 OpenCL 컴파일러가 내부적으로는 같은 로직을 공유하기 때문에 동일한 코드 + 동일한 하드웨어면 같은 성능이 나올 것입니다.
  • namaple2021-01-14 오전 11:22:14

    로드팰렁싱은 어떻게 조절하나요?
  • manycoresoft12021.01.14

    일반적인 가속기 프로그래밍에서 로드 밸런싱은 데이터를 even하게 나눠서 처리하는것이 기본입니다. 아니면 여러 가속기를 이용한다고 가정하면 각각의 가속기의 성능에 맞춰서 queue에 작업을 나눠주는 방법이 있구요.
Webinar EVENT-경품 받아가세요!-내가 참여한 웨비나 이벤트, 지금 마이페이지에서 확인하세요!
제휴문의 allen@e4ds.com 070-4699-4427
인터넷신문위원회
Top