인텔 DPC++ 호환성 도구

인텔® DPC+ + 호환성 도구 시작하기
인텔® DPC++ 호환성 도구는 CUDA*로 작성된 개발자 프로그램을 최신 C++를 기반으로 하고 SYCL*과 같은 휴대용 산업 표준을 통합하는 DPC++(Data Parallel C++)로 작성된 프로그램으로 마이그레이션하는 것을 지원합니다.
- 도구에 대한 추가 정보는 인텔® DPC++ 호환성 도구 개발자 안내서 및 참조를 방문하십시오.
- 알려진 문제 및 최신 정보는 릴리스 정보를 참조하십시오.
메모 인텔® DPC++ 호환성 도구를 사용하면 프로젝트가 완전히 마이그레이션되지 않습니다. 마이그레이션을 완료하려면 인텔® DPC++ 호환성 도구의 출력에 요약된 대로 추가 작업이 필요합니다.
시작하기 전에
인텔® DPC++ 호환성 도구는 인텔® oneAPI 기본 툴킷에 포함되어 있습니다. Intel® oneAPI Base Toolkit을 설치하지 않은 경우 설치 안내서의 지침을 따르십시오.
특정 CUDA 헤더 files(프로젝트에 따라 다름)는 인텔® DPC++에 액세스해야 할 수 있습니다.
호환성 도구. 인텔® DPC++ 호환성 도구는 다음 CUDA 헤더를 찾습니다. file기본 위치:
- /usr/local/쿠다/포함
- /usr/local/cuda-xy/include, 여기서 xy는 8.0, 9.x, 10.x 및 11.0–11.6 값 중 하나입니다.
–cuda-include-path=로 지정하여 사용자 지정 위치를 참조할 수 있습니다. 인텔® DPC++ 호환성 도구 명령줄의 옵션.
메모 CUDA 포함 경로는 마이그레이션해야 하는 소스 코드가 있는 디렉토리와 동일하거나 하위 경로가 아니어야 합니다.
현재 인텔® DPC++ 호환성 도구는 CUDA 버전 8.0, 9.x, 10.x 및 11.0–11.6으로 구현된 프로그램의 마이그레이션을 지원합니다. 지원되는 언어 및 버전 목록은 향후 확장될 수 있습니다.
인텔® DPC++ 호환성 도구 환경을 설정하려면 다음을 실행하십시오.
- Linux에서(sudo): 소스 /opt/intel/oneapi/setvars.sh
- Linux(사용자): 소스 ~/intel/oneapi/setvars.sh
- 윈도우에서 :드라이브:\ 프로그램 Files (x86)\Intel\oneAPI\setvars.bat
운영 체제 셸의 일반 호출 구문은 다음과 같습니다.
| dpct [옵션] [ … ] |
메모 c2s는 dpct 명령의 별칭이며 대신 사용할 수 있습니다.
내장된 사용 정보
인텔® DPC++ 호환성 도구 관련 옵션 목록을 보려면 –help를 사용하십시오.
| dpct –도움말 |
언어 파서(Clang*) 옵션 목록을 보려면 -help를 Clang 옵션으로 전달합니다.
| dpct — -도움말 |
방출된 경고
인텔® DPC++ 호환성 도구는 마이그레이션 중에 주의가 필요할 수 있는 코드의 위치를 식별합니다. file코드 SYCL을 준수하거나 수정하기 위해.
주석은 생성된 소스에 삽입됩니다. files 및 출력에 경고로 표시됩니다. 예를 들어amp르 :
| /경로/로/file.hpp:26:1: 경고: DPCT1003:0: 마이그레이션된 API가 오류 코드를 반환하지 않습니다. (*,0)이 삽입됩니다. 이 코드를 다시 작성해야 할 수도 있습니다. // 경고가 발생한 소스 코드 줄 ^ |
특정 경고의 의미에 대한 자세한 내용은 다음을 참조하십시오. 진단 참조.
특정 경고의 의미에 대한 자세한 내용은 진단 참조를 참조하십시오.
간단한 테스트 프로젝트 마이그레이션
인텔® DPC++ 호환성 도구는 여러 s와 함께 제공됩니다.amp도구를 탐색하고 작동 방식에 익숙해질 수 있도록 파일 프로젝트:
| Samp르 프로젝트 | 설명 |
벡터 추가 DPCT
|
벡터 추가 DPCTamp파일은 간단한 프로그램을 CUDA에서 SYCL로 마이그레이션하는 방법을 보여줍니다. Vector Add는 개발 환경이 Intel® DPC++ 호환성 도구를 사용하도록 올바르게 설정되었는지 쉽게 확인할 수 있는 방법을 제공합니다. |
폴더 옵션 DPCT
|
폴더 옵션 DPCTamp파일은 보다 복잡한 프로젝트를 마이그레이션하고 옵션을 사용하는 방법을 보여줍니다. |
로디니아 NW DPCT
|
Rodinia NW DPCTsamp파일은 인텔® DPC++ 호환성 도구를 사용하여 Make/CMake 프로젝트를 CUDA에서 SYCL로 마이그레이션하는 방법을 보여줍니다. |
Review 읽어보기 file 각 s와 함께 제공amps의 목적 및 사용에 대한 자세한 내용은 파일을 참조하십시오.amp르 프로젝트.
에 액세스하려면amp레
- oneapi-cli 유틸리티를 사용하여 다음으로 선택amp인텔® DPC++ 호환성 도구 범주의 파일 또는
- 다운로드amp레에서 GitHub*.
s를 다운로드하고 액세스하는 방법에 대한 자세한 내용은amp파일을 보려면 인텔® oneAPI 기본 툴킷 시작 안내서를 방문하십시오.
S를 시도amp르 프로젝트
Vector Add DPCT를 마이그레이션하려면 다음 단계를 따르십시오.amp인텔® DPC++ 호환성 도구를 사용하는 파일 프로젝트:
- vector_add.cu 다운로드amp르.
- s에서 인텔® DPC++ 호환성 도구 실행amp르 루트 디렉토리:
dpct –in-root=. src/벡터_add.cu vector_add.dp.cpp file dpct_output 디렉토리에 나타나야 합니다. 그만큼 file 이제 SYCL 소스입니다. file.
- 새 SYCL 소스로 이동 file:
| CD dpct_output |
생성된 소스 코드를 확인하고 인텔® DPC++ 호환성 도구가 마이그레이션할 수 없는 코드를 수정하십시오. (이 예제에서 사용된 코드는ample는 간단하므로 수동 변경이 필요하지 않을 수 있습니다). 인텔® DPC++ 호환성 도구에서 발생하는 경고 해결에 대한 가장 정확하고 자세한 지침은 마이그레이션된 코드의 경고 해결 섹션을 참조하십시오. 읽어주세요 files.
메모 마이그레이션된 s를 컴파일하려면amp파일에서 컴파일 명령에 -I/include를 추가합니다.
더 복잡한 samp지침은 다음을 참조하십시오. 프로젝트 마이그레이션 인텔® DPC++ 호환성 도구 개발자 가이드 및 참조 섹션.
더 찾아보기
| 콘텐츠 | 설명 |
| 인텔® DPC++ 호환성 | 이상 자세히view 인텔® DPC++ 호환성 도구 기능, 작업 흐름 및 사용에 대해 설명합니다. |
| 주문형 Web이나르: | 커널과 API 호출을 모두 포팅하는 일회성 마이그레이션 엔진인 인텔® DPC++ 호환성 도구를 사용하여 CUDA 코드를 DPC++(Data Parallel C++)로 마이그레이션하는 방법. |
| 인텔®용 설치 안내서 | 다양한 설치 프로그램 모드와 패키지 관리자를 사용하여 Intel® oneAPI 패키지를 얻고 설치하는 방법에 대한 자세한 지침. |
| SYCL 사양 버전 | SYCL 사양 PDF. SYCL이 OpenCL 장치를 최신 C++와 통합하는 방법을 설명합니다. |
| SYCL 2020 사양 | SYCL 2020 사양 PDF. |
| Khronos* SYCL 오버view | 오버view Khronos Group에서 제공하는 SYCL의 |
| clang으로 CUDA 컴파일하기 | clang의 CUDA 지원에 대한 설명입니다. |
| 인텔 LLVM SYCL 확장 | SYCL 사양에 대한 확장 제안. |
| Yocto* 프로젝트용 레이어 | 메타 인텔 레이어를 사용하여 Yocto 프로젝트 빌드에 하나의 API 구성 요소를 추가합니다. |

문서 / 리소스
![]() |
인텔 DPC++ 호환성 도구 [PDF 파일] 사용자 가이드 DPC 호환성 도구, 호환성 도구, 도구 |




