이 문서에서는 XLA 구성요소를 빌드하는 방법을 설명합니다.
XLA 저장소를 클론하거나 Bazel을 설치하지 않은 경우 README 문서의 '시작하기' 섹션을 확인하세요.
Linux
구성
XLA 빌드는 저장소의 루트 디렉터리에 있는 .bazelrc
파일로 구성됩니다. ./configure
또는 ./configure.py
스크립트를 사용하여 공통 설정을 조정할 수 있습니다.
구성을 변경해야 하는 경우 저장소의 루트 디렉터리에서 ./configure
스크립트를 실행하세요. 이 스크립트는 XLA 종속 항목의 위치를 묻는 메시지를 표시하고 추가 빌드 구성 옵션 (예: 컴파일러 플래그)을 요청합니다. 자세한 내용은 샘플 세션 섹션을 참고하세요.
./configure
이 스크립트의 Python 버전인 ./configure.py
도 있습니다. 가상 환경을 사용하는 경우 python configure.py
는 환경 내의 경로에 우선순위를 지정하고 ./configure
은 환경 외부의 경로에 우선순위를 지정합니다. 두 경우 모두 기본값을 변경할 수 있습니다.
CPU 지원
XLA를 빌드/테스트하는 데는 TensorFlow의 Docker 컨테이너와 같은 적합한 Docker 컨테이너를 사용하는 것이 좋습니다.
docker run --name xla -w /xla -it -d --rm -v $PWD:/xla tensorflow/tensorflow:latest-gpu bash
Docker 컨테이너를 사용하면 다음 명령어를 사용하여 CPU를 지원하는 XLA를 빌드할 수 있습니다.
docker exec xla ./configure
docker exec xla bazel build //xla/... --spawn_strategy=sandboxed --test_output=all
Docker 없이 CPU를 지원하는 XLA 타겟을 빌드하려면 gcc-10을 설치해야 합니다.
apt install gcc-10 g++-10
그리고 다음 명령어를 사용하여 대상을 구성하고 빌드합니다.
yes '' | GCC_HOST_COMPILER_PATH=/usr/bin/gcc-10 CC=/usr/bin/gcc-10 TF_NEED_ROCM=0 TF_NEED_CUDA=0 TF_CUDA_CLANG=0 ./configure
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
GPU 지원
다음과 같이 GPU Docker 컨테이너를 사용하여 GPU를 지원하는 XLA를 빌드하는 것이 좋습니다.
docker run --name xla_gpu -w /xla -it -d --rm -v $PWD:/xla tensorflow/tensorflow:devel-gpu bash
GPU를 지원하는 XLA를 빌드하려면 다음 명령어를 사용하세요.
docker exec -e TF_NEED_CUDA=1 xla_gpu ./configure
docker exec xla_gpu bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Docker 없이 GPU를 지원하는 XLA 타겟을 빌드하려면 CPU 종속 항목 외에 cuda-11.2
, cuDNN-8.1
종속 항목을 설치해야 합니다.
그리고 다음 명령어를 사용하여 대상을 구성하고 빌드합니다.
yes '' | GCC_HOST_COMPILER_PATH=/usr/bin/gcc-10 CC=/usr/bin/gcc-10 TF_NEED_ROCM=0 TF_NEED_CUDA=1 TF_CUDA_CLANG=0 ./configure
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...