基于排列索引的多核(CPU和GPU)技术
1. 排列索引算法
排列索引算法的输入为大小为N的数据集D、大小为n的参考集R以及小于等于n的˜n,输出为所有对象oi对应的修剪后的有序列表˜L(oi, R)。其具体步骤如下:
Algorithm 1 (Permutation-Based Indexing)
IN: D of size N, R of n and ˜n ≤n
OUT: ˜L(oi, R)∀i = 1, . . . , N −1
1. For oi ∈D
2. For rj ∈R
3. b[j].dis = d(oi, rj)
4. b[j].indx = j
5. L(oi, R) = quicksort(b, n)
6. ˜L(oi, R) = partiallist(L(oi, R), ˜n)
7. Store the ID i of oi and its ˜L(oi, R) for other processing.
该算法的主要流程为:
1. 遍历数据集中的每个对象oi。
2. 对于每个对象oi,计算其到参考集中每个参考点rj的距离,并记录距离和参考点的索引。
3. 对距离数组进行快速排序,得到有序列表L(oi, R)。
4. 从有序列表中选取前˜n个元素,得到修剪后的有序列表˜L(oi, R)。
5. 存储对象oi的ID和其修剪后的有序列表˜L(oi, R),以便后续处理。
2. GPU架构
GPU架构遵循单指令多线程(S
超级会员免费看
订阅专栏 解锁全文
1907

被折叠的 条评论
为什么被折叠?



