9 / 20 · Khái niệm
Luồng dữ liệu giữ đầu ra tại chỗ và các loại khác
So sánh lưu trữ và truyền bằng cách xác định giá trị ở lại trong PE.
Bài học miễn phí. Đăng ký để lưu tiến độ học tập.
Xác định giá trị nào được giữ cục bộ
Mảng systolic thực hiện công việc song song trong khi toán hạng di chuyển qua các phần tử xử lý lân cận. “Giữ tại chỗ” mô tả một giá trị được giữ gần đó để tái sử dụng trong phép tính. Lựa chọn khác nhau thay đổi thanh ghi PE, đường tổng riêng và lịch biên ngay cả khi phép toán toán học giống hệt.
Trong thiết kế giữ đầu ra tại chỗ của khóa học, PE(i,j) giữ tổng riêng cho C(i,j). A và B di chuyển khi k tiến. Sau khi đủ K số hạng đến, kết quả được thu; clear bắt đầu khối đầu ra mới. Giá trị A được tái sử dụng ngang một hàng, giá trị B dọc một cột. Trong ví dụ 2×2, A(0,0)=1 đóng góp cho cả C(0,0) và C(0,1).
Thiết kế giữ trọng số tại chỗ nạp trước trọng số như B vào PE rồi tái sử dụng qua các kích hoạt đi vào. Tổng riêng phải di chuyển hoặc được thu ở nơi khác. Đổi tên cổng không biến bộ điều khiển OS thành WS: giá trị được lưu, trình tự nạp trước và đường kết quả đều đổi. Thiết kế giữ đầu vào tại chỗ giữ kích hoạt để tái sử dụng qua trọng số hoặc phép tính đầu ra. Ta so sánh ý tưởng đó mà không triển khai mảng IS ở đây.
| Luồng dữ liệu | Giá trị được giữ | Chi phí cần xem xét |
|---|---|---|
| OS | Tổng riêng đầu ra | Bộ tích lũy rộng và thu kết quả |
| WS | Trọng số | Nạp trước và truyền/lưu tổng riêng |
| IS | Kích hoạt | Cấp trọng số và kết hợp tổng đầu ra |
Tách ba phép đo lưu lượng
Xét hai phép nhân 2×2 dùng cùng B. Mô hình biên OS của chúng ta cấp bốn giá trị A và bốn B mỗi công việc: mười sáu giá trị toán hạng qua hai công việc. Bộ đệm B cục bộ có thể tránh đọc lại B từ bộ nhớ ngoài cho công việc thứ hai, trong khi vẫn cấp bốn token biên của nó. Tái sử dụng trọng số nạp trước đưa ra đánh đổi khác và cần đường tổng riêng khác.
Đọc bên ngoài, đưa vào biên và truyền PE sang PE là các phép đo riêng. README Gemmini của UC Berkeley cung cấp ví dụ từ nguồn gốc về luồng OS và WS cấu hình được. Mảng học tập của chúng ta có quy ước riêng và không tái tạo triển khai hay giao diện lệnh của Gemmini.
Khi đánh giá thiết kế, xác định thứ ở lại cục bộ, nơi tích lũy tổng và giá trị vượt từng ranh giới. Chỉ tái sử dụng không bảo đảm đủ cổng bộ nhớ hoặc thông lượng duy trì.
Tự thử
Hai công việc 2×2 dùng chung B được giữ trong bộ đệm cục bộ. A không được tái sử dụng. Cần bao nhiêu lần đọc toán hạng ngoài và đưa vào biên OS?
Đọc giải thích
Tổng đọc ngoài là 12 giá trị: hai ma trận A mỗi ma trận bốn cộng một ma trận B bốn. Tổng đưa vào biên là 16 giá trị: bốn A cộng bốn B mỗi công việc. Không tính ghi kết quả và chuyển tiếp nội bộ.