Cải Thiện Năng Lượng Cho Bộ Tăng Tốc AI Tích Hợp Trên Ultra96-V2 Cho Smart Camera

Luận văn tốt nghiệp kỹ thuật nghiên cứu tốt nghiệp kỹ thuật máy tính cải thiện về năng lượng cho bộ tăng tốc ai tích hợp trên ultra96 v2, điều tra thực trạng, phân tích số liệu,

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2023

94
2
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

1.1. Lý do chọn đề tài

1.2. Các nghiên cứu về smart camera

1.2.1. Nghiên cứu ngoài nước

1.2.2. Nghiên cứu trong nước

1.3. Mục tiêu đề tài

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Field Programmable Gate Array (FPGA)

2.1.1. Kiến trúc tổng quát

2.2. Hệ thống nhúng

2.2.1. Phần mềm của một hệ thống nhúng

2.2.2. Phần cứng của một hệ thống nhúng

2.2.3. Đặc điểm của một hệ thống

2.3. Hệ thống SoC (System on Chip)

2.3.1. Định nghĩa hệ thống SOC

2.3.2. Cấu trúc phần cứng của một SoC

2.3.3. Kiến trúc Anchor BOX. K-means cluster

2.4. Các công nghệ liên quan

2.4.1. Direction location prediction. Fine-grained feature

2.4.2. Multi-scale training. Light-weight backbone

2.4.3. Các công cụ xử lý audio, video của FFmpeg

2.5. Tổng quan về khái niệm công suất thấp

2.5.1. Công suất tiêu thụ của logic bên trong chip

2.5.2. Khả năng giảm công suất tiêu thụ

2.5.2.1. Phân chia miền clock (Multi clock domain)
2.5.2.2. Hiệu chỉnh tần số clock (clock frequency scaling)
2.5.2.3. Tối ưu tài nguyên (Resource)

3. CHƯƠNG 3: THIẾT KẾ HỆ THỐNG

3.1. Ý tưởng đề xuất cho hệ thống

3.2. Thiết kế tổng quát của hệ thống

3.3. Hệ thống SoC tích hợp IP YOLO_V2_FPGA trên Vivado 2019

3.4. Cải thiện công suất thực của hệ thống SoC Smart Camera

3.5. Xây dựng luồng streaming cho Smart Camera

3.5.1. Streaming phạm vi local đối với camera hình ảnh xử lý YOLOv2

3.5.2. Streaming phạm vi Internet đối với camera hình ảnh xử lý YOLOv2

3.6. Xây dựng chương trình thực thi bằng công cụ Vitis 2019

4. CHƯƠNG 4: HIỆN THỰC, THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ

4.1. Zynq UltraScale+ MPSOC

4.2. Kịch bản thực nghiệm và phương pháp đánh giá

4.2.1. Kịch bản thực nghiệm

4.2.2. Phương pháp đánh giá

4.3. Kết quả thực nghiệm

4.3.1. Kết quả nhận diện

4.3.2. Kết quả đo thực nghiệm công suất và nhiệt độ

4.3.2.1. Trường hợp hệ thống không có quạt tản nhiệt (kiểm tra hoạt động của hệ thống trong 30 phút)
4.3.2.2. Trường hợp hệ thống có quạt tản nhiệt (kiểm tra hoạt động của hệ thống)

4.3.3. Đánh giá hệ thống

4.3.3.1. Trường hợp không có quạt tản nhiệt
4.3.3.2. Trường hợp có quạt tản nhiệt

4.3.4. Đóng gói sản phẩm

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Giới thiệu về cải thiện hiệu năng năng lượng cho bộ tăng tốc AI trên Ultra96 V2

Trong bối cảnh công nghệ ngày càng phát triển, việc tối ưu hóa hiệu suất năng lượng cho các hệ thống AI trở nên cấp thiết. Đặc biệt, bộ tăng tốc AI trên nền tảng Ultra96-V2 đang thu hút sự chú ý lớn từ các nhà nghiên cứu và phát triển. Bài viết này sẽ khám phá các phương pháp cải thiện hiệu suất năng lượng cho bộ tăng tốc AI, nhằm nâng cao hiệu quả hoạt động của hệ thống smart camera.

1.1. Tổng quan về Ultra96 V2 và ứng dụng trong AI

