Altifigence Academy

13 / 20 · Khái niệm

Chia khối và đệm biên

Ánh xạ ma trận lớn lên lưới nhỏ và xử lý đệm 0 cùng mặt nạ đầu ra.

Chia khối không gian đầu ra trước

Lưới N×N xử lý kết quả M×P lớn hơn bằng ceil(M/N)×ceil(P/N) khối không gian. Thiết kế cơ sở giữ toàn bộ phép rút gọn K trong mỗi khối và xóa giữa các khối đầu ra. Lớp bao lưu gốc khối r0,c0; PE(i,j) cục bộ ánh xạ tới C(r0+i,c0+j) toàn cục. Độ lệch phụ thuộc tọa độ cục bộ.

Lấy N=2 và M=P=K=3. Cho A=[[1,2,3],[4,5,6],[7,8,9]] và B=[[1,0,2],[0,1,0],[2,0,1]]. Tích là [[7,2,5],[16,5,14],[25,8,23]]. Bốn gốc khối là (0,0), (0,2), (2,0) và (2,2).

Đệm toán hạng, che phép lưu

Cấp các hàng A và cột B ngoài phạm vi dưới dạng token 0 hợp lệ. Mỗi PE vẫn nhận K số hạng, giữ quy ước hoàn thành đơn giản. Nếu làm các số hạng đệm không hợp lệ, một số count có thể mãi thấp hơn K. Che riêng việc lưu kết quả để tránh ghi ngoài ma trận thực.

Khối cuối dùng A=[[7,8,9],[0,0,0]] và B=[[2,0],[0,0],[1,0]]. Kết quả cục bộ là [[23,0],[0,0]], nhưng chỉ giá trị trên trái được ghi vào C(2,2). Số 0 không làm địa chỉ ngoài phạm vi trở nên an toàn.

Mỗi khối dùng năm cạnh advance, tổng hai mươi cho bốn khối tuần tự, không tính clear, nạp và truyền đầu ra. Lưới thực hiện bốn mươi tám MAC có đệm; chỉ hai mươi bảy thuộc phép nhân 3×3 thực.

Chia khối chiều rút gọn cần giữ tổng

Chia K cần kết hợp tổng riêng cho cùng đầu ra. C(0,0)=1×1+2×0+3×2=7 chia thành phần một và sáu với K=2+1. Xóa bộ tích lũy cuối giữa các phép rút gọn chỉ để lại sáu. Giữ bộ tích lũy hoặc kết hợp tổng riêng rộng ở nơi khác. Lượng tử hóa từng phần trước khi kết hợp có thể khác lượng tử hóa toàn bộ tổng một lần.

Dự án tổng kết bắt đầu với chia khối không gian và toàn bộ K. Kiểm tra biên một phần tử, kích thước chia hết cho N, khối cuối chỉ có một đầu ra thực, các số 0 đệm hợp lệ và mặt nạ đầu ra. Dùng tọa độ toàn cục làm khóa bảng theo dõi tham chiếu để đổi thứ tự khối không đổi kết quả kỳ vọng.

Tự thử

Với khối (0,2) trong ví dụ 3×3, nêu mặt nạ đầu ra và kết quả cục bộ. Tổng riêng C(0,2) là gì khi K chia thành 2+1?

Đọc giải thích

Kết quả cục bộ là [[5,0],[14,0]], mặt nạ [[1,0],[1,0]]. C(0,2)=1×2+2×0+3×1 có tổng riêng hai và ba, tổng cộng năm.

Lựa chọn áp dụng cho trình duyệt này. Có thể đổi ở chân trang bất cứ lúc nào.