5 Kết luận và hướng phát triển
4.5 Quy ước đặt tên và đánh số các mức khác nhau của một HTA
ví dụ khác của HTA không đồng nhất, khi hai miếng lợp (1, 0) và (1, 1) có nhiều mức lợp hơn các miếng lợp khác.
4.1.2 Một số khái niệm liên quan đến cấu trúc dữ liệuHTA HTA
Hình 4.5 chỉ ra HTA trong dạng cây được gọi là Cây HTA. Gốc của cây HTA chỉ mức đỉnh của HTA, trong khi mức cuối của cây chỉ mức đáy của quá trình lợp (gọi là miếng lợp lá). Các số vô hướng cấu thành nên các lá của cây HTA.
Định nghĩa 4.1.5 Độ cao của một HTA là độ dài đường đi lớn nhất từ miếng lợp gốc tới lá trong cây HTA của nó.
Ví dụ, độ cao của HTA trong Hình 4.1(a) là một, trong khi HTA trong Hình 4.3 là hai. Với HTA không đồng nhất, số mức là độ cao cực đại của cây HTA. Do đó, độ cao của HTA trong Hình 4.4(b) cũng là hai. Từ nay trở đi, HTAh có độ cao l được kí hiệu là hl. Như quy ước, việc đánh số các mức từ gốc tới lá sẽ bắt đầu từ không. Do vậy, gốc của HTA là ở mức không, trong khi miếng lợp lá có mức bằng độ cao của cây. Để giải thích đơn giản, thêm
vào ba biến SCALAR_LEVEL, LEAF_LEVEL và ROOT_LEVEL để chỉ mức của số vô hướng, lá và gốc tương ứng.
Định nghĩa 4.1.6 Một thành phần của HTA được gọi là một phần tử. Một phần tử của HTA hl là một HTA rl−1 hoặc một mảng các số vô hướng hoặc một số vô hướng.
Bốn thuật ngữ sau không liên quan tới HTA nhưng được dùng trong việc xây dựng HTA: tuple, range, region và dist.
Một tuple là một chỉ số n chiều giá trị thuộc Zn. Nó được biểu diễn bởi
i0, i1, . . . , in−1.
rangelà phạm vi số nguyên trong khoảng đóng [low, high], với step (không bắt buộc có). Phạm vi được biểu diễn là low : high[:step].
region là một không gian chỉ số chữ nhật n chiều sinh bởi n range. Một
region n chiều được chỉ ra bởi một danh sách n range phân cách bởi dấu phảy (ví dụ 1 : 4 : 1, 1 : 8 : 1). Kích thước của một region được cho bởi một n-tuple (d0,d1, . . . , dn−1), trong đó mỗi di là một số các phần tử trong range
thứ i. Một region kích thước (d0,d1, . . . , dn−1) có d0×d1 ×. . .×dn−1 điểm chỉ số:{(i0, i1, dotsc, in−1),∀i0 = 0, . . . , d0−1,∀i1 = 0, . . . , d1˘1, . . . ,∀in−1 = 0, . . . , dn−1˘1}. Để đơn giản, tập các điểm chỉ số được tham chiếu như là
index space. Ví dụ, vùng 1 : 4 : 2, 1 : 4 : 2, có index space, (1, 1), (1, 3), (3, 1), (3, 3).
Tổng số phần tử trong một region là lực lượng của nó. Ví dụ, lực lượng của vùng (1 : 4, 1 : 4) là 16. Gọi kích thước và chiều củaregion cùng với nhau làshape của nó.shape có thể được xem là cấu trúc logic với hai giá trị, chiều và kích thước. Ví dụ, shape của 1 : 4 :2, 1 : 8 : 2 là 2, [2, 4].
dist của kiểu dist – type, là một hàm ánh xạ mỗi điểm chỉ số của một
region tới các bộ vi xử lí khác nhau. dist được chỉ ra bởi một mảng n chiều. Giá trị của dist ở vị trí (i0, i1, . . . , in−1) tương ứng với số bộ vi xử lí mà vị trí chỉ số (i0, i1, . . . , in−1) của region ánh xạ tới. Giá trị được tính theo dist –
Hình 4.6: Minh họa (a) tuple, range,region và (b) dist
type. Ví dụ của dist – typelà row – cyclic, column – cyclic và double – cyclic. Để đơn giản, một số rút gọn cú pháp được sử dụng. Miền mở (:) tham chiếu đến toàn bộ miền của một mảng. Miền mở bản thân không mang giá trị, nhưng khi dùng trong ngữ cảnh của một mảng hay HTA (ví dụ như
a[:]), chúng tham chiếu đến toàn bộ miền sinh bởi các chiều tương ứng của mảng. Đó là, a[:] là một rút ngọn cú pháp cho a[lb0 : ub0 : 1]. : có thể được dùng trong nhiều vị trí của phép truy cập mảng. Ví dụ,a[:,:]tham chiếu tới
a[lb0 : ub0, lb1 : ub1], trong đó lbi và ubi là bao dưới và bao trên của chiều
i. Giả thiết là phép đánh địa chỉ lấy gốc là 0 cho tất cả các phần tử trong một mảng hay một HTA. Hình 4.6 minh họa 4 đối tượng một cách hình ảnh. Trong Hình 4.6 (a), region là một không gian sinh bởi khoảng (0 : 3,0 : 2). Do đó, region là một miền 2 chiều có kích thước (4,3). Mỗi điểm trong miền được đánh số theo thứ tự từ điển bắt đầu với góc trái trên và đi theo thứ tự ưu tiên hàng. region được phân tán sử dụng phép phân tánrow – cyclic trên 12 vi xử lí. Sự phân tán kết quả được chỉ ra trong Hình 4.6(b).
Định nghĩa 4.1.7 Hạng của một HTA hay một mảng là số chiều của region