Ultra96-V2 là một nền tảng mạnh mẽ cho các ứng dụng AI, với khả năng tích hợp nhiều công nghệ tiên tiến. Nền tảng này cho phép phát triển các giải pháp thông minh, đặc biệt trong lĩnh vực camera thông minh, nhờ vào khả năng xử lý mạnh mẽ và tiết kiệm năng lượng.

1.2. Tại sao cần cải thiện hiệu suất năng lượng cho AI

Cải thiện hiệu suất năng lượng không chỉ giúp giảm chi phí vận hành mà còn nâng cao độ bền của thiết bị. Đặc biệt, trong các ứng dụng như smart camera, việc tiết kiệm năng lượng là rất quan trọng để đảm bảo hoạt động liên tục và hiệu quả.

II. Vấn đề và thách thức trong cải thiện hiệu suất năng lượng cho AI

Mặc dù có nhiều lợi ích, việc cải thiện hiệu suất năng lượng cho bộ tăng tốc AI trên Ultra96-V2 cũng gặp phải nhiều thách thức. Các vấn đề như tiêu thụ năng lượng cao trong quá trình xử lý và nhiệt độ tăng cao cần được giải quyết để đảm bảo hiệu suất tối ưu.

2.1. Các yếu tố ảnh hưởng đến hiệu suất năng lượng

Các yếu tố như tần số hoạt động, cấu trúc phần cứng và thuật toán xử lý ảnh đều ảnh hưởng đến hiệu suất năng lượng. Việc tối ưu hóa các yếu tố này là cần thiết để đạt được hiệu suất tốt nhất.

2.2. Thách thức trong việc tối ưu hóa năng lượng

Một trong những thách thức lớn nhất là cân bằng giữa hiệu suất và tiêu thụ năng lượng. Việc tăng tốc độ xử lý có thể dẫn đến tiêu thụ năng lượng cao hơn, do đó cần có các giải pháp hợp lý để tối ưu hóa.

III. Phương pháp cải thiện hiệu suất năng lượng cho bộ tăng tốc AI

Để cải thiện hiệu suất năng lượng cho bộ tăng tốc AI trên Ultra96-V2, có thể áp dụng một số phương pháp như tối ưu hóa thuật toán, điều chỉnh tần số hoạt động và sử dụng các công nghệ tiết kiệm năng lượng.

3.1. Tối ưu hóa thuật toán xử lý ảnh

Việc tối ưu hóa thuật toán YOLOv2 có thể giúp giảm thiểu thời gian xử lý và tiêu thụ năng lượng. Các kỹ thuật như giảm độ phức tạp của mô hình và sử dụng các phương pháp học sâu hiệu quả hơn sẽ được áp dụng.

3.2. Điều chỉnh tần số hoạt động

Điều chỉnh tần số hoạt động của hệ thống có thể giúp tiết kiệm năng lượng. Việc sử dụng các kỹ thuật như clock frequency scaling sẽ giúp hệ thống hoạt động hiệu quả hơn mà không làm giảm chất lượng xử lý.

3.3. Sử dụng công nghệ tiết kiệm năng lượng

Các công nghệ như Dynamic Voltage and Frequency Scaling (DVFS) có thể được áp dụng để tự động điều chỉnh điện áp và tần số, từ đó giảm thiểu tiêu thụ năng lượng trong quá trình hoạt động.

IV. Ứng dụng thực tiễn và kết quả nghiên cứu

Nghiên cứu đã chỉ ra rằng việc cải thiện hiệu suất năng lượng cho bộ tăng tốc AI trên Ultra96-V2 có thể mang lại nhiều lợi ích. Các ứng dụng thực tiễn cho thấy sự cải thiện rõ rệt trong hiệu suất và tiết kiệm năng lượng.

4.1. Kết quả thực nghiệm từ hệ thống smart camera

Hệ thống smart camera được phát triển trên Ultra96-V2 đã cho thấy khả năng nhận diện vật thể với độ chính xác cao và tiêu thụ năng lượng thấp. Kết quả thực nghiệm cho thấy hiệu suất hoạt động được cải thiện đáng kể.

4.2. Ứng dụng trong các lĩnh vực khác

Ngoài camera thông minh, các phương pháp cải thiện hiệu suất năng lượng cũng có thể được áp dụng trong nhiều lĩnh vực khác như robot, giám sát an ninh và các hệ thống nhúng khác.

V. Kết luận và tương lai của cải thiện hiệu suất năng lượng cho AI

