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

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

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

Linux

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

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

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

./configure

इस स्क्रिप्ट का एक Python वर्शन भी है, ./configure.py. वर्चुअल एनवायरमेंट का इस्तेमाल करने पर, python configure.py एनवायरमेंट में पाथ को प्राथमिकता देता है, जबकि ./configure एनवायरमेंट से बाहर के पाथ को प्राथमिकता देता है. दोनों स्थितियों में, डिफ़ॉल्ट को बदला जा सकता है.

सीपीयू की सुविधा

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

docker run --name xla -w /xla -it -d --rm -v $PWD:/xla tensorflow/tensorflow:latest-gpu bash

डॉकर कंटेनर का इस्तेमाल करके, यहां दिए गए निर्देशों का इस्तेमाल करके, CPU की मदद से XLA बनाया जा सकता है:

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

अगर आपको Docker के बिना, CPU की मदद के साथ XLA टारगेट बनाना है, तो आपको gcc-10 इंस्टॉल करना होगा:

apt install gcc-10 g++-10

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

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/...

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

हमारा सुझाव है कि जीपीयू के साथ काम करने वाले एक्सएलए को बनाने के लिए, जीपीयू डॉकर कंटेनर का इस्तेमाल किया जाए, जैसे:

docker run --name xla_gpu -w /xla -it -d --rm -v $PWD:/xla tensorflow/tensorflow:devel-gpu bash

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

docker exec -e TF_NEED_CUDA=1 xla_gpu ./configure
docker exec xla_gpu bazel build --test_output=all --spawn_strategy=sandboxed //xla/...

अगर आपको Docker के बिना, जीपीयू सहायता के साथ XLA टारगेट बनाने हैं, तो आपको सीपीयू डिपेंडेंसी के लिए अतिरिक्त डिपेंडेंसी के लिए यहां दी गई अन्य सुविधाएं इंस्टॉल करनी होंगी: cuda-11.2, cuDNN-8.1.

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

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/...

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