文件名称:matlab清除所有命令代码-pq-fast-scan:PQ快速扫描
文件大小:38KB
文件格式:ZIP
更新时间:2024-06-14 23:37:38
系统开源
matlab清除所有命令代码PQ快速扫描 描述 PQ快速扫描项目是快速矢量扫描技术的C ++ 11实现,用于在高维矢量的大型数据库中进行最近邻居搜索。 PQ快速扫描建立在产品量化(PQ)的基础上,产品量化是最近邻搜索的一种广泛使用的解决方案。 为了找到查询向量的最近邻居,PQ使用存储在L1缓存中的查找表计算查询向量与数据库向量之间的距离。 此过程称为PQ Scan ,执行许多高速缓存访问,这限制了其性能。 L1缓存访问不能很好地并行化(最多2个并发访问),并且具有高延迟(大约4个周期)。 为避免这些问题, PQ快速扫描使用存储在SIMD寄存器中的查找表,可以并行查询(16个并发访问)并且具有低延迟(1个周期)。 这种新颖的方法可使PQ快速扫描执行的速度比PQ扫描快4-6倍,同时返回完全相同的结果。 接触: 尼古拉斯·勒·索阿奈茨(Nicolas Le Souarnec):nicolas.le-scouarnec technicolor.com FabienAndré:fabien.andre technicolor.com 请用at符号代替空格。 出版物 F.Andre,A.-M。
【文件预览】:
pq-fast-scan-master
----binheap.hpp(979B)
----perfevents.hpp(666B)
----perfevents.cpp(3KB)
----config.h.in(150B)
----LICENSE(2KB)
----binheap.cpp(1KB)
----common.cpp(1KB)
----benchmark.cpp(4KB)
----CMakeLists.txt(2KB)
----common.hpp(2KB)
----README.md(11KB)
----pqscan()
--------scan_sse.cpp(2KB)
--------scan_sse.hpp(509B)
--------scan_gather.hpp(603B)
--------pqscan.cpp(2KB)
--------scan_naive.hpp(505B)
--------scan_avx.hpp(512B)
--------scan_naive.cpp(966B)
--------scan_avx.cpp(3KB)
--------scan_gather.cpp(3KB)
--------populate.cpp(3KB)
--------populate.hpp(1KB)
----pqfastscan()
--------pqfastscan.cpp(12KB)
--------layout.hpp(6KB)
--------fastscan.hpp(559B)
--------fastscan.cpp(15KB)
--------layout.cpp(16KB)
----benchmark.hpp(4KB)