Cải thiện hiệu suất năng lượng cho bộ tăng tốc AI trên Ultra96-V2 không chỉ là một thách thức mà còn là một cơ hội lớn. Tương lai của công nghệ này hứa hẹn sẽ mang lại nhiều giải pháp sáng tạo và hiệu quả hơn.

5.1. Hướng phát triển trong nghiên cứu

Nghiên cứu trong lĩnh vực này sẽ tiếp tục phát triển, với nhiều giải pháp mới được đề xuất nhằm tối ưu hóa hiệu suất năng lượng cho các hệ thống AI.

5.2. Tác động đến ngành công nghiệp

Việc cải thiện hiệu suất năng lượng sẽ có tác động tích cực đến ngành công nghiệp, giúp giảm chi phí và nâng cao hiệu quả sản xuất trong nhiều lĩnh vực.

10/07/2025

Trích đoạn nội dung tài liệu

Chương 1: Tổng quan đề tài Chương đâu sẽ giới thiệu tông quan về đê tài khóa luận, lý do nhóm chọn đê tài này, mục tiêu đề ra của nhóm, những giới hạn của đê tài và kêt quả thực hiện mà nhóm đạt được. Chương 2: Cơ sở lý thuyết Chương này trình bày những cơ sở lý thuyết được sử dụng có liên quan đến nội dung nghiên cứu của dé tài, những thông tin này dựa vào các nguồn tài liệu nhóm tìm kiếm được trên Internet, tham khảo các tài liệu có sẵn trên website của khoa KTMT cũng như các kiến thức được các thay, cô truyền đạt trong quá trình học tập tại trường. Các kiến thức nền tảng cơ bản về FPGA, SoC, Smart camera, các kĩ thuật streaming video cũng như các kiến thức về tối ưu năng lượng tiêu thụ của một hệ thống. Từ đó nhóm chúng em có thê rút ra được các giải pháp phù hợp với mục tiêu ban đầu đặt ra của đề tài.

Chương 3: Thiết kế hệ thống Ở chương này nhóm sẽ dựa vào các kiến thức cơ sở lý thuyết ở chương 2 dé đưa ra một mô hình hệ thống chỉ tiết của khóa luận. Đồng thời sẽ giải thích nguyên lí hoạt động của hệ thống có những cải tiến gì so với luận văn kế thừa trước đó [1] Chương 4: Hiện thực, thực nghiệm và đánh giá kết quả Sau khi đã xây dựng được hệ thống, nhóm tiễn hành các bước chạy thử, thực nghiệm thu được các kết quả sau đó thực hiện việc đánh giá, so sánh với mục tiêu ban đầu của đề tài cũng như so sánh với kết quả thực nghiệm của đề tài trước đó [1]. Chương 5: Kết luận và hướng phát triển Chương cuối sẽ tổng kết lại khóa luận, tóm tắt toàn bộ những công việc mà nhóm đã hoàn thành, những kết quả và thành tích đạt được. Đồng thời chương này nhóm sẽ đưa ra đề xuất cho những hướng phát triển tiếp theo của đề tài trong tương lai.

Field Programmable Gate Array (FPGA) 2. Dinh nghĩa FPGA là một loại mạch tích hợp cỡ lớn dùng cấu trúc mảng phan tử logic ma người dùng có thé lập trình được. Chữ field ở đây muốn nói đến khả năng tái lập trình "bên ngoài" của người sử dụng, không phụ thuộc vào dây chuyền sản xuất phúc tạp của nhà máy bán dẫn. Vi mạch FPGA được cấu thành từ các bộ phận: e Các khối logic cơ bản lập trình được (logic block) e Hệ thống mạch liên kết lập trình được e Khối vào ra (I/O Pads) e Phan tử thiết kế san khác như DSP slice, RAM, ROM, nhân vi xử lý.

