소스에서 빌드

이 문서에서는 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/...

TensorFlow의 GPU Docker 이미지에 관한 자세한 내용은 이 문서를 참조하세요.