MIT licensed
doc
<p align="center"><img width="70%" src="https://raw.githubusercontent.com/ROCm/rpp/HEAD/docs/data/AMD_RPP_logo.png" /></p>
[!NOTE]
게시된 문서는 검색 및 목차와 함께 체계적이고 읽기 쉬운 형식으로 ROCm Performance Primitives (RPP)에서 확인할 수 있습니다. 문서 소스 파일은 이 저장소의 docs 폴더에 있습니다. 모든 ROCm 프로젝트와 마찬가지로, 문서는 오픈 소스입니다. 문서 기여에 대한 자세한 정보는 Contribute to ROCm documentation을 참조하십시오.
AMD ROCm Performance Primitives (RPP) 라이브러리는 HIP 또는 CPU 백엔드를 갖춘 AMD 프로세서를 위한 포괄적이고 고성능의 컴퓨터 비전 라이브러리입니다.
<p align="center"><img width="35%" src="https://raw.githubusercontent.com/ROCm/rpp/HEAD/docs/data/rpp_structure_4.png" /></p>
최신 릴리스
GitHub tag (latest SemVer)
지원되는 증강(Augmentations) / 기본 요소(Primitives)
RPP는 아래에 나열된 다양한 2D 이미지, 3D 이미지 (복셀), 오디오 및 기타 증강과 기본 요소를 지원합니다.
<p align="center"><img width="90%" src="https://raw.githubusercontent.com/ROCm/rpp/HEAD/docs/data/supported_functionalities.png" /></p>
지원되는 2D 이미지 증강 샘플
<p align="center"><img width="90%" src="https://raw.githubusercontent.com/ROCm/rpp/HEAD/docs/data/supported_functionalities_samples.jpg" /></p>
지원되는 3D 이미지 증강 샘플
<div align="center">
</div>
슬라이스 (3D 슬라이스 - 100x200 from 240x240x155):
<p align="center"><img src="https://raw.githubusercontent.com/ROCm/rpp/HEAD/docs/data/doxygenOutputs/geometric_augmentations_slice_100x200x155.gif" /></p>
지원되는 오디오 증강 샘플 (Supported Audio Augmentations Samples)
스펙트로그램 기능 출력은 이미지로 표현됨:
<p align="center"><img width="55%" src="https://raw.githubusercontent.com/ROCm/rpp/HEAD/docs/data/spectrogramOutput.png" /></p>
필수 조건 (Prerequisites)
운영체제 (Operating Systems)
- Linux
- Ubuntu -
22.04 / 24.04
- RedHat -
8 / 9
- SLES -
15 SP7
하드웨어 (Hardware)
[!IMPORTANT]
[!IMPORTANT]
sudo amdgpu-install --usecase=rocm
컴파일러 (Compiler)
- AMD Clang++ 버전 18.0.0 이상 - ROCm과 함께 설치됨
[!NOTE]
- CPU 전용 백엔드를 사용하려면 Clang 버전
5.0.1 이상을 사용하세요
- GNU 컴파일러 또는 사용자 지정 컴파일러를 사용하려면 빌드 시
-D CMAKE_CXX_COMPILER를 사용하세요
라이브러리 (Libraries)
⚠️ [중요]
- 필수 컴파일러 지원
- Ubuntu 22.04의 경우 - 추가 패키지 필요: libstdc++-12-dev
sudo apt install libstdc++-12-dev
[!참고]
- 모든 패키지 설치는
apt 패키지 관리자를 사용하여 표시됩니다. 사용 중인 운영 체제에 적절한 패키지 관리자를 사용하십시오.
설치 지침
설치 과정은 다음 단계를 따릅니다:
[!중요]
사용 설명에 따라 패키지 설치 package install 또는 소스 설치 source install 중 하나를 사용하십시오.
패키지 설치
RPP 런타임, 개발 및 테스트 패키지를 설치합니다.
- 런타임 패키지 -
rpp는 rpp 라이브러리인 librpp.so만 제공합니다.
- 개발 패키지 -
rpp-dev/rpp-devel은 라이브러리, 헤더 파일 및 샘플을 제공합니다.
- 테스트 패키지 -
rpp-test는 설치를 검증하기 위한 CTest를 제공합니다.
[!참고]
패키지 설치 시 모든 종속성이 자동으로 설치됩니다.
Ubuntu
sudo apt install rpp rpp-dev rpp-test
RHEL
sudo yum install rpp rpp-devel rpp-test
SLES
sudo zypper install rpp rpp-devel rpp-test
소스 빌드 및 설치
git clone https://github.com/ROCm/rpp.git
#### HIP 백엔드
```shell
mkdir build-hip
cd build-hip
cmake ../rpp
...
테스트 실행
RPP을 설치한 후, 테스트를 실행하는 방법에 대한 지침은 아래 설치 검증 섹션을 참조하십시오.
설치 검증
설치 프로그램이 복사할 것입니다.
- 라이브러리는
${ROCM_PATH}/lib에,
- 헤더 파일은
${ROCM_PATH}/include/rpp에,
- 샘플 및 테스트 폴더는
${ROCM_PATH}/share/rpp에,
- 문서 폴더는
${ROCM_PATH}/share/doc/rpp에 설치됩니다.
rpp-test 패키지로 검증하기
테스트 패키지는 rpp를 테스트하기 위한 CTest 모듈을 설치합니다. 다음 단계를 따라 테스트 패키지를 설치하세요.
mkdir rpp-test && cd rpp-test
cmake ${ROCM_PATH}/share/rpp/test/
ctest -VV
[!NOTE]
- Ubuntu: 모든 테스트를 실행하려면 Nifti-Imaging을 설치해야 합니다.
git clone https://github.com/NIFTI-Imaging/nifti_clib.git
cd nifti_clib
git reset --hard 84e323cc3cbb749b6a3eeef861894e444cf7d788
...
> * **SLES/RHEL**: 모든 테스트를 실행하려면 [prerequisites](utilities/test_suite#prerequisites)을 설치하세요.
## 테스트 기능성 (Test Functionalities)
Python 스크립트를 사용하여 RPP의 최신 Image/Voxel/Audio/Miscellaneous 기능을 테스트하려면 [AMD ROCm Performance Primitives (RPP) Test Suite](utilities/test_suite/README.md)를 참조하세요.
## CMake 프로젝트에 RPP 추가하기
CMake 프로젝트에 RPP를 추가하려면 설치 후 다음 코드를 사용할 수 있습니다:
```cmake
find_package(rpp REQUIRED)
target_link_libraries(your_target PRIVATE rpp::rpp)
HIP 백엔드 지원은 자동입니다: rpp::rpp는 HIP 포함 경로와 링크 라이브러리를 전이적으로(transitively) 전달하며, rpp/rpp.h는 rpp_backend.h를 포함하고 이 파일이 컴파일된 소스에 대해 RPP_BACKEND_HIP을 설정합니다.
[!NOTE]
find_package(rpp REQUIRED)는 CMake 프로젝트에 다음 변수를 설정합니다:
MIVisionX RPP 확장 기능
vx_rpp는 OpenVX 프레임워크를 통해 RPP 기능을 지원합니다.
기술 지원 (Technical support)
RPP 관련 질문이나 피드백은 [email protected]으로 문의해 주십시오.
기능 요청 및 버그 보고는 GitHub 이슈 페이지를 이용해 주십시오.
문서 (Documentation)
다음 코드를 사용하여 문서를 로컬에서 빌드할 수 있습니다:
-
Sphinx
cd docs
pip3 install -r .sphinx/requirements.txt
python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html
-
Doxygen
릴리스 노트 (Release notes)
각 릴리스의 모든 주목할 만한 변경 사항은 변경 로그(changelog)에 추가됩니다.
테스트된 구성 (Tested configurations)
- Linux 배포판
- Ubuntu -
22.04 / 24.04
- RedHat -
8 / 9
- SLES -
15 SP7
- ROCm: rocm-core -
7.0.0+
- CMake - 버전
3.10+
- AMD Clang++ - 버전
18.0.0+
- Half - IEEE 754 기반 하프 정밀도 부동 소수점 라이브러리 - 버전
1.12.0 / 패키지 V1.12.0
- OpenCV - 4.6.0