FPGA cũng được xem như một loại vi mạch bán dẫn chuyên dung ASIC, nhưng nếu so sánh FPGA với những ASIC đặc chế hoàn toàn hay ASIC thiết kế trên thư viện logic thì FPGA không đạt được mức độ tối ưu như những loại này và còn hạn chế trong khả năng thực hiện những tác vụ đặc biệt phức tạp. Tuy vậy FPGA ưu việt hơn ở chỗ có thé tái cau trúc lại khi đang sử dụng, công đoạn thiết kế đơn giản do vậy chỉ phí giảm, rút ngắn thời gian đưa sản phẩm vào sử dụng. Còn nếu so sánh với các dạng vi mạch bán dẫn lập trình được dung cấu trúc mảng phần tử logic như PLA, PAL, CPLD thì FPGA ưu việt hơn các điểm: tác vụ lập trình của FPGA đơn giản hơn; khả năng lập trình linh động hơn; và khác biệt quan trọng nhất là kiến trúc của FPGA cho phép nó có khả năng chứa khối lượng lớn công logic (logic gate), so với các vi mạch bán dẫn lập trình được có trước đó. Thiết kế hay lập trình cho FPGA được thực hiện chủ yếu bằng các ngôn ngữ mô tả phần cứng HDL như VHDL, Verilog, AHDL.

Các hang sản xuất FPGA lớn như Xilinx, Altera thường cung cấp các gói phần mềm và thiết bị phụ trợ cho quá trình thiết kế. Ngoài ra cũng có một số hãng thứ ba cung cấp các gói phần mềm kiểu này như Synopsys, Synplify. Các gói phần mềm này có khả năng thực hiện tất cả các bước của toàn bộ quy trình thiết kế IC chuẩn với đầu vào là mã thiết kế trên HDL (còn gọi là mã RTL). Kiến trúc tổng quát Kiến trúc cơ bản của FPGA gồm 3 thành phan chính sau: Khối I/O (hay gọi là các pin FPGA), khối kết nối (Interconnection), các khối logic cau hình (Logic Blocks hoặc Configurable Logic Blocks - CLB).

