Crea dall'origine

Questo documento descrive come creare componenti XLA.

Se non hai clonato il repository XLA o installato Bazel, consulta le sezioni iniziali della Guida per gli sviluppatori XLA.

Linux

Configura

Le build XLA sono configurate dal file .bazelrc nella directory principale del repository. Lo script ./configure.py può essere utilizzato per modificare le impostazioni comuni.

Se devi modificare la configurazione, esegui lo script ./configure.py dalla directory principale del repository. Questo script contiene flag per la posizione delle dipendenze XLA e opzioni di configurazione di compilazione aggiuntive (ad esempio i flag del compilatore). Per maggiori dettagli, consulta la sezione Sessione di esempio.

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/build:latest-python3.9 bash

Utilizzando un container Docker, puoi compilare XLA con il supporto della CPU utilizzando i seguenti comandi:

docker exec xla ./configure.py --backend=CPU
docker exec xla bazel build //xla/...  --spawn_strategy=sandboxed --test_output=all

Se vuoi creare target XLA con supporto della CPU senza Docker, devi installare clang. Attualmente XLA viene compilato in CI con clang-17, ma dovrebbero funzionare anche le versioni precedenti:

apt install clang

Poi configura e crea i target utilizzando i seguenti comandi:

./configure.py --backend=CPU
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...

Supporto GPU

Ti consigliamo di utilizzare lo stesso contenitore Docker indicato sopra per compilare XLA con il supporto della GPU:

docker run --name xla_gpu -w /xla -it -d --rm -v $PWD:/xla tensorflow/build:latest-python3.9 bash

Per compilare XLA con il supporto della GPU, utilizza il seguente comando:

docker exec xla_gpu ./configure.py --backend=CUDA
docker exec xla_gpu bazel build --test_output=all --spawn_strategy=sandboxed //xla/...

Per ulteriori dettagli sulle immagini Docker GPU di TensorFlow, consulta questo documento.

Puoi anche creare destinazioni XLA con il supporto GPU senza Docker. Configura e compila i target utilizzando i seguenti comandi:

./configure.py --backend=CUDA

bazel build --test_output=all --spawn_strategy=sandboxed //xla/...

Per ulteriori dettagli relativi allo CUDA ermetico, puoi consultare questo documento.