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

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

  • jlife01132021-01-14 오전 10:58:55

    c언어나 c++언어 처럼 유닛시험이 가능한가요? 가능하면 시험할 수 있는 툴이 있나요?
  • manycoresoft22021.01.14

    CPU에서 돌아가는 코드는 일반 C++ 프로그램에서 oneAPI 라이브러리만 사용하는 것이기 때문에 일반적인 unit test 툴을 사용하시면 됩니다. 가속기에서 돌아가는 부분은 "CPU에서 가속기로 데이터를 보내고 + 가속기에서 연산 실행하고 + 다시 가속기에서 CPU로 데이터를 가져오는" 것을 하나의 task로 두고 unit test하는 코드를 작성하셔야 합니다.
  • kiy20052021-01-14 오전 10:58:54

    [질문] oneAPI를 적용하기 위해 별도의 교육을 받아야 할까요?
  • intel32021.01.14

    병렬 프로그래밍에 대한 경험이 있으시면 크게 어려움없이 접근가능합니다. https://software.intel.com/content/www/us/en/develop/tools/oneapi.html 참고 부탁 드립니다.
  • topkslee@2021-01-14 오전 10:58:31

    [질문] OpenAPI의 사용 제약사항이 있는지요? 있으시면 공유 부탁드립니다.
  • intel42021.01.14

    웨비나 내용에 설명이 되어 있습니다
  • hmkim01282021-01-14 오전 10:58:11

    [질문] oneAPI 적용이 가장 효율적으로 된 분야별 사례가 있나요?
  • manycoresoft12021.01.14

    현재 oneAPI는 딥 러닝과 같은 AI분야에 많이 사용되고 있습니다. oneAPI가 딥 러닝이나 머신러닝 관련 라이브러리를 풍부하게 제공하고 있습니다.
  • lje23572021-01-14 오전 10:57:23

    SYCL 기반 구현체가 여러 개가 있던데, 동일한 SYCL 코드를 여러 구현체에서 실행할 수 있나요? 물론 DPC++에서 정의하는 (USM 같은) Extension을 사용하지 않는다는 가정하에서요.
  • manycoresoft12021.01.14

    DPC++를 사용하지 않고 SYCL만 사용하면 DPC++의 확장기능을 사용할 수 없습니다. 하지만 DPC++의 확장 기능을 사용하지 않는다면 코드 이식성을 가지고 다른 종류의 SYCL을 지원하는 가속기에서 실행할 수 있습니다.
  • w3ksj2021-01-14 오전 10:57:11

    답변 감사합니다. 라이브러리를 어떻게 사용할 수 있느냐도 중요할 것 같네요.
  • manycoresoft22021.01.14

    그렇습니다. 그래서 Intel에서는 oneAPI 기반의 여러 가지 라이브러리들(oneDNN, oneMKL, oneCCL 등)을 함께 개발, 공개하고 있습니다.
  • scully972021-01-14 오전 10:57:06

    [질문] oneAPI가 가장 많이 쓰이는 분야는 어디 인가요
  • intel32021.01.14

    기존의 병렬프로그래밍이 사용되었던 HPC, ML등에서 많은 수요를 기대하고 있습니다. 자세한 oneAPI application은 https://software.intel.com/content/www/us/en/develop/tools/oneapi/application-catalog.html 페이지를 참고 부탁드립니다.
  • namaple2021-01-14 오전 10:55:21

    oneAPI를 사용하면 같은코드를 이기종 시스템에서 동일하게 실행할 수 있나요?
  • manycoresoft22021.01.14

    네 맞습니다. 동일한 코드를 멀티코어 CPU, integrated GPU, discrete GPU, FPGA 등에서 모두 실행할 수 있습니다.
  • windhood2021-01-14 오전 10:55:05

    프로그램 모듈 1과 2의 데이터를 주고 받아야 할 경우 병렬 프로그래밍에 의해 가속화 될 수 있을까요? 멀티 코어에서 각 코어에서 별도의 태스크가 수행되고 주기적으로 데이터를 공유하여야 하는 구조에도 속도 행상에 도움이 될까요?
  • manycoresoft12021.01.14

    프로그램 모듈 1과 2가 의존성이 크지 않다면 병렬 프로그래밍이 가능합니다. 모듈1이 모두 실행된 후에 모듈2가 실행되어야 하면 각 모듈내에서만 병렬화가 가능하구요. 두 모듈이 데이터의 일부만을 공유하여 사용된다면 파이프라이닝 기법을 이용해서 모듈1이 처리한 내용을 모듈 2로 주고 모듈2에서 해당 데이터를 처리할때 모듈1은 다음 데이터를 처리해서 다시 모듈 2로 넘기는 식으로 보통 프로그래밍을 합니다.
  • jwcho682021-01-14 오전 10:54:42

    oneAPI에서 개발한 코드를 다른 FPGA, 즉 Xilinx에서도 사용 가능하나요?
  • intel42021.01.14

    Intel 제품에서만 사용가능합니다.
Webinar EVENT-경품 받아가세요!-내가 참여한 웨비나 이벤트, 지금 마이페이지에서 확인하세요!
제휴문의 allen@e4ds.com 070-4699-4427
인터넷신문위원회
Top