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.