Commit a67190c6 authored by matthijs's avatar matthijs

added benchmarking scripts

parent 8895c35e
This diff is collapsed.
# Copyright (c) 2015-present, Facebook, Inc.
# All rights reserved.
#
# This source code is licensed under the CC-by-NC license found in the
# LICENSE file in the root directory of this source tree.
#!/usr/bin/env python2
import os
import time
import numpy as np
import pdb
import faiss
#################################################################
# I/O functions
#################################################################
def ivecs_read(fname):
a = np.fromfile(fname, dtype='int32')
d = a[0]
return a.reshape(-1, d + 1)[:, 1:].copy()
def fvecs_read(fname):
return ivecs_read(fname).view('float32')
#################################################################
# Main program
#################################################################
print "load data"
xt = fvecs_read("sift1M/sift_learn.fvecs")
xb = fvecs_read("sift1M/sift_base.fvecs")
xq = fvecs_read("sift1M/sift_query.fvecs")
nq, d = xq.shape
print "load GT"
gt = ivecs_read("sift1M/sift_groundtruth.ivecs")
# we need only a StandardGpuResources per GPU
res = faiss.StandardGpuResources()
#################################################################
# Exact search experiment
#################################################################
print "============ Exact search"
index = faiss.GpuIndexFlatL2(res, 0, d, False)
print "add vectors to index"
index.add(xb)
print "warmup"
index.search(xq, 123)
print "benchmark"
for lk in range(11):
k = 1 << lk
t0 = time.time()
D, I = index.search(xq, k)
t1 = time.time()
# the recall should be 1 at all times
recall_at_1 = (I[:, :1] == gt[:, :1]).sum() / float(nq)
print "k=%d %.3f s, R@1 %.4f" % (
k, t1 - t0, recall_at_1)
#################################################################
# Approximate search experiment
#################################################################
print "============ Approximate search"
index = faiss.index_factory(d, "IVF4096,PQ64")
# faster, uses more memory
# index = faiss.index_factory(d, "IVF16384,Flat")
co = faiss.GpuClonerOptions()
# here we are using a 64-byte PQ, so we must set the lookup tables to
# 16 bit float (this is due to the limited temporary memory).
co.useFloat16 = True
index = faiss.index_cpu_to_gpu(res, 0, index, co)
print "train"
index.train(xt)
print "add vectors to index"
index.add(xb)
print "warmup"
index.search(xq, 123)
print "benchmark"
for lnprobe in range(10):
nprobe = 1 << lnprobe
index.setNumProbes(nprobe)
t0 = time.time()
D, I = index.search(xq, 100)
t1 = time.time()
print "nprobe=%4d %.3f s recalls=" % (nprobe, t1 - t0),
for rank in 1, 10, 100:
n_ok = (I[:, :rank] == gt[:, :1]).sum()
print "%.4f" % (n_ok / float(nq)),
print
# Copyright (c) 2015-present, Facebook, Inc.
# All rights reserved.
#
# This source code is licensed under the CC-by-NC license found in the
# LICENSE file in the root directory of this source tree.
#!/usr/bin/env python2
import os
import sys
import time
import numpy as np
import re
import faiss
from multiprocessing.dummy import Pool as ThreadPool
#################################################################
# I/O functions
#################################################################
def ivecs_read(fname):
a = np.fromfile(fname, dtype='int32')
d = a[0]
return a.reshape(-1, d + 1)[:, 1:].copy()
def fvecs_read(fname):
return ivecs_read(fname).view('float32')
# we mem-map the biggest files to avoid having them in memory all at
# once
def mmap_fvecs(fname):
x = np.memmap(fname, dtype='int32', mode='r')
d = x[0]
return x.view('float32').reshape(-1, d + 1)[:, 1:]
def mmap_bvecs(fname):
x = np.memmap(fname, dtype='uint8', mode='r')
d = x[:4].view('int32')[0]
return x.reshape(-1, d + 4)[:, 4:]
#################################################################
# Bookkeeping
#################################################################
dbname = sys.argv[1]
index_key = sys.argv[2]
parametersets = sys.argv[3:]
tmpdir = '/tmp/bench_polysemous'
if not os.path.isdir(tmpdir):
print "%s does not exist, creating it" % tmpdir
os.mkdir(tmpdir)
#################################################################
# Prepare dataset
#################################################################
print "Preparing dataset", dbname
if dbname.startswith('SIFT'):
# SIFT1M to SIFT1000M
dbsize = int(dbname[4:-1])
xb = mmap_bvecs('bigann/bigann_base.bvecs')
xq = mmap_bvecs('bigann/bigann_query.bvecs')
xt = mmap_bvecs('bigann/bigann_learn.bvecs')
# trim xb to correct size
xb = xb[:dbsize * 1000 * 1000]
gt = ivecs_read('bigann/gnd/idx_%dM.ivecs' % dbsize)
elif dbname == 'Deep1B':
xb = mmap_fvecs('deep1b/base.fvecs')
xq = mmap_fvecs('deep1b/deep1B_queries.fvecs')
xt = mmap_fvecs('deep1b/learn.fvecs')
# deep1B's train is is outrageously big
xt = xt[:10 * 1000 * 1000]
gt = ivecs_read('deep1b/deep1B_groundtruth.ivecs')
else:
print >> sys.stderr, 'unknown dataset', dbname
sys.exit(1)
print "sizes: B %s Q %s T %s gt %s" % (
xb.shape, xq.shape, xt.shape, gt.shape)
nq, d = xq.shape
nb, d = xb.shape
assert gt.shape[0] == nq
#################################################################
# Training
#################################################################
def choose_train_size(index_key):
# some training vectors for PQ and the PCA
n_train = 256 * 1000
if "IVF" in index_key:
matches = re.findall('IVF([0-9]+)', index_key)
ncentroids = int(matches[0])
n_train = max(n_train, 100 * ncentroids)
elif "IMI" in index_key:
matches = re.findall('IMI2x([0-9]+)', index_key)
nbit = int(matches[0])
n_train = max(n_train, 256 * (1 << nbit))
return n_train
def get_trained_index():
filename = "%s/%s_%s_trained.index" % (
tmpdir, dbname, index_key)
if not os.path.exists(filename):
index = faiss.index_factory(d, index_key)
n_train = choose_train_size(index_key)
xtsub = xt[:n_train]
print "Keeping %d train vectors" % xtsub.shape[0]
# make sure the data is actually in RAM and in float
xtsub = xtsub.astype('float32').copy()
index.verbose = True
t0 = time.time()
index.train(xtsub)
index.verbose = False
print "train done in %.3f s" % (time.time() - t0)
print "storing", filename
faiss.write_index(index, filename)
else:
print "loading", filename
index = faiss.read_index(filename)
return index
#################################################################
# Adding vectors to dataset
#################################################################
def rate_limited_imap(f, l):
'a thread pre-processes the next element'
pool = ThreadPool(1)
res = None
for i in l:
res_next = pool.apply_async(f, (i, ))
if res:
yield res.get()
res = res_next
yield res.get()
def matrix_slice_iterator(x, bs):
" iterate over the lines of x in blocks of size bs"
nb = x.shape[0]
block_ranges = [(i0, min(nb, i0 + bs))
for i0 in range(0, nb, bs)]
return rate_limited_imap(
lambda (i0, i1): x[i0:i1].astype('float32').copy(),
block_ranges)
def get_populated_index():
filename = "%s/%s_%s_populated.index" % (
tmpdir, dbname, index_key)
if not os.path.exists(filename):
index = get_trained_index()
i0 = 0
t0 = time.time()
for xs in matrix_slice_iterator(xb, 100000):
i1 = i0 + xs.shape[0]
print '\radd %d:%d, %.3f s' % (i0, i1, time.time() - t0),
sys.stdout.flush()
index.add(xs)
i0 = i1
print
print "Add done in %.3f s" % (time.time() - t0)
print "storing", filename
faiss.write_index(index, filename)
else:
print "loading", filename
index = faiss.read_index(filename)
return index
#################################################################
# Perform searches
#################################################################
index = get_populated_index()
ps = faiss.ParameterSpace()
ps.initialize(index)
# make sure queries are in RAM
xq = xq.astype('float32').copy()
# a static C++ object that collects statistics about searches
ivfpq_stats = faiss.cvar.indexIVFPQ_stats
if parametersets == ['autotune'] or parametersets == ['autotuneMT']:
if parametersets == ['autotune']:
faiss.omp_set_num_threads(1)
# setup the Criterion object: optimize for 1-R@1
crit = faiss.OneRecallAtRCriterion(nq, 1)
# by default, the criterion will request only 1 NN
crit.nnn = 100
crit.set_groundtruth(None, gt.astype('int64'))
# then we let Faiss find the optimal parameters by itself
print "exploring operating points"
t0 = time.time()
op = ps.explore(index, xq, crit)
print "Done in %.3f s, available OPs:" % (time.time() - t0)
# opv is a C++ vector, so it cannot be accessed like a Python array
opv = op.optimal_pts
print "%-40s 1-R@1 time" % "Parameters"
for i in range(opv.size()):
opt = opv.at(i)
print "%-40s %.4f %7.3f" % (opt.key, opt.perf, opt.t)
else:
# we do queries in a single thread
faiss.omp_set_num_threads(1)
print ' ' * len(parametersets[0]), '\t', 'R@1 R@10 R@100 time %pass'
for param in parametersets:
print param, '\t',
sys.stdout.flush()
ps.set_index_parameters(index, param)
t0 = time.time()
ivfpq_stats.reset()
D, I = index.search(xq, 100)
t1 = time.time()
for rank in 1, 10, 100:
n_ok = (I[:, :rank] == gt[:, :1]).sum()
print "%.4f" % (n_ok / float(nq)),
print "%8.3f " % ((t1 - t0) * 1000.0 / nq),
print "%5.2f" % (ivfpq_stats.n_hamming_pass * 100.0 / ivfpq_stats.ncode)
# Copyright (c) 2015-present, Facebook, Inc.
# All rights reserved.
#
# This source code is licensed under the CC-by-NC license found in the
# LICENSE file in the root directory of this source tree.
#!/usr/bin/env python2
import time
import numpy as np
import faiss
#################################################################
# Small I/O functions
#################################################################
def ivecs_read(fname):
a = np.fromfile(fname, dtype='int32')
d = a[0]
return a.reshape(-1, d + 1)[:, 1:].copy()
def fvecs_read(fname):
return ivecs_read(fname).view('float32')
#################################################################
# Main program
#################################################################
print "load data"
xt = fvecs_read("sift1M/sift_learn.fvecs")
xb = fvecs_read("sift1M/sift_base.fvecs")
xq = fvecs_read("sift1M/sift_query.fvecs")
nq, d = xq.shape
print "load GT"
gt = ivecs_read("sift1M/sift_groundtruth.ivecs")
# index with 16 subquantizers, 8 bit each
index = faiss.IndexPQ(d, 16, 8)
index.do_polysemous_training = True
index.verbose = True
print "train"
index.train(xt)
print "add vectors to index"
index.add(xb)
nt = 1
faiss.omp_set_num_threads(1)
def evaluate():
t0 = time.time()
D, I = index.search(xq, 1)
t1 = time.time()
recall_at_1 = (I == gt[:, :1]).sum() / float(nq)
print "\t %7.3f ms per query, R@1 %.4f" % (
(t1 - t0) * 1000.0 / nq * nt, recall_at_1)
print "PQ baseline",
index.search_type = faiss.IndexPQ.ST_PQ
evaluate()
for ht in 64, 62, 58, 54, 50, 46, 42, 38, 34, 30:
print "Polysemous", ht,
index.search_type = faiss.IndexPQ.ST_polysemous
index.polysemous_ht = ht
evaluate()
# Copyright (c) 2015-present, Facebook, Inc.
# All rights reserved.
#
# This source code is licensed under the CC-by-NC license found in the
# LICENSE file in the root directory of this source tree.
#! /usr/bin/env python2
import numpy as np
import time
import faiss
import sys
# Get command-line arguments
k = int(sys.argv[1])
ngpu = int(sys.argv[2])
# Load Leon's file format
def load_mnist(fname):
print "load", fname
f = open(fname)
header = np.fromfile(f, dtype='int8', count=4*4)
header = header.reshape(4, 4)[:, ::-1].copy().view('int32')
print header
nim, xd, yd = [int(x) for x in header[1:]]
data = np.fromfile(f, count=nim * xd * yd,
dtype='uint8')
print data.shape, nim, xd, yd
data = data.reshape(nim, xd, yd)
return data
x = load_mnist(basedir + 'mnist8m/mnist8m-patterns-idx3-ubyte')
print "reshape"
x = x.reshape(x.shape[0], -1).astype('float32')
def train_kmeans(x, k, ngpu):
"Runs kmeans on one or several GPUs"
d = x.shape[1]
clus = faiss.Clustering(d, k)
clus.verbose = True
clus.niter = 20
# otherwise the kmeans implementation sub-samples the training set
clus.max_points_per_centroid = 10000000
res = [faiss.StandardGpuResources() for i in range(ngpu)]
useFloat16 = False
if ngpu == 1:
index = faiss.GpuIndexFlatL2(res[0], 0, d, useFloat16)
else:
indexes = [faiss.GpuIndexFlatL2(res[i], i, d, useFloat16)
for i in range(ngpu)]
index = faiss.IndexProxy()
for sub_index in indexes:
index.addIndex(sub_index)
# perform the training
clus.train(x, index)
centroids = faiss.vector_float_to_array(clus.centroids)
obj = faiss.vector_float_to_array(clus.obj)
print "final objective: %.4g" % obj[-1]
return centroids.reshape(k, d)
print "run"
t0 = time.time()
train_kmeans(x, k, ngpu)
t1 = time.time()
print "total runtime: %.3f s" % (t1 - t0)
......@@ -900,13 +900,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="structfaiss_1_1ProductQuantizer_html_aa61330eadb84772b71018b093773a5f9"><div class="ttname"><a href="structfaiss_1_1ProductQuantizer.html#aa61330eadb84772b71018b093773a5f9">faiss::ProductQuantizer::code_size</a></div><div class="ttdeci">size_t code_size</div><div class="ttdoc">byte per indexed vector </div><div class="ttdef"><b>Definition:</b> <a href="ProductQuantizer_8h_source.html#l00035">ProductQuantizer.h:35</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIVFPQ_html"><div class="ttname"><a href="structfaiss_1_1IndexIVFPQ.html">faiss::IndexIVFPQ</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVFPQ_8h_source.html#l00030">IndexIVFPQ.h:30</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIVF_html_a9746bcd42ecec1501f221e918b25e8e7"><div class="ttname"><a href="structfaiss_1_1IndexIVF.html#a9746bcd42ecec1501f221e918b25e8e7">faiss::IndexIVF::cp</a></div><div class="ttdeci">ClusteringParameters cp</div><div class="ttdoc">to override default clustering params </div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00054">IndexIVF.h:54</a></div></div>
<div class="ttc" id="structfaiss_1_1ParameterSpace_html_af6dc3b9c5631b509cbae99bf0f24170b"><div class="ttname"><a href="structfaiss_1_1ParameterSpace.html#af6dc3b9c5631b509cbae99bf0f24170b">faiss::ParameterSpace::thread_over_batches</a></div><div class="ttdeci">bool thread_over_batches</div><div class="ttdoc">use multithreading over batches (useful to benchmark independent single-searches) ...</div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8h_source.html#l00149">AutoTune.h:149</a></div></div>
<div class="ttc" id="structfaiss_1_1ParameterSpace_html_af6dc3b9c5631b509cbae99bf0f24170b"><div class="ttname"><a href="structfaiss_1_1ParameterSpace.html#af6dc3b9c5631b509cbae99bf0f24170b">faiss::ParameterSpace::thread_over_batches</a></div><div class="ttdeci">bool thread_over_batches</div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8h_source.html#l00150">AutoTune.h:150</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIVF_html_aed2e9757ad5f3c234fd8ad60175a2a73"><div class="ttname"><a href="structfaiss_1_1IndexIVF.html#aed2e9757ad5f3c234fd8ad60175a2a73">faiss::IndexIVF::own_fields</a></div><div class="ttdeci">bool own_fields</div><div class="ttdoc">whether object owns the quantizer </div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00052">IndexIVF.h:52</a></div></div>
<div class="ttc" id="structfaiss_1_1OperatingPoints_html_a48f457047b0511ecc531f250ef8b19c3"><div class="ttname"><a href="structfaiss_1_1OperatingPoints.html#a48f457047b0511ecc531f250ef8b19c3">faiss::OperatingPoints::all_pts</a></div><div class="ttdeci">std::vector&lt; OperatingPoint &gt; all_pts</div><div class="ttdoc">all operating points </div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8h_source.html#l00096">AutoTune.h:96</a></div></div>
<div class="ttc" id="namespacefaiss_html_a8dbc652ba48d41f126b8815004899448"><div class="ttname"><a href="namespacefaiss.html#a8dbc652ba48d41f126b8815004899448">faiss::ranklist_intersection_size</a></div><div class="ttdeci">size_t ranklist_intersection_size(size_t k1, const long *v1, size_t k2, const long *v2_in)</div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l01393">utils.cpp:1393</a></div></div>
<div class="ttc" id="namespacefaiss_html_a8dbc652ba48d41f126b8815004899448"><div class="ttname"><a href="namespacefaiss.html#a8dbc652ba48d41f126b8815004899448">faiss::ranklist_intersection_size</a></div><div class="ttdeci">size_t ranklist_intersection_size(size_t k1, const long *v1, size_t k2, const long *v2_in)</div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l01394">utils.cpp:1394</a></div></div>
<div class="ttc" id="structfaiss_1_1AutoTuneCriterion_html"><div class="ttname"><a href="structfaiss_1_1AutoTuneCriterion.html">faiss::AutoTuneCriterion</a></div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8h_source.html#l00027">AutoTune.h:27</a></div></div>
<div class="ttc" id="structfaiss_1_1Index_html_a5590d847c5c2b958affd2a05e58a6f23"><div class="ttname"><a href="structfaiss_1_1Index.html#a5590d847c5c2b958affd2a05e58a6f23">faiss::Index::verbose</a></div><div class="ttdeci">bool verbose</div><div class="ttdoc">verbosity level </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00068">Index.h:68</a></div></div>
<div class="ttc" id="namespacefaiss_html_af2a71f7d5402ae02ce169a4cc83020eb"><div class="ttname"><a href="namespacefaiss.html#af2a71f7d5402ae02ce169a4cc83020eb">faiss::getmillisecs</a></div><div class="ttdeci">double getmillisecs()</div><div class="ttdoc">ms elapsed since some arbitrary epoch </div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l00072">utils.cpp:72</a></div></div>
<div class="ttc" id="namespacefaiss_html_af2a71f7d5402ae02ce169a4cc83020eb"><div class="ttname"><a href="namespacefaiss.html#af2a71f7d5402ae02ce169a4cc83020eb">faiss::getmillisecs</a></div><div class="ttdeci">double getmillisecs()</div><div class="ttdoc">ms elapsed since some arbitrary epoch </div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l00071">utils.cpp:71</a></div></div>
<div class="ttc" id="structfaiss_1_1AutoTuneCriterion_html_a40e91caa9232a597c16fc946d0befd9b"><div class="ttname"><a href="structfaiss_1_1AutoTuneCriterion.html#a40e91caa9232a597c16fc946d0befd9b">faiss::AutoTuneCriterion::gt_D</a></div><div class="ttdeci">std::vector&lt; float &gt; gt_D</div><div class="ttdoc">Ground-truth distances (size nq * gt_nnn) </div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8h_source.html#l00033">AutoTune.h:33</a></div></div>
<div class="ttc" id="structfaiss_1_1ParameterSpace_html_a7bb416dbab456bb1ecd9ace433fa5312"><div class="ttname"><a href="structfaiss_1_1ParameterSpace.html#a7bb416dbab456bb1ecd9ace433fa5312">faiss::ParameterSpace::combination_name</a></div><div class="ttdeci">std::string combination_name(size_t cno) const </div><div class="ttdoc">get string representation of the combination </div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8cpp_source.html#l00276">AutoTune.cpp:276</a></div></div>
<div class="ttc" id="structfaiss_1_1Index_html_aced51b1ebc33c47ab3ae15ea906559a7"><div class="ttname"><a href="structfaiss_1_1Index.html#aced51b1ebc33c47ab3ae15ea906559a7">faiss::Index::search</a></div><div class="ttdeci">virtual void search(idx_t n, const float *x, idx_t k, float *distances, idx_t *labels) const =0</div></div>
......
This diff is collapsed.
......@@ -251,8 +251,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; assign, <a class="code" href="structfaiss_1_1Clustering.html#afbf6efacae54c58586b75ed790facd74">d</a>, <a class="code" href="structfaiss_1_1Clustering.html#a87581785d9516c683bbc7c9392bfa993">k</a>, nx);</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">if</span> (verbose) {</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; printf (<span class="stringliteral">&quot; Iteration %d (%5g s, search %5g s): &quot;</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="stringliteral">&quot;objective=%g imbalance=%g nsplit=%d \r&quot;</span>,</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; printf (<span class="stringliteral">&quot; Iteration %d (%.2f s, search %.2f s): &quot;</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="stringliteral">&quot;objective=%g imbalance=%.3f nsplit=%d \r&quot;</span>,</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; i, (<a class="code" href="namespacefaiss.html#af2a71f7d5402ae02ce169a4cc83020eb">getmillisecs</a>() - t0) / 1000.0,</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; t_search_tot / 1000,</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; err, imbalance_factor (nx, k, assign),</div>
......@@ -301,7 +301,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;} <span class="comment">// namespace faiss</span></div>
<div class="ttc" id="structfaiss_1_1ClusteringParameters_html_a5c7c6f05c75e1668befdb3be148fd5f9"><div class="ttname"><a href="structfaiss_1_1ClusteringParameters.html#a5c7c6f05c75e1668befdb3be148fd5f9">faiss::ClusteringParameters::niter</a></div><div class="ttdeci">int niter</div><div class="ttdoc">clustering iterations </div><div class="ttdef"><b>Definition:</b> <a href="Clustering_8h_source.html#l00026">Clustering.h:26</a></div></div>
<div class="ttc" id="namespacefaiss_html_ad1cfbe51f2d77dc5094e0140f5955165"><div class="ttname"><a href="namespacefaiss.html#ad1cfbe51f2d77dc5094e0140f5955165">faiss::km_update_centroids</a></div><div class="ttdeci">int km_update_centroids(const float *x, float *centroids, long *assign, size_t d, size_t k, size_t n)</div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l01285">utils.cpp:1285</a></div></div>
<div class="ttc" id="namespacefaiss_html_ad1cfbe51f2d77dc5094e0140f5955165"><div class="ttname"><a href="namespacefaiss.html#ad1cfbe51f2d77dc5094e0140f5955165">faiss::km_update_centroids</a></div><div class="ttdeci">int km_update_centroids(const float *x, float *centroids, long *assign, size_t d, size_t k, size_t n)</div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l01286">utils.cpp:1286</a></div></div>
<div class="ttc" id="structfaiss_1_1ClusteringParameters_html_a11a049c40c376c57ac6cc3b8d5d1d58b"><div class="ttname"><a href="structfaiss_1_1ClusteringParameters.html#a11a049c40c376c57ac6cc3b8d5d1d58b">faiss::ClusteringParameters::nredo</a></div><div class="ttdeci">int nredo</div><div class="ttdoc">redo clustering this many times and keep best </div><div class="ttdef"><b>Definition:</b> <a href="Clustering_8h_source.html#l00027">Clustering.h:27</a></div></div>
<div class="ttc" id="structfaiss_1_1ClusteringParameters_html_a86c8802261041f5d49b1a0d296da60be"><div class="ttname"><a href="structfaiss_1_1ClusteringParameters.html#a86c8802261041f5d49b1a0d296da60be">faiss::ClusteringParameters::ClusteringParameters</a></div><div class="ttdeci">ClusteringParameters()</div><div class="ttdoc">sets reasonable defaults </div><div class="ttdef"><b>Definition:</b> <a href="Clustering_8cpp_source.html#l00028">Clustering.cpp:28</a></div></div>
<div class="ttc" id="structfaiss_1_1Index_html_a849361f5f0ab0aba8d419c86f2594191"><div class="ttname"><a href="structfaiss_1_1Index.html#a849361f5f0ab0aba8d419c86f2594191">faiss::Index::reset</a></div><div class="ttdeci">virtual void reset()=0</div><div class="ttdoc">removes all elements from the database. </div></div>
......@@ -315,7 +315,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="structfaiss_1_1Clustering_html_a91e32da946477bb751706a68c5cd3327"><div class="ttname"><a href="structfaiss_1_1Clustering.html#a91e32da946477bb751706a68c5cd3327">faiss::Clustering::obj</a></div><div class="ttdeci">std::vector&lt; float &gt; obj</div><div class="ttdef"><b>Definition:</b> <a href="Clustering_8h_source.html#l00068">Clustering.h:68</a></div></div>
<div class="ttc" id="namespacefaiss_html_a38bd0dde8a1b229201a5fcb64d05daa6"><div class="ttname"><a href="namespacefaiss.html#a38bd0dde8a1b229201a5fcb64d05daa6">faiss::kmeans_clustering</a></div><div class="ttdeci">float kmeans_clustering(size_t d, size_t n, size_t k, const float *x, float *centroids)</div><div class="ttdef"><b>Definition:</b> <a href="Clustering_8cpp_source.html#l00204">Clustering.cpp:204</a></div></div>
<div class="ttc" id="structfaiss_1_1Index_html_a6970683faa021b7a6f1a0865c0d4eccd"><div class="ttname"><a href="structfaiss_1_1Index.html#a6970683faa021b7a6f1a0865c0d4eccd">faiss::Index::ntotal</a></div><div class="ttdeci">idx_t ntotal</div><div class="ttdoc">total nb of indexed vectors </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00067">Index.h:67</a></div></div>
<div class="ttc" id="namespacefaiss_html_af2a71f7d5402ae02ce169a4cc83020eb"><div class="ttname"><a href="namespacefaiss.html#af2a71f7d5402ae02ce169a4cc83020eb">faiss::getmillisecs</a></div><div class="ttdeci">double getmillisecs()</div><div class="ttdoc">ms elapsed since some arbitrary epoch </div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l00072">utils.cpp:72</a></div></div>
<div class="ttc" id="namespacefaiss_html_af2a71f7d5402ae02ce169a4cc83020eb"><div class="ttname"><a href="namespacefaiss.html#af2a71f7d5402ae02ce169a4cc83020eb">faiss::getmillisecs</a></div><div class="ttdeci">double getmillisecs()</div><div class="ttdoc">ms elapsed since some arbitrary epoch </div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l00071">utils.cpp:71</a></div></div>
<div class="ttc" id="structfaiss_1_1Clustering_html_a64c5ec0b4a7967d8be2872974b455ff1"><div class="ttname"><a href="structfaiss_1_1Clustering.html#a64c5ec0b4a7967d8be2872974b455ff1">faiss::Clustering::centroids</a></div><div class="ttdeci">std::vector&lt; float &gt; centroids</div><div class="ttdoc">centroids (k * d) </div><div class="ttdef"><b>Definition:</b> <a href="Clustering_8h_source.html#l00064">Clustering.h:64</a></div></div>
<div class="ttc" id="structfaiss_1_1Clustering_html_afbf6efacae54c58586b75ed790facd74"><div class="ttname"><a href="structfaiss_1_1Clustering.html#afbf6efacae54c58586b75ed790facd74">faiss::Clustering::d</a></div><div class="ttdeci">size_t d</div><div class="ttdoc">dimension of the vectors </div><div class="ttdef"><b>Definition:</b> <a href="Clustering_8h_source.html#l00060">Clustering.h:60</a></div></div>
<div class="ttc" id="structfaiss_1_1Index_html_aced51b1ebc33c47ab3ae15ea906559a7"><div class="ttname"><a href="structfaiss_1_1Index.html#aced51b1ebc33c47ab3ae15ea906559a7">faiss::Index::search</a></div><div class="ttdeci">virtual void search(idx_t n, const float *x, idx_t k, float *distances, idx_t *labels) const =0</div></div>
......
This diff is collapsed.
......@@ -380,7 +380,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;} } <span class="comment">// namespace</span></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFFlat_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFFlat.html">faiss::gpu::IVFFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IVFFlat_8cuh_source.html#l00018">IVFFlat.cuh:18</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFBase_html_a4d44e8aebc380b7c846a8d8e6e835540"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFBase.html#a4d44e8aebc380b7c846a8d8e6e835540">faiss::gpu::IVFBase::getDim</a></div><div class="ttdeci">int getDim() const </div><div class="ttdoc">Return the number of dimensions we are indexing. </div><div class="ttdef"><b>Definition:</b> <a href="IVFBase_8cu_source.html#l00098">IVFBase.cu:98</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFBase_html_a4d44e8aebc380b7c846a8d8e6e835540"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFBase.html#a4d44e8aebc380b7c846a8d8e6e835540">faiss::gpu::IVFBase::getDim</a></div><div class="ttdeci">int getDim() const </div><div class="ttdoc">Return the number of dimensions we are indexing. </div><div class="ttdef"><b>Definition:</b> <a href="IVFBase_8cu_source.html#l00099">IVFBase.cu:99</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndexFlat_html_a310b00d4443920a855b11276d488c9a7"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndexFlat.html#a310b00d4443920a855b11276d488c9a7">faiss::gpu::GpuIndexFlat::getGpuData</a></div><div class="ttdeci">FlatIndex * getGpuData()</div><div class="ttdoc">For internal access. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexFlat_8h_source.html#l00100">GpuIndexFlat.h:100</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndexIVFFlat_html_a96fd66c31c7e46b1549ed61d1b3476f3"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#a96fd66c31c7e46b1549ed61d1b3476f3">faiss::gpu::GpuIndexIVFFlat::copyFrom</a></div><div class="ttdeci">void copyFrom(const faiss::IndexIVFFlat *index)</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVFFlat_8cu_source.html#l00103">GpuIndexIVFFlat.cu:103</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFBase_html_a02e1e2d080ee31bf7835f89b9f2a13a9"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFBase.html#a02e1e2d080ee31bf7835f89b9f2a13a9">faiss::gpu::IVFBase::reserveMemory</a></div><div class="ttdeci">void reserveMemory(size_t numVecs)</div><div class="ttdoc">Reserve GPU memory in our inverted lists for this number of vectors. </div><div class="ttdef"><b>Definition:</b> <a href="IVFBase_8cu_source.html#l00044">IVFBase.cu:44</a></div></div>
......@@ -411,11 +411,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFFlat_html_a78473b609750b8ec7dfe3d137f50c650"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFFlat.html#a78473b609750b8ec7dfe3d137f50c650">faiss::gpu::IVFFlat::getListVectors</a></div><div class="ttdeci">std::vector&lt; float &gt; getListVectors(int listId) const </div><div class="ttdoc">Return the vectors of a particular list back to the CPU. </div><div class="ttdef"><b>Definition:</b> <a href="IVFFlat_8cu_source.html#l00353">IVFFlat.cu:353</a></div></div>
<div class="ttc" id="structfaiss_1_1Index_html_a8e18f641854b2bde83ecff0a2f9a6f4e"><div class="ttname"><a href="structfaiss_1_1Index.html#a8e18f641854b2bde83ecff0a2f9a6f4e">faiss::Index::metric_type</a></div><div class="ttdeci">MetricType metric_type</div><div class="ttdoc">type of metric this index uses for search </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00074">Index.h:74</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndexIVFFlat_html_a45d2407896ded570f07e4a606b45b989"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#a45d2407896ded570f07e4a606b45b989">faiss::gpu::GpuIndexIVFFlat::GpuIndexIVFFlat</a></div><div class="ttdeci">GpuIndexIVFFlat(GpuResources *resources, int device, bool useFloat16CoarseQuantizer, bool useFloat16IVFStorage, int dims, int nlist, IndicesOptions indicesOptions, faiss::MetricType metric)</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVFFlat_8cu_source.html#l00026">GpuIndexIVFFlat.cu:26</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFBase_html_a4a4ed220b9433aa788ed32db8f20a9db"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFBase.html#a4a4ed220b9433aa788ed32db8f20a9db">faiss::gpu::IVFBase::getListIndices</a></div><div class="ttdeci">std::vector&lt; long &gt; getListIndices(int listId) const </div><div class="ttdoc">Return the list indices of a particular list back to the CPU. </div><div class="ttdef"><b>Definition:</b> <a href="IVFBase_8cu_source.html#l00205">IVFBase.cu:205</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFBase_html_a4a4ed220b9433aa788ed32db8f20a9db"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFBase.html#a4a4ed220b9433aa788ed32db8f20a9db">faiss::gpu::IVFBase::getListIndices</a></div><div class="ttdeci">std::vector&lt; long &gt; getListIndices(int listId) const </div><div class="ttdoc">Return the list indices of a particular list back to the CPU. </div><div class="ttdef"><b>Definition:</b> <a href="IVFBase_8cu_source.html#l00206">IVFBase.cu:206</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndexFlat_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndexFlat.html">faiss::gpu::GpuIndexFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexFlat_8h_source.html#l00031">GpuIndexFlat.h:31</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndexIVF_html_a94c2c171f9a2d27085dea9101067bdf2"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndexIVF.html#a94c2c171f9a2d27085dea9101067bdf2">faiss::gpu::GpuIndexIVF::copyFrom</a></div><div class="ttdeci">void copyFrom(const faiss::IndexIVF *index)</div><div class="ttdoc">Copy what we need from the CPU equivalent. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVF_8cu_source.html#l00117">GpuIndexIVF.cu:117</a></div></div>
<div class="ttc" id="structfaiss_1_1Index_html_a6e92732617c4dbe364e7678dd8773a7f"><div class="ttname"><a href="structfaiss_1_1Index.html#a6e92732617c4dbe364e7678dd8773a7f">faiss::Index::is_trained</a></div><div class="ttdeci">bool is_trained</div><div class="ttdoc">set if the Index does not require training, or if training is done already </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00071">Index.h:71</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFBase_html_ac9b69e1b2582cb2c064b5fff60d31cc8"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFBase.html#ac9b69e1b2582cb2c064b5fff60d31cc8">faiss::gpu::IVFBase::reclaimMemory</a></div><div class="ttdeci">size_t reclaimMemory()</div><div class="ttdef"><b>Definition:</b> <a href="IVFBase_8cu_source.html#l00103">IVFBase.cu:103</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFBase_html_ac9b69e1b2582cb2c064b5fff60d31cc8"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFBase.html#ac9b69e1b2582cb2c064b5fff60d31cc8">faiss::gpu::IVFBase::reclaimMemory</a></div><div class="ttdeci">size_t reclaimMemory()</div><div class="ttdef"><b>Definition:</b> <a href="IVFBase_8cu_source.html#l00104">IVFBase.cu:104</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndexIVFFlat_html_a88676a893e9b44041e7a52327d960b54"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#a88676a893e9b44041e7a52327d960b54">faiss::gpu::GpuIndexIVFFlat::reset</a></div><div class="ttdeci">void reset() override</div><div class="ttdoc">removes all elements from the database. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVFFlat_8cu_source.html#l00174">GpuIndexIVFFlat.cu:174</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndexIVFFlat_html_ad101d8f209f3a269ef75d8d5797ec56f"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#ad101d8f209f3a269ef75d8d5797ec56f">faiss::gpu::GpuIndexIVFFlat::search</a></div><div class="ttdeci">void search(faiss::Index::idx_t n, const float *x, faiss::Index::idx_t k, float *distances, faiss::Index::idx_t *labels) const override</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVFFlat_8cu_source.html#l00244">GpuIndexIVFFlat.cu:244</a></div></div>
<div class="ttc" id="namespacefaiss_html_afd12191c638da74760ff397cf319752c"><div class="ttname"><a href="namespacefaiss.html#afd12191c638da74760ff397cf319752c">faiss::MetricType</a></div><div class="ttdeci">MetricType</div><div class="ttdoc">Some algorithms support both an inner product vetsion and a L2 search version. </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00044">Index.h:44</a></div></div>
......
This diff is collapsed.
......@@ -524,7 +524,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;</div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;</div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> C&gt;</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;<span class="keyword">inline</span></div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;<span class="keywordtype">void</span> indirect_heap_pop (</div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="keywordtype">size_t</span> k,</div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keyword">const</span> <span class="keyword">typename</span> C::T * bh_val,</div>
......@@ -557,7 +557,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;</div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;</div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> C&gt;</div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;<span class="keyword">inline</span></div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;<span class="keywordtype">void</span> indirect_heap_push (<span class="keywordtype">size_t</span> k,</div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <span class="keyword">const</span> <span class="keyword">typename</span> C::T * bh_val, <span class="keyword">typename</span> C::TI * bh_ids,</div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keyword">typename</span> C::TI <span class="keywordtype">id</span>)</div>
......
This diff is collapsed.
This diff is collapsed.
......@@ -493,7 +493,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFBase_html_a319568b832518392fed33ea4f8bfc613"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFBase.html#a319568b832518392fed33ea4f8bfc613">faiss::gpu::IVFBase::bytesPerVector_</a></div><div class="ttdeci">const int bytesPerVector_</div><div class="ttdoc">Number of bytes per vector in the list. </div><div class="ttdef"><b>Definition:</b> <a href="IVFBase_8cuh_source.html#l00093">IVFBase.cuh:93</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFFlat_html_a6652ca90a8a30512104fc909f0a0a6b8"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFFlat.html#a6652ca90a8a30512104fc909f0a0a6b8">faiss::gpu::IVFFlat::query</a></div><div class="ttdeci">void query(Tensor&lt; float, 2, true &gt; &amp;queries, int nprobe, int k, Tensor&lt; float, 2, true &gt; &amp;outDistances, Tensor&lt; long, 2, true &gt; &amp;outIndices)</div><div class="ttdef"><b>Definition:</b> <a href="IVFFlat_8cu_source.html#l00287">IVFFlat.cu:287</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFFlat_html_a78473b609750b8ec7dfe3d137f50c650"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFFlat.html#a78473b609750b8ec7dfe3d137f50c650">faiss::gpu::IVFFlat::getListVectors</a></div><div class="ttdeci">std::vector&lt; float &gt; getListVectors(int listId) const </div><div class="ttdoc">Return the vectors of a particular list back to the CPU. </div><div class="ttdef"><b>Definition:</b> <a href="IVFFlat_8cu_source.html#l00353">IVFFlat.cu:353</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFBase_html_acc695610c9513952b8d234dc0db78e5c"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFBase.html#acc695610c9513952b8d234dc0db78e5c">faiss::gpu::IVFBase::updateDeviceListInfo_</a></div><div class="ttdeci">void updateDeviceListInfo_(cudaStream_t stream)</div><div class="ttdoc">Update all device-side list pointer and size information. </div><div class="ttdef"><b>Definition:</b> <a href="IVFBase_8cu_source.html#l00136">IVFBase.cu:136</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFBase_html_acc695610c9513952b8d234dc0db78e5c"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFBase.html#acc695610c9513952b8d234dc0db78e5c">faiss::gpu::IVFBase::updateDeviceListInfo_</a></div><div class="ttdeci">void updateDeviceListInfo_(cudaStream_t stream)</div><div class="ttdoc">Update all device-side list pointer and size information. </div><div class="ttdef"><b>Definition:</b> <a href="IVFBase_8cu_source.html#l00137">IVFBase.cu:137</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a2d276c97faf432cdc9f3552da63c0d3c"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a2d276c97faf432cdc9f3552da63c0d3c">faiss::gpu::Tensor::getSize</a></div><div class="ttdeci">__host__ __device__ IndexT getSize(int i) const </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00210">Tensor.cuh:210</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_ae981a94263044f38be89d690dd958426"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#ae981a94263044f38be89d690dd958426">faiss::gpu::Tensor::copyFrom</a></div><div class="ttdeci">__host__ void copyFrom(Tensor&lt; T, Dim, Contig, IndexT, PtrTraits &gt; &amp;t, cudaStream_t stream)</div><div class="ttdoc">Copies a tensor into ourselves; sizes must match. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor-inl_8cuh_source.html#l00101">Tensor-inl.cuh:101</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFBase_html_afb6d10e23d6448c10f472b9234e0bcab"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFBase.html#afb6d10e23d6448c10f472b9234e0bcab">faiss::gpu::IVFBase::indicesOptions_</a></div><div class="ttdeci">const IndicesOptions indicesOptions_</div><div class="ttdoc">How are user indices stored on the GPU? </div><div class="ttdef"><b>Definition:</b> <a href="IVFBase_8cuh_source.html#l00096">IVFBase.cuh:96</a></div></div>
......@@ -501,7 +501,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFBase_html_a2facc7285107de1f24d3471cbcf15f26"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFBase.html#a2facc7285107de1f24d3471cbcf15f26">faiss::gpu::IVFBase::deviceListData_</a></div><div class="ttdeci">std::vector&lt; std::unique_ptr&lt; DeviceVector&lt; unsigned char &gt; &gt; &gt; deviceListData_</div><div class="ttdef"><b>Definition:</b> <a href="IVFBase_8cuh_source.html#l00117">IVFBase.cuh:117</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1DeviceTensor_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1DeviceTensor.html">faiss::gpu::DeviceTensor&lt; float, 2, true &gt;</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFBase_html_aba3e3cfa469e5187f2d553fff10e0250"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFBase.html#aba3e3cfa469e5187f2d553fff10e0250">faiss::gpu::IVFBase::dim_</a></div><div class="ttdeci">const int dim_</div><div class="ttdoc">Expected dimensionality of the vectors. </div><div class="ttdef"><b>Definition:</b> <a href="IVFBase_8cuh_source.html#l00087">IVFBase.cuh:87</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFBase_html_a5027720549de98f4e609d6339099df35"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFBase.html#a5027720549de98f4e609d6339099df35">faiss::gpu::IVFBase::addIndicesFromCpu_</a></div><div class="ttdeci">void addIndicesFromCpu_(int listId, const long *indices, size_t numVecs)</div><div class="ttdoc">Shared function to copy indices from CPU to GPU. </div><div class="ttdef"><b>Definition:</b> <a href="IVFBase_8cu_source.html#l00243">IVFBase.cu:243</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFBase_html_a5027720549de98f4e609d6339099df35"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFBase.html#a5027720549de98f4e609d6339099df35">faiss::gpu::IVFBase::addIndicesFromCpu_</a></div><div class="ttdeci">void addIndicesFromCpu_(int listId, const long *indices, size_t numVecs)</div><div class="ttdoc">Shared function to copy indices from CPU to GPU. </div><div class="ttdef"><b>Definition:</b> <a href="IVFBase_8cu_source.html#l00244">IVFBase.cu:244</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -228,21 +228,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="preprocessor"></span>};</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;} } <span class="comment">// namespace</span></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFPQ_html_a9992b38226dc8f92ca2691582fabb675"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFPQ.html#a9992b38226dc8f92ca2691582fabb675">faiss::gpu::IVFPQ::addCodeVectorsFromCpu</a></div><div class="ttdeci">void addCodeVectorsFromCpu(int listId, const void *codes, const long *indices, size_t numVecs)</div><div class="ttdef"><b>Definition:</b> <a href="IVFPQ_8cu_source.html#l00346">IVFPQ.cu:346</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFPQ_html_a9992b38226dc8f92ca2691582fabb675"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFPQ.html#a9992b38226dc8f92ca2691582fabb675">faiss::gpu::IVFPQ::addCodeVectorsFromCpu</a></div><div class="ttdeci">void addCodeVectorsFromCpu(int listId, const void *codes, const long *indices, size_t numVecs)</div><div class="ttdef"><b>Definition:</b> <a href="IVFPQ_8cu_source.html#l00347">IVFPQ.cu:347</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1FlatIndex_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1FlatIndex.html">faiss::gpu::FlatIndex</a></div><div class="ttdoc">Holder of GPU resources for a particular flat index. </div><div class="ttdef"><b>Definition:</b> <a href="FlatIndex_8cuh_source.html#l00023">FlatIndex.cuh:23</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFBase_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFBase.html">faiss::gpu::IVFBase</a></div><div class="ttdoc">Base inverted list functionality for IVFFlat and IVFPQ. </div><div class="ttdef"><b>Definition:</b> <a href="IVFBase_8cuh_source.html#l00027">IVFBase.cuh:27</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuResources_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuResources.html">faiss::gpu::GpuResources</a></div><div class="ttdef"><b>Definition:</b> <a href="GpuResources_8h_source.html#l00024">GpuResources.h:24</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFPQ_html_acdcc64f9b72e661d39528d5d67e54536"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFPQ.html#acdcc64f9b72e661d39528d5d67e54536">faiss::gpu::IVFPQ::IVFPQ</a></div><div class="ttdeci">IVFPQ(GpuResources *resources, FlatIndex *quantizer, int numSubQuantizers, int bitsPerSubQuantizer, float *pqCentroidData, IndicesOptions indicesOptions, bool useFloat16LookupTables)</div><div class="ttdef"><b>Definition:</b> <a href="IVFPQ_8cu_source.html#l00036">IVFPQ.cu:36</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFPQ_html_adb58eeacdceb0e0fde1820ca7f116e05"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFPQ.html#adb58eeacdceb0e0fde1820ca7f116e05">faiss::gpu::IVFPQ::isSupportedPQCodeLength</a></div><div class="ttdeci">static bool isSupportedPQCodeLength(int size)</div><div class="ttdoc">Returns true if we support PQ in this size. </div><div class="ttdef"><b>Definition:</b> <a href="IVFPQ_8cu_source.html#l00071">IVFPQ.cu:71</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFPQ_html_ab1e07b04b25569cc58c5f3f033f4dab3"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFPQ.html#ab1e07b04b25569cc58c5f3f033f4dab3">faiss::gpu::IVFPQ::classifyAndAddVectors</a></div><div class="ttdeci">int classifyAndAddVectors(Tensor&lt; float, 2, true &gt; &amp;vecs, Tensor&lt; long, 1, true &gt; &amp;indices)</div><div class="ttdef"><b>Definition:</b> <a href="IVFPQ_8cu_source.html#l00118">IVFPQ.cu:118</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFPQ_html_ab0c458aab9a3d903f31b0e63ce16e623"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFPQ.html#ab0c458aab9a3d903f31b0e63ce16e623">faiss::gpu::IVFPQ::query</a></div><div class="ttdeci">void query(Tensor&lt; float, 2, true &gt; &amp;queries, int nprobe, int k, Tensor&lt; float, 2, true &gt; &amp;outDistances, Tensor&lt; long, 2, true &gt; &amp;outIndices)</div><div class="ttdef"><b>Definition:</b> <a href="IVFPQ_8cu_source.html#l00516">IVFPQ.cu:516</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFPQ_html_a3e8bff50f894c243c62e832f923e88e7"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFPQ.html#a3e8bff50f894c243c62e832f923e88e7">faiss::gpu::IVFPQ::getPQCentroids</a></div><div class="ttdeci">Tensor&lt; float, 3, true &gt; getPQCentroids()</div><div class="ttdef"><b>Definition:</b> <a href="IVFPQ_8cu_source.html#l00591">IVFPQ.cu:591</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFPQ_html_adcee5dbf48c3cb6b8a67f5f392e155fd"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFPQ.html#adcee5dbf48c3cb6b8a67f5f392e155fd">faiss::gpu::IVFPQ::setPrecomputedCodes</a></div><div class="ttdeci">void setPrecomputedCodes(bool enable)</div><div class="ttdoc">Enable or disable pre-computed codes. </div><div class="ttdef"><b>Definition:</b> <a href="IVFPQ_8cu_source.html#l00100">IVFPQ.cu:100</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFPQ_html_a5b349dd021b11b5f48531825359b0657"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFPQ.html#a5b349dd021b11b5f48531825359b0657">faiss::gpu::IVFPQ::getListCodes</a></div><div class="ttdeci">std::vector&lt; unsigned char &gt; getListCodes(int listId) const </div><div class="ttdoc">Return the list codes of a particular list back to the CPU. </div><div class="ttdef"><b>Definition:</b> <a href="IVFPQ_8cu_source.html#l00583">IVFPQ.cu:583</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFPQ_html_ab1e07b04b25569cc58c5f3f033f4dab3"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFPQ.html#ab1e07b04b25569cc58c5f3f033f4dab3">faiss::gpu::IVFPQ::classifyAndAddVectors</a></div><div class="ttdeci">int classifyAndAddVectors(Tensor&lt; float, 2, true &gt; &amp;vecs, Tensor&lt; long, 1, true &gt; &amp;indices)</div><div class="ttdef"><b>Definition:</b> <a href="IVFPQ_8cu_source.html#l00119">IVFPQ.cu:119</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFPQ_html_ab0c458aab9a3d903f31b0e63ce16e623"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFPQ.html#ab0c458aab9a3d903f31b0e63ce16e623">faiss::gpu::IVFPQ::query</a></div><div class="ttdeci">void query(Tensor&lt; float, 2, true &gt; &amp;queries, int nprobe, int k, Tensor&lt; float, 2, true &gt; &amp;outDistances, Tensor&lt; long, 2, true &gt; &amp;outIndices)</div><div class="ttdef"><b>Definition:</b> <a href="IVFPQ_8cu_source.html#l00517">IVFPQ.cu:517</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFPQ_html_a3e8bff50f894c243c62e832f923e88e7"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFPQ.html#a3e8bff50f894c243c62e832f923e88e7">faiss::gpu::IVFPQ::getPQCentroids</a></div><div class="ttdeci">Tensor&lt; float, 3, true &gt; getPQCentroids()</div><div class="ttdef"><b>Definition:</b> <a href="IVFPQ_8cu_source.html#l00592">IVFPQ.cu:592</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFPQ_html_adcee5dbf48c3cb6b8a67f5f392e155fd"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFPQ.html#adcee5dbf48c3cb6b8a67f5f392e155fd">faiss::gpu::IVFPQ::setPrecomputedCodes</a></div><div class="ttdeci">void setPrecomputedCodes(bool enable)</div><div class="ttdoc">Enable or disable pre-computed codes. </div><div class="ttdef"><b>Definition:</b> <a href="IVFPQ_8cu_source.html#l00101">IVFPQ.cu:101</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFPQ_html_a5b349dd021b11b5f48531825359b0657"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFPQ.html#a5b349dd021b11b5f48531825359b0657">faiss::gpu::IVFPQ::getListCodes</a></div><div class="ttdeci">std::vector&lt; unsigned char &gt; getListCodes(int listId) const </div><div class="ttdoc">Return the list codes of a particular list back to the CPU. </div><div class="ttdef"><b>Definition:</b> <a href="IVFPQ_8cu_source.html#l00584">IVFPQ.cu:584</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html">faiss::gpu::Tensor</a></div><div class="ttdoc">Our tensor type. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00031">Tensor.cuh:31</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1DeviceTensor_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1DeviceTensor.html">faiss::gpu::DeviceTensor&lt; float, 2, true &gt;</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFPQ_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFPQ.html">faiss::gpu::IVFPQ</a></div><div class="ttdoc">Implementing class for IVFPQ on the GPU. </div><div class="ttdef"><b>Definition:</b> <a href="IVFPQ_8cuh_source.html#l00020">IVFPQ.cuh:20</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFPQ_html_a0eedf0295ad73125ee1254173a176674"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFPQ.html#a0eedf0295ad73125ee1254173a176674">faiss::gpu::IVFPQ::isSupportedNoPrecomputedSubDimSize</a></div><div class="ttdeci">static bool isSupportedNoPrecomputedSubDimSize(int dims)</div><div class="ttdef"><b>Definition:</b> <a href="IVFPQ_8cu_source.html#l00095">IVFPQ.cu:95</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFPQ_html_a0eedf0295ad73125ee1254173a176674"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFPQ.html#a0eedf0295ad73125ee1254173a176674">faiss::gpu::IVFPQ::isSupportedNoPrecomputedSubDimSize</a></div><div class="ttdeci">static bool isSupportedNoPrecomputedSubDimSize(int dims)</div><div class="ttdef"><b>Definition:</b> <a href="IVFPQ_8cu_source.html#l00096">IVFPQ.cu:96</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
......
This diff is collapsed.
......@@ -238,21 +238,22 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexFlat1D.html#a5dc39280262484ecadda5e11162c2457">add</a> (<a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> n, <span class="keyword">const</span> <span class="keywordtype">float</span> *x) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexFlat1D.html#aa205c4ffa6cbd50f49ef9cb6cc050000">reset</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexFlat1D.html#a65736f2900865cd156faba4fcd260d05">search</a> (</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> n,</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> *x,</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> k,</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordtype">float</span> *distances,</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> *labels) <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> /// Warn: the distances returned are L1 not L2</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexFlat1D.html#a65736f2900865cd156faba4fcd260d05">search</a> (</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> n,</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> *x,</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> k,</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordtype">float</span> *distances,</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> *labels) <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;};</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;};</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;}</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;}</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="structfaiss_1_1IndexFlatL2BaseShift_html_a16e9bf1aec9d18b3ebbe78fea6bfecc0"><div class="ttname"><a href="structfaiss_1_1IndexFlatL2BaseShift.html#a16e9bf1aec9d18b3ebbe78fea6bfecc0">faiss::IndexFlatL2BaseShift::search</a></div><div class="ttdeci">virtual void search(idx_t n, const float *x, idx_t k, float *distances, idx_t *labels) const override</div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8cpp_source.html#l00124">IndexFlat.cpp:124</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexFlat_html"><div class="ttname"><a href="structfaiss_1_1IndexFlat.html">faiss::IndexFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00024">IndexFlat.h:24</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexRefineFlat_html_ac3efe902315768afe83fa2b8ea5dc591"><div class="ttname"><a href="structfaiss_1_1IndexRefineFlat.html#ac3efe902315768afe83fa2b8ea5dc591">faiss::IndexRefineFlat::reset</a></div><div class="ttdeci">virtual void reset() override</div><div class="ttdoc">removes all elements from the database. </div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8cpp_source.html#l00184">IndexFlat.cpp:184</a></div></div>
......@@ -275,7 +276,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="structfaiss_1_1IndexRefineFlat_html_a79c4c9b9ffabc4460ef4def6eb962e68"><div class="ttname"><a href="structfaiss_1_1IndexRefineFlat.html#a79c4c9b9ffabc4460ef4def6eb962e68">faiss::IndexRefineFlat::train</a></div><div class="ttdeci">virtual void train(idx_t n, const float *x) override</div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8cpp_source.html#l00171">IndexFlat.cpp:171</a></div></div>
<div class="ttc" id="structfaiss_1_1Index_html_a040c6aed1f224f3ea7bf58eebc0c31a4"><div class="ttname"><a href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">faiss::Index::idx_t</a></div><div class="ttdeci">long idx_t</div><div class="ttdoc">all indices are this type </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00064">Index.h:64</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexFlat_html_a406f028c702edec72477eacc5733f59c"><div class="ttname"><a href="structfaiss_1_1IndexFlat.html#a406f028c702edec72477eacc5733f59c">faiss::IndexFlat::add</a></div><div class="ttdeci">virtual void add(idx_t n, const float *x) override</div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8cpp_source.html#l00041">IndexFlat.cpp:41</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexFlat1D_html_a65736f2900865cd156faba4fcd260d05"><div class="ttname"><a href="structfaiss_1_1IndexFlat1D.html#a65736f2900865cd156faba4fcd260d05">faiss::IndexFlat1D::search</a></div><div class="ttdeci">virtual void search(idx_t n, const float *x, idx_t k, float *distances, idx_t *labels) const override</div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8cpp_source.html#l00306">IndexFlat.cpp:306</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexFlat1D_html_a65736f2900865cd156faba4fcd260d05"><div class="ttname"><a href="structfaiss_1_1IndexFlat1D.html#a65736f2900865cd156faba4fcd260d05">faiss::IndexFlat1D::search</a></div><div class="ttdeci">virtual void search(idx_t n, const float *x, idx_t k, float *distances, idx_t *labels) const override</div><div class="ttdoc">Warn: the distances returned are L1 not L2. </div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8cpp_source.html#l00306">IndexFlat.cpp:306</a></div></div>
<div class="ttc" id="structfaiss_1_1RangeSearchResult_html"><div class="ttname"><a href="structfaiss_1_1RangeSearchResult.html">faiss::RangeSearchResult</a></div><div class="ttdef"><b>Definition:</b> <a href="AuxIndexStructures_8h_source.html#l00035">AuxIndexStructures.h:35</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexFlat_html_a14b51786e7f98be1954eef35d02813a7"><div class="ttname"><a href="structfaiss_1_1IndexFlat.html#a14b51786e7f98be1954eef35d02813a7">faiss::IndexFlat::compute_distance_subset</a></div><div class="ttdeci">void compute_distance_subset(idx_t n, const float *x, idx_t k, float *distances, const idx_t *labels) const </div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8cpp_source.html#l00085">IndexFlat.cpp:85</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexFlatL2BaseShift_html"><div class="ttname"><a href="structfaiss_1_1IndexFlatL2BaseShift.html">faiss::IndexFlatL2BaseShift</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00088">IndexFlat.h:88</a></div></div>
......
This diff is collapsed.
......@@ -603,7 +603,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="structfaiss_1_1IndexIVF_html"><div class="ttname"><a href="structfaiss_1_1IndexIVF.html">faiss::IndexIVF</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00046">IndexIVF.h:46</a></div></div>
<div class="ttc" id="structfaiss_1_1ClusteringParameters_html_a5c7c6f05c75e1668befdb3be148fd5f9"><div class="ttname"><a href="structfaiss_1_1ClusteringParameters.html#a5c7c6f05c75e1668befdb3be148fd5f9">faiss::ClusteringParameters::niter</a></div><div class="ttdeci">int niter</div><div class="ttdoc">clustering iterations </div><div class="ttdef"><b>Definition:</b> <a href="Clustering_8h_source.html#l00026">Clustering.h:26</a></div></div>
<div class="ttc" id="structfaiss_1_1RangeSearchPartialResult_1_1QueryResult_html"><div class="ttname"><a href="structfaiss_1_1RangeSearchPartialResult_1_1QueryResult.html">faiss::RangeSearchPartialResult::QueryResult</a></div><div class="ttdoc">result structure for a single query </div><div class="ttdef"><b>Definition:</b> <a href="AuxIndexStructures_8h_source.html#l00157">AuxIndexStructures.h:157</a></div></div>
<div class="ttc" id="namespacefaiss_html_a7466bd32de31640860393a701eaac5ad"><div class="ttname"><a href="namespacefaiss.html#a7466bd32de31640860393a701eaac5ad">faiss::fvec_L2sqr</a></div><div class="ttdeci">float fvec_L2sqr(const float *x, const float *y, size_t d)</div><div class="ttdoc">Squared L2 distance between two vectors. </div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l00431">utils.cpp:431</a></div></div>
<div class="ttc" id="namespacefaiss_html_a7466bd32de31640860393a701eaac5ad"><div class="ttname"><a href="namespacefaiss.html#a7466bd32de31640860393a701eaac5ad">faiss::fvec_L2sqr</a></div><div class="ttdeci">float fvec_L2sqr(const float *x, const float *y, size_t d)</div><div class="ttdoc">Squared L2 distance between two vectors. </div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l00430">utils.cpp:430</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIVFFlat_html_a9ca8cc3ca71ff91f1e5e2db3b8ead615"><div class="ttname"><a href="structfaiss_1_1IndexIVFFlat.html#a9ca8cc3ca71ff91f1e5e2db3b8ead615">faiss::IndexIVFFlat::search_knn_L2sqr</a></div><div class="ttdeci">void search_knn_L2sqr(size_t nx, const float *x, const long *keys, float_maxheap_array_t *res) const </div><div class="ttdoc">Implementation of the search for the L2 metric. </div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8cpp_source.html#l00319">IndexIVF.cpp:319</a></div></div>
<div class="ttc" id="structfaiss_1_1HeapArray_html_ae97911f6f85d152a5b45e459063b6858"><div class="ttname"><a href="structfaiss_1_1HeapArray.html#ae97911f6f85d152a5b45e459063b6858">faiss::HeapArray::get_val</a></div><div class="ttdeci">T * get_val(size_t key)</div><div class="ttdoc">Return the list of values for a heap. </div><div class="ttdef"><b>Definition:</b> <a href="Heap_8h_source.html#l00361">Heap.h:361</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIVF_html_aeab84d4edf2cf9747c923e1a8395d9f3"><div class="ttname"><a href="structfaiss_1_1IndexIVF.html#aeab84d4edf2cf9747c923e1a8395d9f3">faiss::IndexIVF::imbalance_factor</a></div><div class="ttdeci">double imbalance_factor() const </div><div class="ttdoc">1= perfectly balanced, &amp;gt;1: imbalanced </div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8cpp_source.html#l00134">IndexIVF.cpp:134</a></div></div>
......@@ -619,7 +619,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="structfaiss_1_1Index_html_aa6931dfe054b33b02c842ff75f7a0c7f"><div class="ttname"><a href="structfaiss_1_1Index.html#aa6931dfe054b33b02c842ff75f7a0c7f">faiss::Index::add_with_ids</a></div><div class="ttdeci">virtual void add_with_ids(idx_t n, const float *x, const long *xids)</div><div class="ttdef"><b>Definition:</b> <a href="Index_8cpp_source.html#l00032">Index.cpp:32</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIVF_html_a567ef760fd09d09ce2ee4f4e6c2d7280"><div class="ttname"><a href="structfaiss_1_1IndexIVF.html#a567ef760fd09d09ce2ee4f4e6c2d7280">faiss::IndexIVF::train_residual</a></div><div class="ttdeci">virtual void train_residual(idx_t n, const float *x)</div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8cpp_source.html#l00125">IndexIVF.cpp:125</a></div></div>
<div class="ttc" id="structfaiss_1_1HeapArray_html_a1ee98429c766c77235f78c6d9aa32bb4"><div class="ttname"><a href="structfaiss_1_1HeapArray.html#a1ee98429c766c77235f78c6d9aa32bb4">faiss::HeapArray::k</a></div><div class="ttdeci">size_t k</div><div class="ttdoc">allocated size per heap </div><div class="ttdef"><b>Definition:</b> <a href="Heap_8h_source.html#l00356">Heap.h:356</a></div></div>
<div class="ttc" id="namespacefaiss_html_af762526714e6138009c72aee98657538"><div class="ttname"><a href="namespacefaiss.html#af762526714e6138009c72aee98657538">faiss::imbalance_factor</a></div><div class="ttdeci">double imbalance_factor(int n, int k, const long *assign)</div><div class="ttdoc">a balanced assignment has a IF of 1 </div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l01444">utils.cpp:1444</a></div></div>
<div class="ttc" id="namespacefaiss_html_af762526714e6138009c72aee98657538"><div class="ttname"><a href="namespacefaiss.html#af762526714e6138009c72aee98657538">faiss::imbalance_factor</a></div><div class="ttdeci">double imbalance_factor(int n, int k, const long *assign)</div><div class="ttdoc">a balanced assignment has a IF of 1 </div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l01445">utils.cpp:1445</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIVFFlat_html_a46ee62aabc316ec38882a3f54e594559"><div class="ttname"><a href="structfaiss_1_1IndexIVFFlat.html#a46ee62aabc316ec38882a3f54e594559">faiss::IndexIVFFlat::remove_ids</a></div><div class="ttdeci">virtual long remove_ids(const IDSelector &amp;sel) override</div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8cpp_source.html#l00476">IndexIVF.cpp:476</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIVFFlat_html"><div class="ttname"><a href="structfaiss_1_1IndexIVFFlat.html">faiss::IndexIVFFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00113">IndexIVF.h:113</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIVF_html_af16d325f5bef22b2e5f90ceea796e80d"><div class="ttname"><a href="structfaiss_1_1IndexIVF.html#af16d325f5bef22b2e5f90ceea796e80d">faiss::IndexIVF::ids</a></div><div class="ttdeci">std::vector&lt; std::vector&lt; long &gt; &gt; ids</div><div class="ttdoc">Inverted lists for indexes. </div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00056">IndexIVF.h:56</a></div></div>
......
......@@ -282,7 +282,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="structfaiss_1_1LinearTransform_html"><div class="ttname"><a href="structfaiss_1_1LinearTransform.html">faiss::LinearTransform</a></div><div class="ttdef"><b>Definition:</b> <a href="VectorTransform_8h_source.html#l00078">VectorTransform.h:78</a></div></div>
<div class="ttc" id="structfaiss_1_1HeapArray_html"><div class="ttname"><a href="structfaiss_1_1HeapArray.html">faiss::HeapArray</a></div><div class="ttdef"><b>Definition:</b> <a href="Heap_8h_source.html#l00351">Heap.h:351</a></div></div>
<div class="ttc" id="structfaiss_1_1Index_html_a040c6aed1f224f3ea7bf58eebc0c31a4"><div class="ttname"><a href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">faiss::Index::idx_t</a></div><div class="ttdeci">long idx_t</div><div class="ttdoc">all indices are this type </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00064">Index.h:64</a></div></div>
<div class="ttc" id="namespacefaiss_html_ac0b4dc73a8470d61f510396dc460ca18"><div class="ttname"><a href="namespacefaiss.html#ac0b4dc73a8470d61f510396dc460ca18">faiss::hammings_knn</a></div><div class="ttdeci">void hammings_knn(int_maxheap_array_t *ha, const uint8_t *a, const uint8_t *b, size_t nb, size_t ncodes, int order)</div><div class="ttdef"><b>Definition:</b> <a href="hamming_8cpp_source.html#l00471">hamming.cpp:471</a></div></div>
<div class="ttc" id="namespacefaiss_html_ac0b4dc73a8470d61f510396dc460ca18"><div class="ttname"><a href="namespacefaiss.html#ac0b4dc73a8470d61f510396dc460ca18">faiss::hammings_knn</a></div><div class="ttdeci">void hammings_knn(int_maxheap_array_t *ha, const uint8_t *a, const uint8_t *b, size_t nb, size_t ncodes, int order)</div><div class="ttdef"><b>Definition:</b> <a href="hamming_8cpp_source.html#l00475">hamming.cpp:475</a></div></div>
<div class="ttc" id="structfaiss_1_1Index_html_a6970683faa021b7a6f1a0865c0d4eccd"><div class="ttname"><a href="structfaiss_1_1Index.html#a6970683faa021b7a6f1a0865c0d4eccd">faiss::Index::ntotal</a></div><div class="ttdeci">idx_t ntotal</div><div class="ttdoc">total nb of indexed vectors </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00067">Index.h:67</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexLSH_html_aba7791311191bb168b79f8f59dd459ab"><div class="ttname"><a href="structfaiss_1_1IndexLSH.html#aba7791311191bb168b79f8f59dd459ab">faiss::IndexLSH::reset</a></div><div class="ttdeci">virtual void reset() override</div><div class="ttdoc">removes all elements from the database. </div><div class="ttdef"><b>Definition:</b> <a href="IndexLSH_8cpp_source.html#l00182">IndexLSH.cpp:182</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexLSH_html_a76de2c3212c72fd48136d84283a6e0a8"><div class="ttname"><a href="structfaiss_1_1IndexLSH.html#a76de2c3212c72fd48136d84283a6e0a8">faiss::IndexLSH::add</a></div><div class="ttdeci">virtual void add(idx_t n, const float *x) override</div><div class="ttdef"><b>Definition:</b> <a href="IndexLSH_8cpp_source.html#l00124">IndexLSH.cpp:124</a></div></div>
......
......@@ -986,7 +986,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="structfaiss_1_1SemiSortedArray_html"><div class="ttname"><a href="structfaiss_1_1SemiSortedArray.html">faiss::SemiSortedArray</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexPQ_8cpp_source.html#l00559">IndexPQ.cpp:559</a></div></div>
<div class="ttc" id="structfaiss_1_1ProductQuantizer_html_a3521b9a36c28219fd6180cc7a9ce8207"><div class="ttname"><a href="structfaiss_1_1ProductQuantizer.html#a3521b9a36c28219fd6180cc7a9ce8207">faiss::ProductQuantizer::compute_distance_tables</a></div><div class="ttdeci">void compute_distance_tables(size_t nx, const float *x, float *dis_tables) const </div><div class="ttdef"><b>Definition:</b> <a href="ProductQuantizer_8cpp_source.html#l00439">ProductQuantizer.cpp:439</a></div></div>
<div class="ttc" id="structfaiss_1_1SortedArray_html"><div class="ttname"><a href="structfaiss_1_1SortedArray.html">faiss::SortedArray</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexPQ_8cpp_source.html#l00488">IndexPQ.cpp:488</a></div></div>
<div class="ttc" id="namespacefaiss_html_ae81da42f6f40356f7525917b3acb54c8"><div class="ttname"><a href="namespacefaiss.html#ae81da42f6f40356f7525917b3acb54c8">faiss::generalized_hammings_knn</a></div><div class="ttdeci">void generalized_hammings_knn(int_maxheap_array_t *ha, const uint8_t *a, const uint8_t *b, size_t nb, size_t code_size, int ordered)</div><div class="ttdef"><b>Definition:</b> <a href="hamming_8cpp_source.html#l00626">hamming.cpp:626</a></div></div>
<div class="ttc" id="namespacefaiss_html_ae81da42f6f40356f7525917b3acb54c8"><div class="ttname"><a href="namespacefaiss.html#ae81da42f6f40356f7525917b3acb54c8">faiss::generalized_hammings_knn</a></div><div class="ttdeci">void generalized_hammings_knn(int_maxheap_array_t *ha, const uint8_t *a, const uint8_t *b, size_t nb, size_t code_size, int ordered)</div><div class="ttdef"><b>Definition:</b> <a href="hamming_8cpp_source.html#l00635">hamming.cpp:635</a></div></div>
<div class="ttc" id="structfaiss_1_1ProductQuantizer_html_a95060fedd7c09eb20e968fd2fdb4b316"><div class="ttname"><a href="structfaiss_1_1ProductQuantizer.html#a95060fedd7c09eb20e968fd2fdb4b316">faiss::ProductQuantizer::compute_code_from_distance_table</a></div><div class="ttdeci">void compute_code_from_distance_table(const float *tab, uint8_t *code) const </div><div class="ttdef"><b>Definition:</b> <a href="ProductQuantizer_8cpp_source.html#l00363">ProductQuantizer.cpp:363</a></div></div>
<div class="ttc" id="structfaiss_1_1ProductQuantizer_html_ae5a340ee5a4b1d35a565b167de2a2ef1"><div class="ttname"><a href="structfaiss_1_1ProductQuantizer.html#ae5a340ee5a4b1d35a565b167de2a2ef1">faiss::ProductQuantizer::compute_codes</a></div><div class="ttdeci">void compute_codes(const float *x, uint8_t *codes, size_t n) const </div><div class="ttdoc">same as compute_code for several vectors </div><div class="ttdef"><b>Definition:</b> <a href="ProductQuantizer_8cpp_source.html#l00385">ProductQuantizer.cpp:385</a></div></div>
<div class="ttc" id="structfaiss_1_1Index_html_a2a002388d2c081c2dbab8508dcefe73d"><div class="ttname"><a href="structfaiss_1_1Index.html#a2a002388d2c081c2dbab8508dcefe73d">faiss::Index::d</a></div><div class="ttdeci">int d</div><div class="ttdoc">vector dimension </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00066">Index.h:66</a></div></div>
......@@ -1000,7 +1000,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="structfaiss_1_1ProductQuantizer_html_a66be226806ca2abcaaf1653cdc690aa6"><div class="ttname"><a href="structfaiss_1_1ProductQuantizer.html#a66be226806ca2abcaaf1653cdc690aa6">faiss::ProductQuantizer::search_ip</a></div><div class="ttdeci">void search_ip(const float *x, size_t nx, const uint8_t *codes, const size_t ncodes, float_minheap_array_t *res, bool init_finalize_heap=true) const </div><div class="ttdef"><b>Definition:</b> <a href="ProductQuantizer_8cpp_source.html#l00564">ProductQuantizer.cpp:564</a></div></div>
<div class="ttc" id="structfaiss_1_1Index_html_a040c6aed1f224f3ea7bf58eebc0c31a4"><div class="ttname"><a href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">faiss::Index::idx_t</a></div><div class="ttdeci">long idx_t</div><div class="ttdoc">all indices are this type </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00064">Index.h:64</a></div></div>
<div class="ttc" id="structfaiss_1_1MultiIndexQuantizer_html_ac7943184d37e953cb0c1ab589202afa8"><div class="ttname"><a href="structfaiss_1_1MultiIndexQuantizer.html#ac7943184d37e953cb0c1ab589202afa8">faiss::MultiIndexQuantizer::train</a></div><div class="ttdeci">virtual void train(idx_t n, const float *x)</div><div class="ttdef"><b>Definition:</b> <a href="IndexPQ_8cpp_source.html#l00814">IndexPQ.cpp:814</a></div></div>
<div class="ttc" id="namespacefaiss_html_ac0b4dc73a8470d61f510396dc460ca18"><div class="ttname"><a href="namespacefaiss.html#ac0b4dc73a8470d61f510396dc460ca18">faiss::hammings_knn</a></div><div class="ttdeci">void hammings_knn(int_maxheap_array_t *ha, const uint8_t *a, const uint8_t *b, size_t nb, size_t ncodes, int order)</div><div class="ttdef"><b>Definition:</b> <a href="hamming_8cpp_source.html#l00471">hamming.cpp:471</a></div></div>
<div class="ttc" id="namespacefaiss_html_ac0b4dc73a8470d61f510396dc460ca18"><div class="ttname"><a href="namespacefaiss.html#ac0b4dc73a8470d61f510396dc460ca18">faiss::hammings_knn</a></div><div class="ttdeci">void hammings_knn(int_maxheap_array_t *ha, const uint8_t *a, const uint8_t *b, size_t nb, size_t ncodes, int order)</div><div class="ttdef"><b>Definition:</b> <a href="hamming_8cpp_source.html#l00475">hamming.cpp:475</a></div></div>
<div class="ttc" id="structfaiss_1_1MultiIndexQuantizer_html_ad2d45625186b2daf6044f9266e6c1b93"><div class="ttname"><a href="structfaiss_1_1MultiIndexQuantizer.html#ad2d45625186b2daf6044f9266e6c1b93">faiss::MultiIndexQuantizer::add</a></div><div class="ttdeci">virtual void add(idx_t n, const float *x)</div><div class="ttdoc">add and reset will crash at runtime </div><div class="ttdef"><b>Definition:</b> <a href="IndexPQ_8cpp_source.html#l00872">IndexPQ.cpp:872</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexPQ_html_aa7b7cfe0c8dfd37c8a940fd93d12dc88"><div class="ttname"><a href="structfaiss_1_1IndexPQ.html#aa7b7cfe0c8dfd37c8a940fd93d12dc88">faiss::IndexPQ::pq</a></div><div class="ttdeci">ProductQuantizer pq</div><div class="ttdoc">The product quantizer used to encode the vectors. </div><div class="ttdef"><b>Definition:</b> <a href="IndexPQ_8h_source.html#l00032">IndexPQ.h:32</a></div></div>
<div class="ttc" id="structfaiss_1_1Index_html_a6970683faa021b7a6f1a0865c0d4eccd"><div class="ttname"><a href="structfaiss_1_1Index.html#a6970683faa021b7a6f1a0865c0d4eccd">faiss::Index::ntotal</a></div><div class="ttdeci">idx_t ntotal</div><div class="ttdoc">total nb of indexed vectors </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00067">Index.h:67</a></div></div>
......
......@@ -308,7 +308,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;} } <span class="comment">// namespace</span></div>
<div class="ttc" id="structfaiss_1_1IndexShards_html_a36fbcc85eed9bf2ea15587f04be9ae0b"><div class="ttname"><a href="structfaiss_1_1IndexShards.html#a36fbcc85eed9bf2ea15587f04be9ae0b">faiss::IndexShards::train</a></div><div class="ttdeci">virtual void train(idx_t n, const float *x) override</div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00276">MetaIndexes.cpp:276</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexShards_html_a36fbcc85eed9bf2ea15587f04be9ae0b"><div class="ttname"><a href="structfaiss_1_1IndexShards.html#a36fbcc85eed9bf2ea15587f04be9ae0b">faiss::IndexShards::train</a></div><div class="ttdeci">virtual void train(idx_t n, const float *x) override</div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00310">MetaIndexes.cpp:310</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IndexProxy_html_a99aaeb0573880fa4d6efaeb39f93deeb"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IndexProxy.html#a99aaeb0573880fa4d6efaeb39f93deeb">faiss::gpu::IndexProxy::removeIndex</a></div><div class="ttdeci">void removeIndex(faiss::Index *index)</div><div class="ttdef"><b>Definition:</b> <a href="IndexProxy_8cpp_source.html#l00068">IndexProxy.cpp:68</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IndexProxy_html_a4efa3134256a6cd6a98c45184a7e8dbf"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IndexProxy.html#a4efa3134256a6cd6a98c45184a7e8dbf">faiss::gpu::IndexProxy::runOnIndex</a></div><div class="ttdeci">void runOnIndex(std::function&lt; void(faiss::Index *)&gt; f)</div><div class="ttdef"><b>Definition:</b> <a href="IndexProxy_8cpp_source.html#l00086">IndexProxy.cpp:86</a></div></div>
<div class="ttc" id="structfaiss_1_1Index_html_a849361f5f0ab0aba8d419c86f2594191"><div class="ttname"><a href="structfaiss_1_1Index.html#a849361f5f0ab0aba8d419c86f2594191">faiss::Index::reset</a></div><div class="ttdeci">virtual void reset()=0</div><div class="ttdoc">removes all elements from the database. </div></div>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
......@@ -574,7 +574,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; CODE_DISTANCE(10);</div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">case</span> 12:</div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; CODE_DISTANCE(10);</div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; CODE_DISTANCE(12);</div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">case</span> 16:</div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; CODE_DISTANCE(16);</div>
......
This diff is collapsed.
......@@ -1047,7 +1047,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160;} <span class="comment">// namespace faiss</span></div>
<div class="ttc" id="structfaiss_1_1RandomGenerator_html"><div class="ttname"><a href="structfaiss_1_1RandomGenerator.html">faiss::RandomGenerator</a></div><div class="ttdoc">random generator that can be used in multithreaded contexts </div><div class="ttdef"><b>Definition:</b> <a href="utils_8h_source.html#l00049">utils.h:49</a></div></div>
<div class="ttc" id="structfaiss_1_1ProductQuantizer_html_ac920fea11f02e8407d12cc99a09f5ea5"><div class="ttname"><a href="structfaiss_1_1ProductQuantizer.html#ac920fea11f02e8407d12cc99a09f5ea5">faiss::ProductQuantizer::nbits</a></div><div class="ttdeci">size_t nbits</div><div class="ttdoc">number of bits per quantization index </div><div class="ttdef"><b>Definition:</b> <a href="ProductQuantizer_8h_source.html#l00030">ProductQuantizer.h:30</a></div></div>
<div class="ttc" id="namespacefaiss_html_a7466bd32de31640860393a701eaac5ad"><div class="ttname"><a href="namespacefaiss.html#a7466bd32de31640860393a701eaac5ad">faiss::fvec_L2sqr</a></div><div class="ttdeci">float fvec_L2sqr(const float *x, const float *y, size_t d)</div><div class="ttdoc">Squared L2 distance between two vectors. </div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l00431">utils.cpp:431</a></div></div>
<div class="ttc" id="namespacefaiss_html_a7466bd32de31640860393a701eaac5ad"><div class="ttname"><a href="namespacefaiss.html#a7466bd32de31640860393a701eaac5ad">faiss::fvec_L2sqr</a></div><div class="ttdeci">float fvec_L2sqr(const float *x, const float *y, size_t d)</div><div class="ttdoc">Squared L2 distance between two vectors. </div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l00430">utils.cpp:430</a></div></div>
<div class="ttc" id="structfaiss_1_1ProductQuantizer_html_a13bf69a0dc7b4e45792d10f458e4a92d"><div class="ttname"><a href="structfaiss_1_1ProductQuantizer.html#a13bf69a0dc7b4e45792d10f458e4a92d">faiss::ProductQuantizer::byte_per_idx</a></div><div class="ttdeci">size_t byte_per_idx</div><div class="ttdoc">nb bytes per code component (1 or 2) </div><div class="ttdef"><b>Definition:</b> <a href="ProductQuantizer_8h_source.html#l00034">ProductQuantizer.h:34</a></div></div>
<div class="ttc" id="structfaiss_1_1Score3Computer_html_a567feac7ddd3bb467a9ed30671caccb1"><div class="ttname"><a href="structfaiss_1_1Score3Computer.html#a567feac7ddd3bb467a9ed30671caccb1">faiss::Score3Computer::compute_update</a></div><div class="ttdeci">Taccu compute_update(const int *perm, int iw, int jw) const </div><div class="ttdef"><b>Definition:</b> <a href="PolysemousTraining_8cpp_source.html#l00495">PolysemousTraining.cpp:495</a></div></div>
<div class="ttc" id="structfaiss_1_1ProductQuantizer_html_a6bd65fb4407452f73acb7242931d09e4"><div class="ttname"><a href="structfaiss_1_1ProductQuantizer.html#a6bd65fb4407452f73acb7242931d09e4">faiss::ProductQuantizer::sdc_table</a></div><div class="ttdeci">std::vector&lt; float &gt; sdc_table</div><div class="ttdoc">Symmetric Distance Table. </div><div class="ttdef"><b>Definition:</b> <a href="ProductQuantizer_8h_source.html#l00156">ProductQuantizer.h:156</a></div></div>
......@@ -1063,9 +1063,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="structfaiss_1_1RandomGenerator_html_a583f124ecacdbe037ac96e23a44dd420"><div class="ttname"><a href="structfaiss_1_1RandomGenerator.html#a583f124ecacdbe037ac96e23a44dd420">faiss::RandomGenerator::rand_int</a></div><div class="ttdeci">int rand_int()</div><div class="ttdoc">random 31-bit positive integer </div></div>
<div class="ttc" id="structfaiss_1_1ProductQuantizer_html_a0feee45e4151547b7a0444c14bad398f"><div class="ttname"><a href="structfaiss_1_1ProductQuantizer.html#a0feee45e4151547b7a0444c14bad398f">faiss::ProductQuantizer::ksub</a></div><div class="ttdeci">size_t ksub</div><div class="ttdoc">number of centroids for each subquantizer </div><div class="ttdef"><b>Definition:</b> <a href="ProductQuantizer_8h_source.html#l00036">ProductQuantizer.h:36</a></div></div>
<div class="ttc" id="structfaiss_1_1PolysemousTraining_html_a0ac61389b6fcc7f98e998d9d0cc2664a"><div class="ttname"><a href="structfaiss_1_1PolysemousTraining.html#a0ac61389b6fcc7f98e998d9d0cc2664a">faiss::PolysemousTraining::optimize_ranking</a></div><div class="ttdeci">void optimize_ranking(ProductQuantizer &amp;pq, size_t n, const float *x) const </div><div class="ttdoc">called by optimize_pq_for_hamming </div><div class="ttdef"><b>Definition:</b> <a href="PolysemousTraining_8cpp_source.html#l00839">PolysemousTraining.cpp:839</a></div></div>
<div class="ttc" id="namespacefaiss_html_a3d9c7db82d43c1f0ab1d28b92bc9fe57"><div class="ttname"><a href="namespacefaiss.html#a3d9c7db82d43c1f0ab1d28b92bc9fe57">faiss::pairwise_L2sqr</a></div><div class="ttdeci">void pairwise_L2sqr(long d, long nq, const float *xq, long nb, const float *xb, float *dis, long ldq, long ldb, long ldd)</div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l01229">utils.cpp:1229</a></div></div>
<div class="ttc" id="namespacefaiss_html_a3d9c7db82d43c1f0ab1d28b92bc9fe57"><div class="ttname"><a href="namespacefaiss.html#a3d9c7db82d43c1f0ab1d28b92bc9fe57">faiss::pairwise_L2sqr</a></div><div class="ttdeci">void pairwise_L2sqr(long d, long nq, const float *xq, long nb, const float *xb, float *dis, long ldq, long ldb, long ldd)</div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l01228">utils.cpp:1228</a></div></div>
<div class="ttc" id="structfaiss_1_1Score3Computer_html"><div class="ttname"><a href="structfaiss_1_1Score3Computer.html">faiss::Score3Computer</a></div><div class="ttdef"><b>Definition:</b> <a href="PolysemousTraining_8cpp_source.html#l00452">PolysemousTraining.cpp:452</a></div></div>
<div class="ttc" id="namespacefaiss_html_af2a71f7d5402ae02ce169a4cc83020eb"><div class="ttname"><a href="namespacefaiss.html#af2a71f7d5402ae02ce169a4cc83020eb">faiss::getmillisecs</a></div><div class="ttdeci">double getmillisecs()</div><div class="ttdoc">ms elapsed since some arbitrary epoch </div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l00072">utils.cpp:72</a></div></div>
<div class="ttc" id="namespacefaiss_html_af2a71f7d5402ae02ce169a4cc83020eb"><div class="ttname"><a href="namespacefaiss.html#af2a71f7d5402ae02ce169a4cc83020eb">faiss::getmillisecs</a></div><div class="ttdeci">double getmillisecs()</div><div class="ttdoc">ms elapsed since some arbitrary epoch </div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l00071">utils.cpp:71</a></div></div>
<div class="ttc" id="structfaiss_1_1ReproduceDistancesObjective_html_a982332b44ff32b9ae9694e374acd0aff"><div class="ttname"><a href="structfaiss_1_1ReproduceDistancesObjective.html#a982332b44ff32b9ae9694e374acd0aff">faiss::ReproduceDistancesObjective::weights</a></div><div class="ttdeci">std::vector&lt; double &gt; weights</div><div class="ttdoc">weights for each distance (size n^2) </div><div class="ttdef"><b>Definition:</b> <a href="PolysemousTraining_8h_source.html#l00071">PolysemousTraining.h:71</a></div></div>
<div class="ttc" id="structfaiss_1_1RankingScore2_html_a16c753a4136b3c851ea81133a26a02da"><div class="ttname"><a href="structfaiss_1_1RankingScore2.html#a16c753a4136b3c851ea81133a26a02da">faiss::RankingScore2::accum_gt_weight_diff</a></div><div class="ttdeci">double accum_gt_weight_diff(const std::vector&lt; int &gt; &amp;a, const std::vector&lt; int &gt; &amp;b)</div><div class="ttdef"><b>Definition:</b> <a href="PolysemousTraining_8cpp_source.html#l00695">PolysemousTraining.cpp:695</a></div></div>
<div class="ttc" id="structfaiss_1_1SimulatedAnnealingParameters_html"><div class="ttname"><a href="structfaiss_1_1SimulatedAnnealingParameters.html">faiss::SimulatedAnnealingParameters</a></div><div class="ttdoc">parameters used for the simulated annealing method </div><div class="ttdef"><b>Definition:</b> <a href="PolysemousTraining_8h_source.html#l00026">PolysemousTraining.h:26</a></div></div>
......
......@@ -767,7 +767,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="structfaiss_1_1ProductQuantizer_html_a0feee45e4151547b7a0444c14bad398f"><div class="ttname"><a href="structfaiss_1_1ProductQuantizer.html#a0feee45e4151547b7a0444c14bad398f">faiss::ProductQuantizer::ksub</a></div><div class="ttdeci">size_t ksub</div><div class="ttdoc">number of centroids for each subquantizer </div><div class="ttdef"><b>Definition:</b> <a href="ProductQuantizer_8h_source.html#l00036">ProductQuantizer.h:36</a></div></div>
<div class="ttc" id="structfaiss_1_1HeapArray_html"><div class="ttname"><a href="structfaiss_1_1HeapArray.html">faiss::HeapArray</a></div><div class="ttdef"><b>Definition:</b> <a href="Heap_8h_source.html#l00351">Heap.h:351</a></div></div>
<div class="ttc" id="structfaiss_1_1ProductQuantizer_html_a66be226806ca2abcaaf1653cdc690aa6"><div class="ttname"><a href="structfaiss_1_1ProductQuantizer.html#a66be226806ca2abcaaf1653cdc690aa6">faiss::ProductQuantizer::search_ip</a></div><div class="ttdeci">void search_ip(const float *x, size_t nx, const uint8_t *codes, const size_t ncodes, float_minheap_array_t *res, bool init_finalize_heap=true) const </div><div class="ttdef"><b>Definition:</b> <a href="ProductQuantizer_8cpp_source.html#l00564">ProductQuantizer.cpp:564</a></div></div>
<div class="ttc" id="namespacefaiss_html_a3d9c7db82d43c1f0ab1d28b92bc9fe57"><div class="ttname"><a href="namespacefaiss.html#a3d9c7db82d43c1f0ab1d28b92bc9fe57">faiss::pairwise_L2sqr</a></div><div class="ttdeci">void pairwise_L2sqr(long d, long nq, const float *xq, long nb, const float *xb, float *dis, long ldq, long ldb, long ldd)</div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l01229">utils.cpp:1229</a></div></div>
<div class="ttc" id="namespacefaiss_html_a3d9c7db82d43c1f0ab1d28b92bc9fe57"><div class="ttname"><a href="namespacefaiss.html#a3d9c7db82d43c1f0ab1d28b92bc9fe57">faiss::pairwise_L2sqr</a></div><div class="ttdeci">void pairwise_L2sqr(long d, long nq, const float *xq, long nb, const float *xb, float *dis, long ldq, long ldb, long ldd)</div><div class="ttdef"><b>Definition:</b> <a href="utils_8cpp_source.html#l01228">utils.cpp:1228</a></div></div>
<div class="ttc" id="structfaiss_1_1ProductQuantizer_html_a08b130e3a21f2699a4e3bbec121fb838"><div class="ttname"><a href="structfaiss_1_1ProductQuantizer.html#a08b130e3a21f2699a4e3bbec121fb838">faiss::ProductQuantizer::compute_code</a></div><div class="ttdeci">void compute_code(const float *x, uint8_t *code) const </div><div class="ttdoc">Quantize one vector with the product quantizer. </div><div class="ttdef"><b>Definition:</b> <a href="ProductQuantizer_8cpp_source.html#l00311">ProductQuantizer.cpp:311</a></div></div>
<div class="ttc" id="structfaiss_1_1ProductQuantizer_html_a3a41c6286095e731be744548d9535a35a4960d143d2aa49cf92028cf3470c47a0"><div class="ttname"><a href="structfaiss_1_1ProductQuantizer.html#a3a41c6286095e731be744548d9535a35a4960d143d2aa49cf92028cf3470c47a0">faiss::ProductQuantizer::Train_hot_start</a></div><div class="ttdoc">the centroids are already initialized </div><div class="ttdef"><b>Definition:</b> <a href="ProductQuantizer_8h_source.html#l00043">ProductQuantizer.h:43</a></div></div>
<div class="ttc" id="structfaiss_1_1ProductQuantizer_html_af265acf5aa1bcda60898002287e6a3d6"><div class="ttname"><a href="structfaiss_1_1ProductQuantizer.html#af265acf5aa1bcda60898002287e6a3d6">faiss::ProductQuantizer::cp</a></div><div class="ttdeci">ClusteringParameters cp</div><div class="ttdoc">parameters used during clustering </div><div class="ttdef"><b>Definition:</b> <a href="ProductQuantizer_8h_source.html#l00050">ProductQuantizer.h:50</a></div></div>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -264,7 +264,7 @@ std::vector&lt; std::unique_ptr<br class="typebreak"/>
</div><div class="memdoc">
<p>For debugging purposes, return the list length of a particular list </p>
<p>Definition at line <a class="el" href="IVFBase_8cu_source.html#l00198">198</a> of file <a class="el" href="IVFBase_8cu_source.html">IVFBase.cu</a>.</p>
<p>Definition at line <a class="el" href="IVFBase_8cu_source.html#l00199">199</a> of file <a class="el" href="IVFBase_8cu_source.html">IVFBase.cu</a>.</p>
</div>
</div>
......@@ -282,7 +282,7 @@ std::vector&lt; std::unique_ptr<br class="typebreak"/>
</div><div class="memdoc">
<p>After adding vectors, one can call this to reclaim device memory to exactly the amount needed. Returns space reclaimed in bytes </p>
<p>Definition at line <a class="el" href="IVFBase_8cu_source.html#l00103">103</a> of file <a class="el" href="IVFBase_8cu_source.html">IVFBase.cu</a>.</p>
<p>Definition at line <a class="el" href="IVFBase_8cu_source.html#l00104">104</a> of file <a class="el" href="IVFBase_8cu_source.html">IVFBase.cu</a>.</p>
</div>
</div>
......@@ -309,7 +309,7 @@ std::vector&lt; std::unique_ptr<br class="typebreak"/>
</div><div class="memdoc">
<p>Reclaim memory consumed on the device for our inverted lists <code>exact</code> means we trim exactly to the memory needed </p>
<p>Definition at line <a class="el" href="IVFBase_8cu_source.html#l00109">109</a> of file <a class="el" href="IVFBase_8cu_source.html">IVFBase.cu</a>.</p>
<p>Definition at line <a class="el" href="IVFBase_8cu_source.html#l00110">110</a> of file <a class="el" href="IVFBase_8cu_source.html">IVFBase.cu</a>.</p>
</div>
</div>
......@@ -364,7 +364,7 @@ std::vector&lt; std::unique_ptr<br class="typebreak"/>
</div><div class="memdoc">
<p>For a set of list IDs, update device-side list pointer and size information </p>
<p>Definition at line <a class="el" href="IVFBase_8cu_source.html#l00146">146</a> of file <a class="el" href="IVFBase_8cu_source.html">IVFBase.cu</a>.</p>
<p>Definition at line <a class="el" href="IVFBase_8cu_source.html#l00147">147</a> of file <a class="el" href="IVFBase_8cu_source.html">IVFBase.cu</a>.</p>
</div>
</div>
......
......@@ -329,7 +329,7 @@ std::vector&lt; std::unique_ptr<br class="typebreak"/>
</div><div class="memdoc">
<p>Adds a set of codes and indices to a list; the data can be resident on either the host or the device </p>
<p>Definition at line <a class="el" href="IVFPQ_8cu_source.html#l00346">346</a> of file <a class="el" href="IVFPQ_8cu_source.html">IVFPQ.cu</a>.</p>
<p>Definition at line <a class="el" href="IVFPQ_8cu_source.html#l00347">347</a> of file <a class="el" href="IVFPQ_8cu_source.html">IVFPQ.cu</a>.</p>
</div>
</div>
......@@ -358,7 +358,7 @@ std::vector&lt; std::unique_ptr<br class="typebreak"/>
</div><div class="memdoc">
<p>Calcuates the residual and quantizes the vectors, adding them to this index The input data must be on our current device. Returns the number of vectors successfully added. Vectors may not be able to be added because they contain NaNs. </p>
<p>Definition at line <a class="el" href="IVFPQ_8cu_source.html#l00118">118</a> of file <a class="el" href="IVFPQ_8cu_source.html">IVFPQ.cu</a>.</p>
<p>Definition at line <a class="el" href="IVFPQ_8cu_source.html#l00119">119</a> of file <a class="el" href="IVFPQ_8cu_source.html">IVFPQ.cu</a>.</p>
</div>
</div>
......@@ -376,7 +376,7 @@ std::vector&lt; std::unique_ptr<br class="typebreak"/>
</div><div class="memdoc">
<p>Returns our set of sub-quantizers of the form (sub q)(code id)(sub dim) </p>
<p>Definition at line <a class="el" href="IVFPQ_8cu_source.html#l00591">591</a> of file <a class="el" href="IVFPQ_8cu_source.html">IVFPQ.cu</a>.</p>
<p>Definition at line <a class="el" href="IVFPQ_8cu_source.html#l00592">592</a> of file <a class="el" href="IVFPQ_8cu_source.html">IVFPQ.cu</a>.</p>
</div>
</div>
......@@ -403,7 +403,7 @@ std::vector&lt; std::unique_ptr<br class="typebreak"/>
</div><div class="memdoc">
<p>For no precomputed codes, is this a supported sub-dimension size? FIXME: get MM implementation working again </p>
<p>Definition at line <a class="el" href="IVFPQ_8cu_source.html#l00095">95</a> of file <a class="el" href="IVFPQ_8cu_source.html">IVFPQ.cu</a>.</p>
<p>Definition at line <a class="el" href="IVFPQ_8cu_source.html#l00096">96</a> of file <a class="el" href="IVFPQ_8cu_source.html">IVFPQ.cu</a>.</p>
</div>
</div>
......@@ -450,7 +450,7 @@ std::vector&lt; std::unique_ptr<br class="typebreak"/>
</div><div class="memdoc">
<p>Find the approximate k nearest neigbors for <code>queries</code> against our database </p>
<p>Definition at line <a class="el" href="IVFPQ_8cu_source.html#l00516">516</a> of file <a class="el" href="IVFPQ_8cu_source.html">IVFPQ.cu</a>.</p>
<p>Definition at line <a class="el" href="IVFPQ_8cu_source.html#l00517">517</a> of file <a class="el" href="IVFPQ_8cu_source.html">IVFPQ.cu</a>.</p>
</div>
</div>
......
......@@ -87,6 +87,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Directories</h2></td></tr>
<tr class="memitem:dir_d92646511ea2c8ec2c89d5c37e8b5981"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_d92646511ea2c8ec2c89d5c37e8b5981.html">blockselect</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:dir_ea867109ea74d645e3e3cf2a6de09f37"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_ea867109ea74d645e3e3cf2a6de09f37.html">nvidia</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:dir_dbd6ec420472444c618282e2c8178be7"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_dbd6ec420472444c618282e2c8178be7.html">warpselect</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>Faiss: /data/users/matthijs/github_faiss/faiss/gpu/utils/nvidia Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">Faiss
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_6b3ae6988449b0834e9596fad5d75199.html">gpu</a></li><li class="navelem"><a class="el" href="dir_498271007b03b2a0521055e88776887b.html">utils</a></li><li class="navelem"><a class="el" href="dir_ea867109ea74d645e3e3cf2a6de09f37.html">nvidia</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">nvidia Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:fp16__emu_8cu"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>fp16_emu.cu</b> <a href="fp16__emu_8cu_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:fp16__emu_8cuh"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>fp16_emu.cuh</b> <a href="fp16__emu_8cuh_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -518,12 +518,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="structfaiss_1_1GenHammingComputer8_html"><div class="ttname"><a href="structfaiss_1_1GenHammingComputer8.html">faiss::GenHammingComputer8</a></div><div class="ttdef"><b>Definition:</b> <a href="hamming_8h_source.html#l00339">hamming.h:339</a></div></div>
<div class="ttc" id="structfaiss_1_1HammingComputer8_html"><div class="ttname"><a href="structfaiss_1_1HammingComputer8.html">faiss::HammingComputer8</a></div><div class="ttdef"><b>Definition:</b> <a href="hamming_8h_source.html#l00170">hamming.h:170</a></div></div>
<div class="ttc" id="structfaiss_1_1HammingComputer64_html"><div class="ttname"><a href="structfaiss_1_1HammingComputer64.html">faiss::HammingComputer64</a></div><div class="ttdef"><b>Definition:</b> <a href="hamming_8h_source.html#l00236">hamming.h:236</a></div></div>
<div class="ttc" id="namespacefaiss_html_ae81da42f6f40356f7525917b3acb54c8"><div class="ttname"><a href="namespacefaiss.html#ae81da42f6f40356f7525917b3acb54c8">faiss::generalized_hammings_knn</a></div><div class="ttdeci">void generalized_hammings_knn(int_maxheap_array_t *ha, const uint8_t *a, const uint8_t *b, size_t nb, size_t code_size, int ordered)</div><div class="ttdef"><b>Definition:</b> <a href="hamming_8cpp_source.html#l00626">hamming.cpp:626</a></div></div>
<div class="ttc" id="namespacefaiss_html_ae81da42f6f40356f7525917b3acb54c8"><div class="ttname"><a href="namespacefaiss.html#ae81da42f6f40356f7525917b3acb54c8">faiss::generalized_hammings_knn</a></div><div class="ttdeci">void generalized_hammings_knn(int_maxheap_array_t *ha, const uint8_t *a, const uint8_t *b, size_t nb, size_t code_size, int ordered)</div><div class="ttdef"><b>Definition:</b> <a href="hamming_8cpp_source.html#l00635">hamming.cpp:635</a></div></div>
<div class="ttc" id="structfaiss_1_1HammingComputer16_html"><div class="ttname"><a href="structfaiss_1_1HammingComputer16.html">faiss::HammingComputer16</a></div><div class="ttdef"><b>Definition:</b> <a href="hamming_8h_source.html#l00185">hamming.h:185</a></div></div>
<div class="ttc" id="structfaiss_1_1HammingComputer4_html"><div class="ttname"><a href="structfaiss_1_1HammingComputer4.html">faiss::HammingComputer4</a></div><div class="ttdef"><b>Definition:</b> <a href="hamming_8h_source.html#l00156">hamming.h:156</a></div></div>
<div class="ttc" id="structfaiss_1_1GenHammingComputerM8_html"><div class="ttname"><a href="structfaiss_1_1GenHammingComputerM8.html">faiss::GenHammingComputerM8</a></div><div class="ttdef"><b>Definition:</b> <a href="hamming_8h_source.html#l00389">hamming.h:389</a></div></div>
<div class="ttc" id="structfaiss_1_1HeapArray_html"><div class="ttname"><a href="structfaiss_1_1HeapArray.html">faiss::HeapArray</a></div><div class="ttdef"><b>Definition:</b> <a href="Heap_8h_source.html#l00351">Heap.h:351</a></div></div>
<div class="ttc" id="namespacefaiss_html_ac0b4dc73a8470d61f510396dc460ca18"><div class="ttname"><a href="namespacefaiss.html#ac0b4dc73a8470d61f510396dc460ca18">faiss::hammings_knn</a></div><div class="ttdeci">void hammings_knn(int_maxheap_array_t *ha, const uint8_t *a, const uint8_t *b, size_t nb, size_t ncodes, int order)</div><div class="ttdef"><b>Definition:</b> <a href="hamming_8cpp_source.html#l00471">hamming.cpp:471</a></div></div>
<div class="ttc" id="namespacefaiss_html_ac0b4dc73a8470d61f510396dc460ca18"><div class="ttname"><a href="namespacefaiss.html#ac0b4dc73a8470d61f510396dc460ca18">faiss::hammings_knn</a></div><div class="ttdeci">void hammings_knn(int_maxheap_array_t *ha, const uint8_t *a, const uint8_t *b, size_t nb, size_t ncodes, int order)</div><div class="ttdef"><b>Definition:</b> <a href="hamming_8cpp_source.html#l00475">hamming.cpp:475</a></div></div>
<div class="ttc" id="structfaiss_1_1HammingComputer32_html"><div class="ttname"><a href="structfaiss_1_1HammingComputer32.html">faiss::HammingComputer32</a></div><div class="ttdef"><b>Definition:</b> <a href="hamming_8h_source.html#l00219">hamming.h:219</a></div></div>
<div class="ttc" id="structfaiss_1_1GenHammingComputer32_html"><div class="ttname"><a href="structfaiss_1_1GenHammingComputer32.html">faiss::GenHammingComputer32</a></div><div class="ttdef"><b>Definition:</b> <a href="hamming_8h_source.html#l00370">hamming.h:370</a></div></div>
<div class="ttc" id="structfaiss_1_1HammingComputerM8_html"><div class="ttname"><a href="structfaiss_1_1HammingComputerM8.html">faiss::HammingComputerM8</a></div><div class="ttdef"><b>Definition:</b> <a href="hamming_8h_source.html#l00256">hamming.h:256</a></div></div>
......
This diff is collapsed.
......@@ -442,6 +442,14 @@ template&lt;typename T &gt; </td></tr>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:adb31108ab96628b124e5cd72d0183b2e"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><b>maxheap_reorder</b> (size_t k, T *bh_val, long *bh_ids)</td></tr>
<tr class="separator:adb31108ab96628b124e5cd72d0183b2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8023405f5360828c9a892510a5f4c4ec"><td class="memTemplParams" colspan="2"><a class="anchor" id="a8023405f5360828c9a892510a5f4c4ec"></a>
template&lt;class C &gt; </td></tr>
<tr class="memitem:a8023405f5360828c9a892510a5f4c4ec"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>indirect_heap_pop</b> (size_t k, const typename C::T *bh_val, typename C::TI *bh_ids)</td></tr>
<tr class="separator:a8023405f5360828c9a892510a5f4c4ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ecaf37c77256e02a946e1572b992ed5"><td class="memTemplParams" colspan="2"><a class="anchor" id="a8ecaf37c77256e02a946e1572b992ed5"></a>
template&lt;class C &gt; </td></tr>
<tr class="memitem:a8ecaf37c77256e02a946e1572b992ed5"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>indirect_heap_push</b> (size_t k, const typename C::T *bh_val, typename C::TI *bh_ids, typename C::TI id)</td></tr>
<tr class="separator:a8ecaf37c77256e02a946e1572b992ed5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab39977a9b0d876f912d6d7b09f9f3d18"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab39977a9b0d876f912d6d7b09f9f3d18"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>write_VectorTransform</b> (const <a class="el" href="structfaiss_1_1VectorTransform.html">VectorTransform</a> *vt, FILE *f)</td></tr>
<tr class="separator:ab39977a9b0d876f912d6d7b09f9f3d18"><td class="memSeparator" colspan="2">&#160;</td></tr>
......@@ -705,7 +713,7 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>read_old_fmt_hack</b>
</dd>
</dl>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l01466">1466</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l01467">1467</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
</div>
</div>
......@@ -761,7 +769,7 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>read_old_fmt_hack</b>
</dd>
</dl>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l01706">1706</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l01707">1707</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
</div>
</div>
......@@ -809,7 +817,7 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>read_old_fmt_hack</b>
<p>same as fvec_madd, also return index of the min of the result table </p>
<dl class="section return"><dt>Returns</dt><dd>index of the min of table c </dd></dl>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l01780">1780</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l01781">1781</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
</div>
</div>
......@@ -838,7 +846,7 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>read_old_fmt_hack</b>
</div><div class="memdoc">
<p>squared norm of a vector </p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l00512">512</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l00511">511</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
</div>
</div>
......@@ -937,7 +945,7 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>read_old_fmt_hack</b>
</div><div class="memdoc">
<p>generalized Hamming distances (= count number of code bytes that are the same) </p>
<p>Definition at line <a class="el" href="hamming_8cpp_source.html#l00626">626</a> of file <a class="el" href="hamming_8cpp_source.html">hamming.cpp</a>.</p>
<p>Definition at line <a class="el" href="hamming_8cpp_source.html#l00635">635</a> of file <a class="el" href="hamming_8cpp_source.html">hamming.cpp</a>.</p>
</div>
</div>
......@@ -1060,7 +1068,7 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>read_old_fmt_hack</b>
</dd>
</dl>
<p>Definition at line <a class="el" href="hamming_8cpp_source.html#l00471">471</a> of file <a class="el" href="hamming_8cpp_source.html">hamming.cpp</a>.</p>
<p>Definition at line <a class="el" href="hamming_8cpp_source.html#l00475">475</a> of file <a class="el" href="hamming_8cpp_source.html">hamming.cpp</a>.</p>
</div>
</div>
......@@ -1250,7 +1258,7 @@ template&lt;class C &gt; </div>
</div><div class="memdoc">
<p>For k-means: update stage. Returns nb of split clusters. </p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l01285">1285</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l01286">1286</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
</div>
</div>
......@@ -1369,7 +1377,7 @@ template&lt;class C &gt; </div>
</dd>
</dl>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l00831">831</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l00830">830</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
</div>
</div>
......@@ -1422,7 +1430,7 @@ template&lt;class C &gt; </div>
</div><div class="memdoc">
<p>Same as knn_inner_product, for the L2 distance </p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l00851">851</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l00850">850</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
</div>
</div>
......@@ -1487,7 +1495,7 @@ template&lt;class C &gt; </div>
</dd>
</dl>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l00871">871</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l00870">870</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
</div>
</div>
......@@ -1528,7 +1536,7 @@ template&lt;class C &gt; </div>
</dd>
</dl>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l01207">1207</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l01206">1206</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
</div>
</div>
......@@ -1611,7 +1619,7 @@ template&lt;class C &gt; </div>
</dd>
</dl>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l01229">1229</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l01228">1228</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
</div>
</div>
......@@ -1722,7 +1730,7 @@ template&lt;class C &gt; </div>
</dd>
</dl>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l01152">1152</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l01151">1151</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
</div>
</div>
......@@ -1757,7 +1765,7 @@ template&lt;class C &gt; </div>
</div><div class="memdoc">
<p>distances are supposed to be sorted. Sorts indices with same distance </p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l01377">1377</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l01378">1378</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
</div>
</div>
......@@ -1798,7 +1806,7 @@ template&lt;class C &gt; </div>
</div><div class="memdoc">
<p>count the number of comon elements between v1 and v2 algorithm = sorting + bissection to avoid double-counting duplicates </p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l01393">1393</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l01394">1394</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
</div>
</div>
......
......@@ -29,6 +29,7 @@ var searchData=
['loadcode32_3c_2056_20_3e',['LoadCode32&lt; 56 &gt;',['../structfaiss_1_1gpu_1_1LoadCode32_3_0156_01_4.html',1,'faiss::gpu']]],
['loadcode32_3c_2064_20_3e',['LoadCode32&lt; 64 &gt;',['../structfaiss_1_1gpu_1_1LoadCode32_3_0164_01_4.html',1,'faiss::gpu']]],
['loadcode32_3c_208_20_3e',['LoadCode32&lt; 8 &gt;',['../structfaiss_1_1gpu_1_1LoadCode32_3_018_01_4.html',1,'faiss::gpu']]],
['loadcode32_3c_2096_20_3e',['LoadCode32&lt; 96 &gt;',['../structfaiss_1_1gpu_1_1LoadCode32_3_0196_01_4.html',1,'faiss::gpu']]],
['loadcodedistances',['LoadCodeDistances',['../structfaiss_1_1gpu_1_1LoadCodeDistances.html',1,'faiss::gpu']]],
['loadstore',['LoadStore',['../structfaiss_1_1gpu_1_1LoadStore.html',1,'faiss::gpu']]]
];
......@@ -21,6 +21,7 @@ var searchData=
['loadcode32_3c_2056_20_3e',['LoadCode32&lt; 56 &gt;',['../structfaiss_1_1gpu_1_1LoadCode32_3_0156_01_4.html',1,'faiss::gpu']]],
['loadcode32_3c_2064_20_3e',['LoadCode32&lt; 64 &gt;',['../structfaiss_1_1gpu_1_1LoadCode32_3_0164_01_4.html',1,'faiss::gpu']]],
['loadcode32_3c_208_20_3e',['LoadCode32&lt; 8 &gt;',['../structfaiss_1_1gpu_1_1LoadCode32_3_018_01_4.html',1,'faiss::gpu']]],
['loadcode32_3c_2096_20_3e',['LoadCode32&lt; 96 &gt;',['../structfaiss_1_1gpu_1_1LoadCode32_3_0196_01_4.html',1,'faiss::gpu']]],
['loadcodedistances',['LoadCodeDistances',['../structfaiss_1_1gpu_1_1LoadCodeDistances.html',1,'faiss::gpu']]],
['loadstore',['LoadStore',['../structfaiss_1_1gpu_1_1LoadStore.html',1,'faiss::gpu']]]
];
......@@ -109,7 +109,7 @@ const float *&#160;</td><td class="memItemRight" valign="bottom"><b>base_shift</
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l00864">864</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l00863">863</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>/data/users/matthijs/github_faiss/faiss/<a class="el" href="utils_8cpp_source.html">utils.cpp</a></li>
</ul>
......
This diff is collapsed.
This diff is collapsed.
......@@ -248,7 +248,7 @@ typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr
<p>Implements <a class="el" href="structfaiss_1_1Index.html#a1b5e9ac70adbce0897dd6c8276ad96f2">faiss::Index</a>.</p>
<p>Definition at line <a class="el" href="MetaIndexes_8cpp_source.html#l00499">499</a> of file <a class="el" href="MetaIndexes_8cpp_source.html">MetaIndexes.cpp</a>.</p>
<p>Definition at line <a class="el" href="MetaIndexes_8cpp_source.html#l00535">535</a> of file <a class="el" href="MetaIndexes_8cpp_source.html">MetaIndexes.cpp</a>.</p>
</div>
</div>
......@@ -314,7 +314,7 @@ typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr
<p>Implements <a class="el" href="structfaiss_1_1Index.html#aced51b1ebc33c47ab3ae15ea906559a7">faiss::Index</a>.</p>
<p>Definition at line <a class="el" href="MetaIndexes_8cpp_source.html#l00544">544</a> of file <a class="el" href="MetaIndexes_8cpp_source.html">MetaIndexes.cpp</a>.</p>
<p>Definition at line <a class="el" href="MetaIndexes_8cpp_source.html#l00580">580</a> of file <a class="el" href="MetaIndexes_8cpp_source.html">MetaIndexes.cpp</a>.</p>
</div>
</div>
......@@ -360,7 +360,7 @@ typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr
<p>Reimplemented from <a class="el" href="structfaiss_1_1Index.html#a8f67dfd73993e192dc78f2c93d9d9532">faiss::Index</a>.</p>
<p>Definition at line <a class="el" href="MetaIndexes_8cpp_source.html#l00599">599</a> of file <a class="el" href="MetaIndexes_8cpp_source.html">MetaIndexes.cpp</a>.</p>
<p>Definition at line <a class="el" href="MetaIndexes_8cpp_source.html#l00635">635</a> of file <a class="el" href="MetaIndexes_8cpp_source.html">MetaIndexes.cpp</a>.</p>
</div>
</div>
......
......@@ -155,7 +155,7 @@ double&#160;</td><td class="memItemRight" valign="bottom"><b>rand_double</b> ()<
</ul>
<p>Unfortunately, system designers are more concerned with making the most unpredictable random sequences for cryptographic use, when in scientific contexts what acutally matters is having reproducible squences in multi-threaded contexts. </p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l00203">203</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
<p>Definition at line <a class="el" href="utils_8cpp_source.html#l00202">202</a> of file <a class="el" href="utils_8cpp_source.html">utils.cpp</a>.</p>
</div>
</div>
......
......@@ -105,7 +105,7 @@ static __device__ void&#160;</td><td class="memItemRight" valign="bottom"><b>loa
struct faiss::gpu::LoadCode32&lt; 56 &gt;</h3>
<p>Definition at line <a class="el" href="PQCodeLoad_8cuh_source.html#l00303">303</a> of file <a class="el" href="PQCodeLoad_8cuh_source.html">PQCodeLoad.cuh</a>.</p>
<p>Definition at line <a class="el" href="PQCodeLoad_8cuh_source.html#l00272">272</a> of file <a class="el" href="PQCodeLoad_8cuh_source.html">PQCodeLoad.cuh</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>/data/users/matthijs/github_faiss/faiss/gpu/impl/<a class="el" href="PQCodeLoad_8cuh_source.html">PQCodeLoad.cuh</a></li>
</ul>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment