Алгоритм параллельной агрегации данных для визуализации данных о вербальном…
11
Исследовались четыре типа данных объемами: 1 байт (тип
byte
),
2 байта (тип
short
), 4 байта (тип
int
), 4 байта (тип
float
) (табл. 2). Для
каждого типа данных оценивалась пропускная способность процес-
сора по следующей формуле:
C
=
N
sizeof
(
T
)/
T
reduce
,
(11)
где
sizeof
(
T) —
размер типа входных данных
T
в байтах;
T
reduce
—
время работы алгоритма, с. Данные пиковых (максимальных) значе-
ний для
C
представлены в табл. 2.
В случае базового алгоритма дерева редукций максимальное ко-
личество отсчетов входных данных
N
max
, возможных для визуализа-
ции, вычисляется по формуле
max
·
,
N GridSize BlockSize
(12)
где
GridSize
— максимальный размер сетки блоков (количество по-
токов в сетке);
BlockSize
— максимальный
размер блока потоков (ко-
личество потоков в блоке).
В случае оптимизированного алгоритма дерева редукций данное
значение намного больше и удовлетворяет требованиям данной задачи:
max
/
, ( )
N GlobalMemSize sizeof T
(13)
где
GlobalMemSize
— максимальный
размер доступной глобальной
памяти
GPU
.
Таблица 2
Пиковая пропускная способность
C
max
, Гб/с
Алгоритм дерева редукций
базовый
оптимизированный
Тип данных
(размер, в
байтах)
byte
(1)
short
(2)
int
(4)
float
(4)
byte
(1)
short
(2)
int
(4)
float
(4)
N
max
для
G86
(
GF104
)
2
25
(2
26
)
2
29
(2
30
) 2
28
(2
29
)
2
27
(2
28
)
2
27
(2
28
)
CPU
0,14
0,29
0,57
0,38
0,14
0,29
0,57
0,38
G86
0,04
0,12
0,55
0,55
0,062
0,12
1,8
1,9
GF104
2,3
4,7
9,8
9,3
10,8
24,7
54,7
54