For the complete documentation index, see llms.txt. This page is also available as Markdown.

Step 3 - Installing the Vitis-AI runtime packages

ทำการเตรียมความพร้อมที่จะใช้งาน Vitis-AI บนบอร์ด FPGA

หลังจากที่เราทำการติดตั้ง Package ที่จะใช้งานในการ Compile โปรแกรม รวมถึงการใช้งานผ่าน Hardware module ที่เขียนไว้ โดยตัวโมดูลที่จะใช้งานกันบน FPGA วันนี้คือ DPU (Deep processing unit)

โครงสร้างการทำงานของ DPU
การต่อ DPU ให้สามารถทำงานได้บนชิพ

เมื่อผู้ทดลองสามารถเข้าถึงบอร์ด Ultra96v2 ได้แล้ว เราจะเริ่มทำการติดตั้ง Package และเตรียม Hardware module เพื่อใช้งานร่วมกับโปรแกรมโดยเริ่มจาก

Step 3-1 : Setting Package for compile program

  1. ไปที่ WSL ที่ ssh ไปที่ Ultra96v2 แล้วพิมคำสั่งด้านล่าง เพื่อ copy ไฟล์ที่เรียกการใช้งาน Hardware module DPU ไปเตรียมทำงาน

  1. ทำการติดตั้งแพคเกจ Vitis-AI 1.4 runtime เพื่อใช้ในการ compile AI application ในการทำงานร่วมกับโมดูล DPU

ติดตั้ง library และ runtime ที่ต้องใช้
  1. ทำการตรวจสอบโมดูล DPU บนชิพ FPGA ว่าพร้อมทำงานไหม

สภานะการทำงานของ DPU

Step 3-2 : Inference Vitsi-AI on U96v2

  1. ทำการ optimize โมดูล DPU ให้เกิดข้อผิดพลาดในการแสดงผลลดลง

โดยทำการ รัน script นี้จะแก้ไขปัญหาสองอย่างคือ

  • แก้ไขพื้นที่ partition rootfs ให้เหมาะสมกับการใช้งาน

  • แก้ปัญหา Qos ในการใช้งานหน่วยความจำ DDR เพื่อให้สามารถทำงานในการแสดงภาพได้

  1. สำหรับกลุ่มทดลองที่มีสาย Display port ให้ทำการตั้งค่าตัวแปรในการแสดงภาพ

โดยตัว command นี้จะเป็นการตั้งค่าตัวแปรที่ใช้ใน LinuxOS เพื่อใช้ในการแสดงผลออกที่ตัว Display Port

  1. ตั้งค่า resolution ของจอแสดงผล

  1. ทำการปิด Debug message

  1. ทำการทดสอบ Vitis-AI-Library ในการทำงานของ AI application ร่วมกับ DPU

Step 3-3 : Inference Point cloud 3D detection on U96v2

แต่ในการทดลองนี้เราจะโฟกัสไปที่การใช้งาน Poinpillars เพื่อทำการทดสอบการวิเคราะห์ข้อมูลบนท้องถนนด้วย sensor Lidar ขั้นตอนต่อไปจะทดสอบเฉพาะผู้ที่กำลังต่อสายสาย DP และจออยู่เท่านั้น

  1. Command WSL2 ที่จะใช้ในการโยนไฟล์ pp_3d_detect.tar.gz ที่ดาวน์โหลดมาในตอนแรก ไปที่บอร์ด

ดูที่เก็บไฟล์ให้ดีเพื่อทำการ copy path ที่เก็บไฟล์ไว้ โดยในหน้า File exporter ให้กด Ctrl + L

จากตัวอย่างไฟล์เก็บไว้ใน Download สิ่งที่ต้องแก้ไขคือ

[Name of your user] --> ชื่อของ User ที่เราใช้งานอยู่บน Windows แตกต่างกันไปตามแต่ละเครื่อง

[IP board] --> IP ของบอร์ด Ultra96v2 ที่เราจดไว้จาก step ที่ 2

  1. กลับไปที่ command ssh ของบอร์ด Ultra96v2 บนเครื่องคอมพิวเตอร์ของนิสิตแล้วทำการแตกไฟล์

  1. แก้ไขไฟล์ demo.cpp เพื่อแก้ไขโปรแกรม demo.cpp เพื่อใช้งาน Vitis-AI 1.4. โดยการเปลี่ยน header ของโปรแกรม

  1. แก้ไข Header ทำการ comment และเติม header ดัง code ด้านล่าง

  1. ออกจาก Vim โดยการกด Esc แล้วทำการพิมคำสั่ง

  1. แก้ไขไฟล์ build.sh เพื่อแก้ไขการ compile c++ และ OPENCV_FLAGS เป็น version ใหม่

  1. แก้ไขการ compile ดัง code ด้านล่าง

  1. ออกจาก Vim โดยการกด Esc แล้วทำการพิมคำสั่ง

  1. ทำการ compile code เพื่อเตรียมสำหรับการรัน

  1. ทำการรัน Application Point pillar detection

  • แสดงภาพ Object detection จาก application

  • แสดงภาพ Point pillar detection จาก application

  • แสดงทั้งสองผลลัพธ์ในหน้าจอ

จบกันไปแล้วสำหรับแลปในวันนี้นะครับ คิดว่าได้ความรู้อะไรไปบ้าง ลองไปเขียนอธิบายในบันทึกผลการทดลองดูนะครับ ซึ่งในคาบหน้าเราจะมาแกะเจ้าตัวโปรแกรมและ AI ที่รันกันไปในคาบนี้เพื่อให้เพิ่มความเข้าใจและทักษะโปรแกรม Embedded programing กันมากขึ้น

Last updated

Was this helpful?