Crea dall'origine

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.