我使用的是支持 GPU 的 Milvus。但为什么在我看来搜索有时比纯 CPU Milvus 慢?

问题描述 投票:0回答:4

我使用的是支持 GPU 的 Milvus。但为什么在我看来搜索有时比纯 CPU Milvus 慢?有没有专门针对支持 GPU 的 Milvus 的具体设置?

search gpu config cpu milvus
4个回答
0
投票

您的数据集计数如何?

GPU 性能优于 CPU 通常发生在数据集数量较大的情况下。


0
投票

这取决于查询数量(nq)。在搜索之前,Milvus 需要将数据集加载到其 GPU 中,这需要大量时间。当 nq 增加到某个值时,更快的搜索时间可以补偿加载时间,gpu 变得比 cpu 更快。


0
投票

从docker中提取milvus gpu可执行文件

下载 Milvus GPU

wget https://ymu.dl.osdn.jp/datasets/75612/milvus-gpu-1.1.0.tar
or
wget https://ymu.dl.osdn.jp/datasets/75612/milvus-gpu-1.1.1.tar
tar -xzvf milvus-gpu-1.1.0.tar
or
tar -xzvf milvus-gpu-1.1.1.tar

安装并启动 Milvus GPU

apt-get update
apt-get install mysql-server
wget https://launchpadlibrarian.net/212189159/libmysqlclient18_5.6.25-0ubuntu1_amd64.deb
wget http://launchpadlibrarian.net/212189147/libmysqlclient-dev_5.6.25-0ubuntu1_amd64.deb
dpkg -i libmysqlclient-dev_5.6.25-0ubuntu1_amd64.deb libmysqlclient18_5.6.25-0ubuntu1_amd64.deb
apt-get install libopenblas-dev
chmod +x /var/lib/milvus/bin/milvus_server
./var/lib/milvus/bin/milvus_server -c ./var/lib/milvus/conf/server_config.yaml

你好米尔维斯

pip install pymilvus==1.1.0
pip install grpcio==1.37.0
pip install grpcio-tools==1.37.0
wget https://raw.githubusercontent.com/milvus-io/pymilvus/v1.1.0/examples/example.py
or
wget https://raw.githubusercontent.com/milvus-io/pymilvus/v1.1.1/examples/example.py
python example.py

中文参考:矩池云上安装及使用Milvus教程


0
投票

在百万级数据集上CPU和GPU之间的搜索速度没有差异GPU有两个额外的步骤:

  1. 目标向量从CPU内存复制到GPU内存

  2. 结果从 GPU 内存复制到 CPU 内存

“在 CPU 内存和 GPU 内存之间传输数据会产生额外的时间成本。

使用 GPU 进行搜索的主要好处是,由于其强大的并行计算能力,能够有效处理大型 NQ 搜索。

对于较小的数据集和 NQ 搜索,CPU 索引和 GPU 索引之间没有太大区别。”

© www.soinside.com 2019 - 2024. All rights reserved.