Questo documento descrive come creare componenti XLA.
Se non hai clonato il repository XLA o installato Bazel, controlla la sezione "Inizia" del documento README.
Linux
Configura
Le build XLA sono configurate dal file .bazelrc
nella directory radice del repository. Gli script ./configure
o ./configure.py
possono essere utilizzati per modificare
le impostazioni comuni.
Se devi modificare la configurazione, esegui lo script ./configure
dalla directory radice del repository. Questo script richiederà la posizione delle dipendenze XLA e altre opzioni di configurazione della build (ad esempio, i flag del compilatore). Per informazioni dettagliate, consulta la sezione Sessione di esempio.
./configure
Esiste anche una versione Python di questo script, ./configure.py
. Se utilizzi un ambiente virtuale, python configure.py
dà la priorità ai percorsi all'interno dell'ambiente, mentre ./configure
dà la priorità ai percorsi esterni all'ambiente. In
entrambi i casi, puoi modificare l'impostazione predefinita.
Supporto della CPU
Ti consigliamo di utilizzare un container Docker adatto per creare/testare XLA, ad esempio il container Docker di TensorFlow:
docker run --name xla -w /xla -it -d --rm -v $PWD:/xla tensorflow/tensorflow:latest-gpu bash
Con un container Docker puoi creare XLA con il supporto della CPU utilizzando i seguenti comandi:
docker exec xla ./configure
docker exec xla bazel build //xla/... --spawn_strategy=sandboxed --test_output=all
Se vuoi creare target XLA con supporto CPU senza Docker, devi installare gcc-10:
apt install gcc-10 g++-10
Quindi, configura e crea le destinazioni utilizzando i seguenti comandi:
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/...
Supporto GPU
Ti consigliamo di utilizzare un container docker GPU per creare XLA con il supporto GPU, ad esempio:
docker run --name xla_gpu -w /xla -it -d --rm -v $PWD:/xla tensorflow/tensorflow:devel-gpu bash
Per creare XLA con il supporto GPU, utilizza il seguente comando:
docker exec -e TF_NEED_CUDA=1 xla_gpu ./configure
docker exec xla_gpu bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Se vuoi creare target XLA con supporto GPU senza Docker, devi installare le seguenti dipendenze aggiuntive alle dipendenze della CPU: cuda-11.2
, cuDNN-8.1
.
Quindi, configura e crea le destinazioni utilizzando i seguenti comandi:
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/...
Per maggiori dettagli sulle immagini Docker GPU di TensorFlow, puoi consultare questo documento.