美文网首页
Faiss通过程序加载数据到不同的显存

Faiss通过程序加载数据到不同的显存

作者: DebugWorld | 来源:发表于2020-06-15 15:23 被阅读0次
import faiss
import numpy as np


# 注意在启动命令里不能配置 CUDA_VISIBLE_DEVICES 
def cpu_index_to_gpu(gpu):
    ngpu = faiss.get_num_gpus()
    assert gpu < ngpu
    res = faiss.StandardGpuResources()                                  # use a single GPU
    index_flat = faiss.IndexFlatL2(32)                                  # 创建一个cpu版的Flat索引
    gpu_index_flat = faiss.index_cpu_to_gpu(res, gpu, index_flat)       # 将cpu版的索引转换成gpu版  第二个参数用于指定使用那块GPU设备
    return gpu_index_flat


# 通过  nvidia-smi 命令查看显存情况
# 加载到显存0
ins_meta = np.load('xxx0.npy')
ins_index_flat = cpu_index_to_gpu(0)
ins_index_flat.add(ins_meta)


# 加载到显存1
web_meta = np.load('xxx1.npy')
web_index_flat = cpu_index_to_gpu(1)
web_index_flat.add(web_meta)

相关文章

  • Faiss通过程序加载数据到不同的显存

  • 2018-10-28

    GPU与CPU中间的通信即应用阶段。 分为以下三个步骤: 1.把数据加载到显存(数据从硬盘到内存再到显存,显卡对内...

  • 使用JDBC链接数据库

    (包含7个步骤) 1.加载jdbc加载程序 在链接数据库之前,先加载链接数据库的驱动程序到JVM通过java.la...

  • RE:通过移动端滑动手势实现数据加载

    背景: 基于要尝试的移动端项目需要有一个通过上拉下滑手势达成加载不同数据的功能,其涉及到滑动手势和ajax数据加载...

  • 渲染流水

    Gpu 流水线 顶点数据为输入,顶点数据是由应用阶段加载到显存中,再由Draw Call指定的。这些数据随后被传递...

  • 【Unity Shader入门精要学习】渲染流程

    一、固定管线渲染流程 1、应用阶段(CPU) 视椎体裁剪——>数据加载到显存——>设置渲染状态——>调用Draw ...

  • 内存简析(上)

    程序在运行需要将数据加载到内存中,然后通过CPU进行内存数据的读写完成数据的运算。 内存浅析: 软件程序在程序中的...

  • Dubbo之SPI源码分析

    1.Dubbo SPI介绍 Dubbo的扩展点加载机制,用于在程序运行时,通过参数的不同,加载同一接口的不同实现。...

  • faiss 学习笔记(一) | 三种基础索引方式学习

    前言 不同的索引方式是faiss的核心内容, 他们以不同的方式构建,基于不同的算法与数据结构. 选择合适的inde...

  • 管线绘制

    概念流水线 应用阶段 把数据加载到显存:把顶点、纹理、法线等数据准备好。 设置渲染状态:使用哪些着色器、光源属性、...

网友评论

      本文标题:Faiss通过程序加载数据到不同的显存

      本文链接:https://www.haomeiwen.com/subject/bjthxktx.html