课程名称:高性能智能计算实验
1.摘要
本实验的主要工作是对近似最近邻算法——HNSW算法进行了一定的修改,使其能够在Intel DevCloud平台上执行,并利用了其OneAPI平台特性的优秀性能,对不同规模大小的输入数据进行了测试并对比实验结果。
HNSW(Hierarchical Navigable Small World)是一种用于近似最近邻搜索的算法,适用于高维度数据的快速搜索。它基于构建一个多层次的图结构,其中每个节点代表数据集中的一个数据点。该算法通过建立具有随机连接的高维空间的图,并保持每个节点与一组“近邻”节点相连来工作。这种“近邻”连接的不规则性使得HNSW能够在高维度空间中进行高效的最近邻搜索,而无需在整个数据集上执行昂贵的线性搜索。
HNSW的执行过程包括图的构建和搜索两部分,其中搜索部分对于并行执行有着比较好的适应性——指的是对多个不同询问的并行,而非一个询问执行内部的并行。就算法原理来说,单一询问几乎没有并行执行的空间,其中的主要执行接近于单线程的搜索算法。对于构建的部分,使用并行执行会有很大的优化空间,因为这个算法的主要时间开销还是在图构建部分,但是作为多线程算法,必须妥善管理数据竞争和并发问题来实现高效的并行的同时保证结果的正确。
2.运行环境
本实验全部在Intel DevCloud平台上执行,使用了cpu、gpu两种节点进行执行,主要配置如下: GPU节点:
-
cpu:i9-11900kb
-
ram:32GB
-
gpu:HD graphics P630
CPU节点:
-
cpu:xeon e-2176g
-
ra