सोर्स से बनाएं

इस दस्तावेज़ में XLA कॉम्पोनेंट बनाने का तरीका बताया गया है.

अगर आपने XLA रिपॉज़िटरी को क्लोन नहीं किया है या Basel को इंस्टॉल नहीं किया है, तो XLA डेवलपर गाइड के शुरुआती सेक्शन देखें.

Linux

कॉन्फ़िगर करें

XLA बिल्ड को रिपॉज़िटरी की रूट डायरेक्ट्री में मौजूद .bazelrc फ़ाइल से कॉन्फ़िगर किया जाता है. सामान्य सेटिंग में बदलाव करने के लिए, ./configure.py स्क्रिप्ट का इस्तेमाल किया जा सकता है.

अगर आपको कॉन्फ़िगरेशन बदलना है, तो रिपॉज़िटरी की रूट डायरेक्ट्री से ./configure.py स्क्रिप्ट चलाएं. इस स्क्रिप्ट में, XLA डिपेंडेंसी की जगह और बिल्ड कॉन्फ़िगरेशन के अन्य विकल्पों (उदाहरण के लिए, कंपाइलर फ़्लैग) के लिए फ़्लैग होते हैं. ज़्यादा जानकारी के लिए, सैंपल सेशन सेक्शन देखें.

सीपीयू (CPU) सपोर्ट

हमारा सुझाव है कि XLA को बनाने/जांचने के लिए, किसी सही Docker कंटेनर का इस्तेमाल करें. जैसे, TensorFlow का Docker कंटेनर:

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

Docker कंटेनर का इस्तेमाल करके, सीपीयू की सहायता के साथ XLA बनाया जा सकता है. इसके लिए, इन निर्देशों का इस्तेमाल करें:

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

अगर आपको Docker के बिना सीपीयू के साथ काम करने वाले XLA टारगेट बनाने हैं, तो आपको clang इंस्टॉल करना होगा. फ़िलहाल, XLA को CI के लिए, clang-17 के साथ बनाया गया है. हालांकि, पुराने वर्शन भी काम करते हैं:

apt install clang

इसके बाद, इन कमांड का इस्तेमाल करके टारगेट कॉन्फ़िगर और बनाएं:

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

जीपीयू की सहायता

हमारा सुझाव है कि जीपीयू की मदद से XLA बनाने के लिए, ऊपर दिए गए उसी डकर कंटेनर का इस्तेमाल करें:

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

जीपीयू की सहायता के साथ XLA बनाने के लिए, इस कमांड का इस्तेमाल करें:

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

TensorFlow की GPU डॉकर इमेज के बारे में ज़्यादा जानकारी के लिए, यह दस्तावेज़ देखें.

Docker के बिना भी, जीपीयू की मदद से XLA टारगेट बनाए जा सकते हैं. नीचे दिए गए निर्देशों का इस्तेमाल करके, टारगेट कॉन्फ़िगर करें और बनाएं:

./configure.py --backend=CUDA

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

hermetic CUDA के बारे में ज़्यादा जानकारी के लिए, यह दस्तावेज़ देखें.