إنشاء المحتوى من المصدر

يصف هذا المستند كيفية إنشاء مكونات XLA.

في حال عدم استنساخ مستودع XLA أو تثبيت Bazel، يُرجى مراجعة قسم "البدء" في مستند README.

Linux

إعداد

يتم ضبط إصدارات XLA من خلال الملف .bazelrc في الدليل الجذري للمستودع. يمكن استخدام النص البرمجي ./configure أو ./configure.py لضبط الإعدادات الشائعة.

إذا كنت بحاجة إلى تغيير الإعدادات، يمكنك تشغيل النص البرمجي ./configure من الدليل الجذري للمستودع. سيطلب منك هذا النص البرمجي موقع تبعيات XLA ويطلب خيارات إضافية لتهيئة الإصدار (على سبيل المثال، علامات التحويل البرمجي). يُرجى الرجوع إلى القسم نموذج جلسة للاطّلاع على التفاصيل.

./configure

هناك أيضًا نسخة بايثون من هذا النص البرمجي، ./configure.py. وفي حال استخدام بيئة افتراضية، تمنح python configure.py الأولوية للمسارات في البيئة المحيطة، بينما تمنح ./configure الأولوية للمسارات خارج البيئة. في كلتا الحالتين يمكنك تغيير الإعداد الافتراضي.

دعم وحدة المعالجة المركزية (CPU)

ننصح باستخدام حاوية إرساء مناسبة لإنشاء/اختبار شهادة XLA، مثل حاوية Docker من TensorFlow:

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

باستخدام حاوية الإرساء، يمكنك إنشاء بروتوكول XLA مع دعم وحدة المعالجة المركزية باستخدام الأوامر التالية:

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

إذا كنت تريد إنشاء أهداف XLA مع دعم وحدة المعالجة المركزية (CPU) بدون Docker، عليك تثبيت 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/...

التوافق مع وحدة معالجة الرسومات

ننصح باستخدام حاوية إرساء لوحدة معالجة الرسومات لإنشاء 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/...

إذا كنت تريد إنشاء أهداف XLA مع دعم وحدة معالجة الرسومات بدون Docker، عليك تثبيت تبعيات التالية الإضافية على تبعيات وحدة المعالجة المركزية (CPU): 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، يمكنك الاطّلاع على هذا المستند.