Các khối CLB được tổ chức sắp xếp theo mảng với 2 hướng dọc và ngang như Hình 2. Programmable I/O Blocks Blocks Programmable Interconnections L] L] | | [ L] [| Hình 2.1: Kiến trúc cơ bản của FPGA Khối CLB: thực thi các chức năng logic, cung cấp các tính toán và phan tử nhớ cơ bản được sử dụng trong hệ thống số. CLBs là phần tử cơ bản cấu thành FPGA, là nguồn tài nguyên logic chính tạo nên các mach logic đồng bộ lẫn không đồng bộ. Một CLB cơ bản gồm một mạch tổ hợp có thể lập trình (còn gọi là LUT), một Flip-Flop hoặc một chốt (latch).

Kêt qua của hàm này tùy vào mục đích mà gửi ra ngoài khôi 10 logic trực tiếp hay thông qua phần tử nhớ flip-flop. Ngoài khối logic cơ bản đó, nhiều chip FPGA hiện nay còn có một hỗn hợp các khối khác nhau, một số trong đó chỉ được dùng cho các chức năng cụ thể, chắng hạn như các khối bộ nhớ chuyên dụng, các bộ nhân (multipliers) hoặc các bộ ghép kênh (multiplexers). Tat nhiên, cấu hình bộ nhớ được sử dụng trên tất cả các khối logic được dùng dé điều khiển các chức năng cụ thé của mỗi phân tử bên trong khối đó. Khối kết nối (Interconnections): dùng dé liên kết các khối logic và I/O lại với nhau dé tạo thành một thiết kế hoàn chỉnh.

Mạng liên kết trong FPGA được cau thành từ các đường kết nối theo hai phương ngang va đứng. Tùy theo từng loại FPGA mà các đường kết nối được chia thành các nhóm khác nhau. Các đường kết nối được nối với nhau thông qua các khối chuyển mạch lập trình được (programmable switch). Trong mỗi khối chuyển mạch chứa một số lượng nút chuyển lập trình được đảm bảo cho các dạng liên kết phức tạp khác nhau.

Khối I/O: cung cấp giao tiếp giữa các khối logic và kiến trúc định tuyến đến các thành phần bên ngoài. Một trong những vấn đề quan trọng nhất trong thiết kế kiến trúc I/O là việc lựa chọn các tiêu chuẩn điện ap cung cấp và điện áp tham chiếu sẽ được hỗ trợ. Số lượng Pin (I/O) của FPGA tương đối lớn, thường được chia ra làm 2 loại: User Pin (chân người dùng), Dedicated Pin (chân chuyên dụng). User Pin: người dùng có thé lập trình như đầu vào, đầu ra hoặc cả đầu vào — ra.

Mỗi pin được kết nối với một “I/O Cell” bên trong FPGA, được cấp bởi các chân Vcc I/O (I/O power pin). Dedicated Pin: được mã hóa cứng với một chức năng cụ thê như: e Power Pin © Configuration Pin: các pin dé câu hình FPGA. e Dedicated Input hay Clock Pin: điều khiển mạng lưới clock trong FPGA. e Voltage IO: cấp nguồn cho các công logic va flip-flops bên trong FPGA Theo thời gian, các kiến tric FPGA co ban đã được phát triển nhiều hơn thông qua việc bố sung các khối chức năng đặc biệt có thé lập trình như bộ nhớ Block RAMs, logic sỐ học (ALU), bộ nhân, DSP-48 và thậm chí là bộ vi xử lý 11 nhúng được thêm vào do nhu cầu của các nguồn tài nguyên cho một ứng dụng.

Kết quả là nhiều FPGA ngày nay có nhiều nguồn tài nguyên hơn so với các FPGA trước đó. Hệ thống nhúng 2. Định nghĩa Hệ thống nhúng có tên tiếng Anh là embedded system. Đây là một thuật nghữ để nói về một hệ thống có khả năng tự trị được nhúng vào trong một môi trường hoặc hệ thống mẹ.

Đây là hệ thống tích hợp giữa phần cứng và phần mềm dé giải đáp được các bài toán chuyên dụng trong công nghiệp, tự động hóa, truyền tin,. Hệ thống nhúng có hoạt động ôn định và tính tự động hóa cao, thường được thiết kế với chức năng riêng biệt. Một hệ thong chỉ được thực hiện một hoặc một vài chức năng có định mà các thiết bị yêu cầu, không thê hoạt động đa năng. Chúng có thé tối ưu hóa về kích thước và chi phí sản xuất.

Vì thé, các hệ thống nhúng thường được tích hợp trong rất nhiều thiết bị từ đơn giản đến phức tạp.2 mô tả mô hình co bản của một hệ thong nhúng. User Interface Embedded Computer Input Variables Software >| Output Variables Hardware Link to Other Systems Hình 2.2: Mô hình cơ ban của một hệ thống nhúng 12 2. Phần mềm của một hệ thống nhúng Phần mềm được viết cho hệ thống nhúng được gọi là phần mềm nhúng hay firmware. Phan mềm nhúng là một chương trình được viết, biên dịch trên máy tính và nạp vào một hệ thong khác bao gom một hoặc nhiều bộ vi xử ly đã được cài đặt sẵn một hệ điều hành, bộ nhớ ghi chép được, các công giao tiếp được với các phần cứng khác.

Phần mềm nhúng là phần mềm tạo nên phan hôn, phan trí tuệ của các sản pham nhúng. Phần mềm nhúng ngày càng có giá trị cao trong các sản phẩm nhúng. Phần cứng của một hệ thống nhúng Hệ thống nhúng sử dụng nền tang phần cứng dé thực thi các hoạt động. Phan cứng của hệ thống nhúng được lắp ráp cùng với bộ vi xử ly/vi điều khiển.

Hệ thống phần cứng nay bao gồm các yếu tố như giao điện cho các dữ liệu đầu vào/đầu ra, bộ nhớ, giao diện người dùng và bộ hiển thị dữ liệu. Về cơ bản, một hệ thống nhúng thường bao gồm: e Bộ cung cấp năng lượng e Bộnhớ e Bộ xử lý e Timers e Đầu ra/ bảng mach đầu ra © Cổng giao tiếp nối tiếp e SASC (System application specific circuits — Các mach ứng dụng cho một hệ thống cu thé nao đó) 13 Input devices Interfacing] DriverCircuits _—————— _ Hình 2.3: Phan cứng của một hệ thống nhúng 2. Đặc điểm của một hệ thống nhúng Hệ thống nhúng được thiết kế để thực hiện một chức năng chuyên biệt nào đó. Đây là điểm khác biệt so với các hệ thống máy tính khác như máy tính cá nhân hoặc các siêu máy tính có thể thực hiện nhiều chức năng khác nhau với những phép tính phức tạp.

Tính chuyên dụng của hệ thống nhúng giúp nâng cao khả năng sử dụng và tiết kiệm tài nguyên cho hệ thống. Tất cả các hệ thống máy tính đều có những hạn chế về các số liệu thiết kế, tài nguyên. Số liệu thiết kế là thước đo dé đánh giá việc xây dựng các tinh năng như độ lớn, công suất, chi phí và cả hiệu năng hoạt động của hệ thống.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