เอกสารนี้จะอธิบายวิธีสร้างคอมโพเนนต์ 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 แบบปิดได้ในเอกสารนี้