สร้างจากซอร์ส

เอกสารนี้จะอธิบายวิธีสร้างคอมโพเนนต์ XLA

หากคุณไม่ได้โคลนที่เก็บ XLA หรือติดตั้ง Bazel โปรดอ่านส่วนเริ่มต้นของคู่มือสำหรับนักพัฒนาซอฟต์แวร์ XLA

Linux

กำหนดค่า

บิลด์ XLA จะได้รับการกําหนดค่าโดยไฟล์ .bazelrc ในไดเรกทอรีรูทของที่เก็บ คุณใช้สคริปต์ ./configure.py เพื่อปรับการตั้งค่าทั่วไปได้

หากต้องการเปลี่ยนการกําหนดค่า ให้เรียกใช้สคริปต์ ./configure.py จากไดเรกทอรีรูทของที่เก็บ สคริปต์นี้มี Flag สำหรับตำแหน่งของข้อกําหนดของ XLA และตัวเลือกการกําหนดค่าบิลด์เพิ่มเติม (เช่น Flag คอมไพเลอร์) ดูรายละเอียดได้ที่ส่วนเซสชันตัวอย่าง

การรองรับ CPU

เราขอแนะนําให้ใช้คอนเทนเนอร์ Docker ที่เหมาะสมเพื่อสร้าง/ทดสอบ XLA เช่นคอนเทนเนอร์ Docker ของ TensorFlow

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

เมื่อใช้คอนเทนเนอร์ Docker คุณจะสร้าง XLA ที่มีการรองรับ CPU ได้โดยใช้คำสั่งต่อไปนี้

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

หากต้องการสร้างเป้าหมาย XLA ที่รองรับ CPU โดยไม่ต้องใช้ Docker คุณต้องติดตั้ง clang ปัจจุบัน XLA สร้างขึ้นใน CI ด้วย clang-17 แต่เวอร์ชันก่อนหน้าก็น่าจะใช้งานได้เช่นกัน

apt install clang

จากนั้นกำหนดค่าและสร้างเป้าหมายโดยใช้คำสั่งต่อไปนี้

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

การรองรับ GPU

เราขอแนะนำให้ใช้คอนเทนเนอร์ Docker เดียวกันกับด้านบนเพื่อสร้างการรองรับ XLA ที่มี GPU

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

หากต้องการสร้าง XLA ที่รองรับ GPU ให้ใช้คําสั่งต่อไปนี้

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

ดูรายละเอียดเพิ่มเติมเกี่ยวกับอิมเมจ Docker สำหรับ GPU ของ TensorFlow ได้ในเอกสารนี้

คุณยังสร้างเป้าหมาย XLA ที่รองรับ GPU ได้โดยไม่ต้องใช้ Docker อีกด้วย กําหนดค่าและสร้างเป้าหมายโดยใช้คําสั่งต่อไปนี้

./configure.py --backend=CUDA

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

ดูรายละเอียดเพิ่มเติมเกี่ยวกับ CUDA แบบปิดได้ในเอกสารนี้