Commit 42483099 authored by matthijs's avatar matthijs

sync with FB version 2018-01-09

- adding HNSW indexing method

- simultaneous search and reconstruction for IndexIVFPQ
parent 9933892e
......@@ -170,7 +170,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;}</div>
<div class="ttc" id="structfaiss_1_1IndexFlatL2_html"><div class="ttname"><a href="structfaiss_1_1IndexFlatL2.html">faiss::IndexFlatL2</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00079">IndexFlat.h:79</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#l00181">IndexIVF.h:181</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#l00235">IndexIVF.h:235</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.
This diff is collapsed.
This diff is collapsed.
......@@ -192,7 +192,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="structfaiss_1_1Clustering_html"><div class="ttname"><a href="structfaiss_1_1Clustering.html">faiss::Clustering</a></div><div class="ttdef"><b>Definition:</b> <a href="Clustering_8h_source.html#l00057">Clustering.h:57</a></div></div>
<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#l00067">Clustering.h:67</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#l00062">Index.h:62</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#l00217">Clustering.cpp:217</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#l00232">Clustering.cpp:232</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#l00063">Clustering.h:63</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#l00059">Clustering.h:59</a></div></div>
<div class="ttc" id="structfaiss_1_1ClusteringParameters_html_a27d6192097920fa981cff0acedfaac91"><div class="ttname"><a href="structfaiss_1_1ClusteringParameters.html#a27d6192097920fa981cff0acedfaac91">faiss::ClusteringParameters::update_index</a></div><div class="ttdeci">bool update_index</div><div class="ttdoc">update index after each iteration? </div><div class="ttdef"><b>Definition:</b> <a href="Clustering_8h_source.html#l00030">Clustering.h:30</a></div></div>
......
......@@ -240,11 +240,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;}</div>
<div class="ttc" id="classfaiss_1_1gpu_1_1CpuTimer_html_a4a2795debf10bc7eb904d62356e41f0d"><div class="ttname"><a href="classfaiss_1_1gpu_1_1CpuTimer.html#a4a2795debf10bc7eb904d62356e41f0d">faiss::gpu::CpuTimer::elapsedMilliseconds</a></div><div class="ttdeci">float elapsedMilliseconds()</div><div class="ttdoc">Returns elapsed time in milliseconds. </div><div class="ttdef"><b>Definition:</b> <a href="Timer_8cpp_source.html#l00052">Timer.cpp:52</a></div></div>
<div class="ttc" id="namespacefaiss_html_aa46fe38a858ecfde7e0fc0744939d5ad"><div class="ttname"><a href="namespacefaiss.html#aa46fe38a858ecfde7e0fc0744939d5ad">faiss::read_index</a></div><div class="ttdeci">Index * read_index(FILE *f, bool try_mmap)</div><div class="ttdef"><b>Definition:</b> <a href="index__io_8cpp_source.html#l00536">index_io.cpp:536</a></div></div>
<div class="ttc" id="namespacefaiss_html_aa46fe38a858ecfde7e0fc0744939d5ad"><div class="ttname"><a href="namespacefaiss.html#aa46fe38a858ecfde7e0fc0744939d5ad">faiss::read_index</a></div><div class="ttdeci">Index * read_index(FILE *f, bool try_mmap)</div><div class="ttdef"><b>Definition:</b> <a href="index__io_8cpp_source.html#l00592">index_io.cpp:592</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexIVFFlatConfig_html_ab98ac354bcd5632976f7edc2deda6e57"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexIVFFlatConfig.html#ab98ac354bcd5632976f7edc2deda6e57">faiss::gpu::GpuIndexIVFFlatConfig::useFloat16IVFStorage</a></div><div class="ttdeci">bool useFloat16IVFStorage</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVFFlat_8h_source.html#l00029">GpuIndexIVFFlat.h:29</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#l00023">GpuResources.h:23</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1CpuTimer_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1CpuTimer.html">faiss::gpu::CpuTimer</a></div><div class="ttdoc">CPU wallclock elapsed timer. </div><div class="ttdef"><b>Definition:</b> <a href="Timer_8h_source.html#l00042">Timer.h:42</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#l00181">IndexIVF.h:181</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#l00235">IndexIVF.h:235</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexFlatConfig_html_afd694186c87751937a646f3db2c8ba3d"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexFlatConfig.html#afd694186c87751937a646f3db2c8ba3d">faiss::gpu::GpuIndexFlatConfig::useFloat16</a></div><div class="ttdeci">bool useFloat16</div><div class="ttdoc">Whether or not data is stored as float16. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexFlat_8h_source.html#l00035">GpuIndexFlat.h:35</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexConfig_html_aab05a0aa7b42feae7df4e556a52ead57"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexConfig.html#aab05a0aa7b42feae7df4e556a52ead57">faiss::gpu::GpuIndexConfig::device</a></div><div class="ttdeci">int device</div><div class="ttdoc">GPU device on which the index is resident. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndex_8h_source.html#l00027">GpuIndex.h:27</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexIVFConfig_html_a6d357a9a67a2fed9c8e7b139712d30f6"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexIVFConfig.html#a6d357a9a67a2fed9c8e7b139712d30f6">faiss::gpu::GpuIndexIVFConfig::flatConfig</a></div><div class="ttdeci">GpuIndexFlatConfig flatConfig</div><div class="ttdoc">Configuration for the coarse quantizer object. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVF_8h_source.html#l00034">GpuIndexIVF.h:34</a></div></div>
......
......@@ -284,7 +284,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;}</div>
<div class="ttc" id="classfaiss_1_1gpu_1_1CpuTimer_html_a4a2795debf10bc7eb904d62356e41f0d"><div class="ttname"><a href="classfaiss_1_1gpu_1_1CpuTimer.html#a4a2795debf10bc7eb904d62356e41f0d">faiss::gpu::CpuTimer::elapsedMilliseconds</a></div><div class="ttdeci">float elapsedMilliseconds()</div><div class="ttdoc">Returns elapsed time in milliseconds. </div><div class="ttdef"><b>Definition:</b> <a href="Timer_8cpp_source.html#l00052">Timer.cpp:52</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexIVFPQConfig_html_ae5b5c7acc06743e5bcca197bc33c30ec"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexIVFPQConfig.html#ae5b5c7acc06743e5bcca197bc33c30ec">faiss::gpu::GpuIndexIVFPQConfig::usePrecomputedTables</a></div><div class="ttdeci">bool usePrecomputedTables</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVFPQ_8h_source.html#l00036">GpuIndexIVFPQ.h:36</a></div></div>
<div class="ttc" id="namespacefaiss_html_aa46fe38a858ecfde7e0fc0744939d5ad"><div class="ttname"><a href="namespacefaiss.html#aa46fe38a858ecfde7e0fc0744939d5ad">faiss::read_index</a></div><div class="ttdeci">Index * read_index(FILE *f, bool try_mmap)</div><div class="ttdef"><b>Definition:</b> <a href="index__io_8cpp_source.html#l00536">index_io.cpp:536</a></div></div>
<div class="ttc" id="namespacefaiss_html_aa46fe38a858ecfde7e0fc0744939d5ad"><div class="ttname"><a href="namespacefaiss.html#aa46fe38a858ecfde7e0fc0744939d5ad">faiss::read_index</a></div><div class="ttdeci">Index * read_index(FILE *f, bool try_mmap)</div><div class="ttdef"><b>Definition:</b> <a href="index__io_8cpp_source.html#l00592">index_io.cpp:592</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#l00023">GpuResources.h:23</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1CpuTimer_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1CpuTimer.html">faiss::gpu::CpuTimer</a></div><div class="ttdoc">CPU wallclock elapsed timer. </div><div class="ttdef"><b>Definition:</b> <a href="Timer_8h_source.html#l00042">Timer.h:42</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexIVFPQConfig_html_a9dbbec78d77d90b7b150f543e477cc49"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexIVFPQConfig.html#a9dbbec78d77d90b7b150f543e477cc49">faiss::gpu::GpuIndexIVFPQConfig::useFloat16LookupTables</a></div><div class="ttdeci">bool useFloat16LookupTables</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVFPQ_8h_source.html#l00032">GpuIndexIVFPQ.h:32</a></div></div>
......
......@@ -248,7 +248,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;}</div>
<div class="ttc" id="classfaiss_1_1gpu_1_1CpuTimer_html_a4a2795debf10bc7eb904d62356e41f0d"><div class="ttname"><a href="classfaiss_1_1gpu_1_1CpuTimer.html#a4a2795debf10bc7eb904d62356e41f0d">faiss::gpu::CpuTimer::elapsedMilliseconds</a></div><div class="ttdeci">float elapsedMilliseconds()</div><div class="ttdoc">Returns elapsed time in milliseconds. </div><div class="ttdef"><b>Definition:</b> <a href="Timer_8cpp_source.html#l00052">Timer.cpp:52</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexIVFPQConfig_html_ae5b5c7acc06743e5bcca197bc33c30ec"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexIVFPQConfig.html#ae5b5c7acc06743e5bcca197bc33c30ec">faiss::gpu::GpuIndexIVFPQConfig::usePrecomputedTables</a></div><div class="ttdeci">bool usePrecomputedTables</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVFPQ_8h_source.html#l00036">GpuIndexIVFPQ.h:36</a></div></div>
<div class="ttc" id="namespacefaiss_html_aa46fe38a858ecfde7e0fc0744939d5ad"><div class="ttname"><a href="namespacefaiss.html#aa46fe38a858ecfde7e0fc0744939d5ad">faiss::read_index</a></div><div class="ttdeci">Index * read_index(FILE *f, bool try_mmap)</div><div class="ttdef"><b>Definition:</b> <a href="index__io_8cpp_source.html#l00536">index_io.cpp:536</a></div></div>
<div class="ttc" id="namespacefaiss_html_aa46fe38a858ecfde7e0fc0744939d5ad"><div class="ttname"><a href="namespacefaiss.html#aa46fe38a858ecfde7e0fc0744939d5ad">faiss::read_index</a></div><div class="ttdeci">Index * read_index(FILE *f, bool try_mmap)</div><div class="ttdef"><b>Definition:</b> <a href="index__io_8cpp_source.html#l00592">index_io.cpp:592</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#l00023">GpuResources.h:23</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1CpuTimer_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1CpuTimer.html">faiss::gpu::CpuTimer</a></div><div class="ttdoc">CPU wallclock elapsed timer. </div><div class="ttdef"><b>Definition:</b> <a href="Timer_8h_source.html#l00042">Timer.h:42</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexIVFPQConfig_html_a9dbbec78d77d90b7b150f543e477cc49"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexIVFPQConfig.html#a9dbbec78d77d90b7b150f543e477cc49">faiss::gpu::GpuIndexIVFPQConfig::useFloat16LookupTables</a></div><div class="ttdeci">bool useFloat16LookupTables</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVFPQ_8h_source.html#l00032">GpuIndexIVFPQ.h:32</a></div></div>
......
......@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="keyword">namespace </span>faiss { <span class="keyword">namespace </span>gpu {</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#ifdef __CUDA_ARCH__</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#if __CUDA_ARCH__ &lt;= 620</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#if __CUDA_ARCH__ &lt;= 700</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor"></span>constexpr <span class="keywordtype">int</span> kWarpSize = 32;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#error Unknown __CUDA_ARCH__; please define parameters for compute capability</span></div>
......@@ -114,40 +114,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;constexpr <span class="keywordtype">int</span> kWarpSize = 32;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#endif // !__CUDA_ARCH__</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;__forceinline__ __device__ <span class="keywordtype">void</span> warpFence() {</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="comment">// Technically, memory barriers are required via the CUDA</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="comment">// programming model, since warp synchronous programming no longer</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="comment">// is guaranteed.</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="comment">// There are two components to it:</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="comment">// -a barrier known to the compiler such that the compiler will not</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="comment">// schedule loads and stores across the barrier;</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="comment">// -a HW-level barrier that guarantees that writes are seen in the</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="comment">// proper order</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="comment">// However, __threadfence_block() is a stronger constraint than what</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="comment">// we really want out of the hardware: a warp-wide barrier.</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="comment">// In current hardware, it appears that warp synchronous programming</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="comment">// is a reality; by all tests it appears safe and race-free.</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="comment">// However, understandably it may not be in the future (based on</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="comment">// what Nvidia says in the Kepler guide, it may change depending</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="comment">// upon compiler/toolchain issues or future hardware).</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="comment">// Removing the fence results in 10%+ faster performance.</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="comment">// However, we are judicious as to where we insert the fence, so if</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="comment">// this reality ever changes, uncommenting this will result in CUDA</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="comment">// programming model-safe ordering again.</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="comment">// FIXME: we should probably qualify as volatile as well, since the</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="comment">// compiler could technically preserve values across loops? This</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="comment">// seems very impractical for the compiler to do, however.</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="comment">// __threadfence_block();</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;}</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;} } <span class="comment">// namespace</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment">// This is a memory barrier for intra-warp writes to shared memory.</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;__forceinline__ __device__ <span class="keywordtype">void</span> warpFence() {</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#if __CUDA_ARCH__ &gt;= 700</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor"></span> __syncwarp();</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor"></span> <span class="comment">// For the time being, assume synchronicity.</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="comment">// __threadfence_block();</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;} } <span class="comment">// namespace</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
......
......@@ -131,7 +131,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; CUDA_VERIFY(cudaFree(this-&gt;data_));</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; }</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; this-&gt;<a class="code" href="classfaiss_1_1gpu_1_1Tensor.html#a503fe45536fb7153fbd18fe61c159304">Tensor&lt;T, Dim, InnerContig, IndexT, PtrTraits&gt;::operator=</a>(</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; this-&gt;<a class="code" href="classfaiss_1_1gpu_1_1Tensor.html#a0d831a352531281e06250cc6fe52a38a">Tensor&lt;T, Dim, InnerContig, IndexT, PtrTraits&gt;::operator=</a>(</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; std::move(t));</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; this-&gt;state_ = t.state_; t.state_ = AllocState::NotOwner;</div>
......@@ -319,16 +319,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;} } <span class="comment">// namespace</span></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1DeviceTensor_html_a1ed30ec2ee0d3e7c9b8b9b93f5d2acca"><div class="ttname"><a href="classfaiss_1_1gpu_1_1DeviceTensor.html#a1ed30ec2ee0d3e7c9b8b9b93f5d2acca">faiss::gpu::DeviceTensor::~DeviceTensor</a></div><div class="ttdeci">__host__ ~DeviceTensor()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="DeviceTensor-inl_8cuh_source.html#l00058">DeviceTensor-inl.cuh:58</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1DeviceTensor_html_a6793f5bd0493b47693369670b1b02591"><div class="ttname"><a href="classfaiss_1_1gpu_1_1DeviceTensor.html#a6793f5bd0493b47693369670b1b02591">faiss::gpu::DeviceTensor::zero</a></div><div class="ttdeci">__host__ DeviceTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp; zero(cudaStream_t stream)</div><div class="ttdoc">Call to zero out memory. </div><div class="ttdef"><b>Definition:</b> <a href="DeviceTensor-inl_8cuh_source.html#l00217">DeviceTensor-inl.cuh:217</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a2ec506a25e46cf7001060a6ba5ae3b94"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a2ec506a25e46cf7001060a6ba5ae3b94">faiss::gpu::Tensor::data_</a></div><div class="ttdeci">DataPtrType data_</div><div class="ttdoc">Raw pointer to where the tensor data begins. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00346">Tensor.cuh:346</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a2ec506a25e46cf7001060a6ba5ae3b94"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a2ec506a25e46cf7001060a6ba5ae3b94">faiss::gpu::Tensor::data_</a></div><div class="ttdeci">DataPtrType data_</div><div class="ttdoc">Raw pointer to where the tensor data begins. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00344">Tensor.cuh:344</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1DeviceMemory_html_a4adf60b9a0561e6319aa5cb7f42558d7"><div class="ttname"><a href="classfaiss_1_1gpu_1_1DeviceMemory.html#a4adf60b9a0561e6319aa5cb7f42558d7">faiss::gpu::DeviceMemory::getMemory</a></div><div class="ttdeci">virtual DeviceMemoryReservation getMemory(cudaStream_t stream, size_t size)=0</div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a6dc00c182a92389b74c89ba7fcab40d3"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a6dc00c182a92389b74c89ba7fcab40d3">faiss::gpu::Tensor::copyFrom</a></div><div class="ttdeci">__host__ void copyFrom(Tensor&lt; T, Dim, InnerContig, 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_1Tensor_html_a6dc00c182a92389b74c89ba7fcab40d3"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a6dc00c182a92389b74c89ba7fcab40d3">faiss::gpu::Tensor::copyFrom</a></div><div class="ttdeci">__host__ void copyFrom(Tensor&lt; T, Dim, InnerContig, 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#l00132">Tensor-inl.cuh:132</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a0d831a352531281e06250cc6fe52a38a"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a0d831a352531281e06250cc6fe52a38a">faiss::gpu::Tensor::operator=</a></div><div class="ttdeci">__host__ __device__ Tensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp; operator=(Tensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;t)</div><div class="ttdoc">Assignment. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor-inl_8cuh_source.html#l00050">Tensor-inl.cuh:50</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#l00030">Tensor.cuh:30</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1DeviceTensor_html_af9f2fbf3efff7eed5231fa7d26273ffa"><div class="ttname"><a href="classfaiss_1_1gpu_1_1DeviceTensor.html#af9f2fbf3efff7eed5231fa7d26273ffa">faiss::gpu::DeviceTensor::DeviceTensor</a></div><div class="ttdeci">__host__ DeviceTensor()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> <a href="DeviceTensor-inl_8cuh_source.html#l00018">DeviceTensor-inl.cuh:18</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1DeviceTensor_html_ae884d3cdfa70deb08d98ec90b638d359"><div class="ttname"><a href="classfaiss_1_1gpu_1_1DeviceTensor.html#ae884d3cdfa70deb08d98ec90b638d359">faiss::gpu::DeviceTensor::operator=</a></div><div class="ttdeci">__host__ DeviceTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp; operator=(DeviceTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;&amp;t)</div><div class="ttdoc">Move assignment. </div><div class="ttdef"><b>Definition:</b> <a href="DeviceTensor-inl_8cuh_source.html#l00039">DeviceTensor-inl.cuh:39</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a503fe45536fb7153fbd18fe61c159304"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a503fe45536fb7153fbd18fe61c159304">faiss::gpu::Tensor::operator=</a></div><div class="ttdeci">__host__ __device__ Tensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp; operator=(Tensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;t)=default</div><div class="ttdoc">Assignment. </div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1DeviceMemory_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1DeviceMemory.html">faiss::gpu::DeviceMemory</a></div><div class="ttdoc">Manages temporary memory allocations on a GPU device. </div><div class="ttdef"><b>Definition:</b> <a href="DeviceMemory_8h_source.html#l00046">DeviceMemory.h:46</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</a></div><div class="ttdef"><b>Definition:</b> <a href="DeviceTensor_8cuh_source.html#l00024">DeviceTensor.cuh:24</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a8220da958d022c322b80b0539c99f8d4"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a8220da958d022c322b80b0539c99f8d4">faiss::gpu::Tensor::getSizeInBytes</a></div><div class="ttdeci">__host__ __device__ size_t getSizeInBytes() const </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00242">Tensor.cuh:242</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a8220da958d022c322b80b0539c99f8d4"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a8220da958d022c322b80b0539c99f8d4">faiss::gpu::Tensor::getSizeInBytes</a></div><div class="ttdeci">__host__ __device__ size_t getSizeInBytes() const </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00240">Tensor.cuh:240</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
......
......@@ -204,9 +204,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="preprocessor">#include &quot;DeviceTensor-inl.cuh&quot;</span></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1DeviceTensor_html_a1ed30ec2ee0d3e7c9b8b9b93f5d2acca"><div class="ttname"><a href="classfaiss_1_1gpu_1_1DeviceTensor.html#a1ed30ec2ee0d3e7c9b8b9b93f5d2acca">faiss::gpu::DeviceTensor::~DeviceTensor</a></div><div class="ttdeci">__host__ ~DeviceTensor()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="DeviceTensor-inl_8cuh_source.html#l00058">DeviceTensor-inl.cuh:58</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1DeviceTensor_html_a6793f5bd0493b47693369670b1b02591"><div class="ttname"><a href="classfaiss_1_1gpu_1_1DeviceTensor.html#a6793f5bd0493b47693369670b1b02591">faiss::gpu::DeviceTensor::zero</a></div><div class="ttdeci">__host__ DeviceTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp; zero(cudaStream_t stream)</div><div class="ttdoc">Call to zero out memory. </div><div class="ttdef"><b>Definition:</b> <a href="DeviceTensor-inl_8cuh_source.html#l00217">DeviceTensor-inl.cuh:217</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_abc0ecc4f882ee09632b5a06be0619adb"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb">faiss::gpu::Tensor::sizes</a></div><div class="ttdeci">__host__ __device__ const IndexT * sizes() const </div><div class="ttdoc">Returns the size array. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00247">Tensor.cuh:247</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a87a777247486756e99060547a3cc833a"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a87a777247486756e99060547a3cc833a">faiss::gpu::Tensor::strides</a></div><div class="ttdeci">__host__ __device__ const IndexT * strides() const </div><div class="ttdoc">Returns the stride array. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00252">Tensor.cuh:252</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a50411ce4d0fa32ef715e3321b6e33212"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212">faiss::gpu::Tensor::data</a></div><div class="ttdeci">__host__ __device__ DataPtrType data()</div><div class="ttdoc">Returns a raw pointer to the start of our data. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00178">Tensor.cuh:178</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_abc0ecc4f882ee09632b5a06be0619adb"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb">faiss::gpu::Tensor::sizes</a></div><div class="ttdeci">__host__ __device__ const IndexT * sizes() const </div><div class="ttdoc">Returns the size array. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00245">Tensor.cuh:245</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a87a777247486756e99060547a3cc833a"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a87a777247486756e99060547a3cc833a">faiss::gpu::Tensor::strides</a></div><div class="ttdeci">__host__ __device__ const IndexT * strides() const </div><div class="ttdoc">Returns the stride array. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00250">Tensor.cuh:250</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a50411ce4d0fa32ef715e3321b6e33212"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212">faiss::gpu::Tensor::data</a></div><div class="ttdeci">__host__ __device__ DataPtrType data()</div><div class="ttdoc">Returns a raw pointer to the start of our data. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00176">Tensor.cuh:176</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#l00030">Tensor.cuh:30</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1DeviceTensor_html_af9f2fbf3efff7eed5231fa7d26273ffa"><div class="ttname"><a href="classfaiss_1_1gpu_1_1DeviceTensor.html#af9f2fbf3efff7eed5231fa7d26273ffa">faiss::gpu::DeviceTensor::DeviceTensor</a></div><div class="ttdeci">__host__ DeviceTensor()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> <a href="DeviceTensor-inl_8cuh_source.html#l00018">DeviceTensor-inl.cuh:18</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1DeviceTensor_html_ae884d3cdfa70deb08d98ec90b638d359"><div class="ttname"><a href="classfaiss_1_1gpu_1_1DeviceTensor.html#ae884d3cdfa70deb08d98ec90b638d359">faiss::gpu::DeviceTensor::operator=</a></div><div class="ttdeci">__host__ DeviceTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp; operator=(DeviceTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;&amp;t)</div><div class="ttdoc">Move assignment. </div><div class="ttdef"><b>Definition:</b> <a href="DeviceTensor-inl_8cuh_source.html#l00039">DeviceTensor-inl.cuh:39</a></div></div>
......
......@@ -369,8 +369,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuResources_html_a1dda2dc3db1bd62cde6657c5cdbfb6e1"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuResources.html#a1dda2dc3db1bd62cde6657c5cdbfb6e1">faiss::gpu::GpuResources::getMemoryManagerCurrentDevice</a></div><div class="ttdeci">DeviceMemory &amp; getMemoryManagerCurrentDevice()</div><div class="ttdoc">Calls getMemoryManager for the current device. </div><div class="ttdef"><b>Definition:</b> <a href="GpuResources_8cpp_source.html#l00035">GpuResources.cpp:35</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1FlatIndex_html_a7a06b678b97e3732939f6a4fb5106ef6"><div class="ttname"><a href="classfaiss_1_1gpu_1_1FlatIndex.html#a7a06b678b97e3732939f6a4fb5106ef6">faiss::gpu::FlatIndex::reserve</a></div><div class="ttdeci">void reserve(size_t numVecs, cudaStream_t stream)</div><div class="ttdoc">Reserve storage that can contain at least this many vectors. </div><div class="ttdef"><b>Definition:</b> <a href="FlatIndex_8cu_source.html#l00068">FlatIndex.cu:68</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1FlatIndex_html_ab91c9ddf7dd258620f424619cb029e22"><div class="ttname"><a href="classfaiss_1_1gpu_1_1FlatIndex.html#ab91c9ddf7dd258620f424619cb029e22">faiss::gpu::FlatIndex::add</a></div><div class="ttdeci">void add(const float *data, int numVecs, cudaStream_t stream)</div><div class="ttdef"><b>Definition:</b> <a href="FlatIndex_8cu_source.html#l00195">FlatIndex.cu:195</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a6699c311648457f257afa340c61f417c"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a6699c311648457f257afa340c61f417c">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#l00226">Tensor.cuh:226</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a6cc21376070a03d77661d6e333972c6a"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a6cc21376070a03d77661d6e333972c6a">faiss::gpu::Tensor::copyTo</a></div><div class="ttdeci">__host__ void copyTo(Tensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;t, cudaStream_t stream)</div><div class="ttdoc">Copies ourselves into a tensor; sizes must match. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor-inl_8cuh_source.html#l00140">Tensor-inl.cuh:140</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a6699c311648457f257afa340c61f417c"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a6699c311648457f257afa340c61f417c">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#l00224">Tensor.cuh:224</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a6cc21376070a03d77661d6e333972c6a"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a6cc21376070a03d77661d6e333972c6a">faiss::gpu::Tensor::copyTo</a></div><div class="ttdeci">__host__ void copyTo(Tensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;t, cudaStream_t stream)</div><div class="ttdoc">Copies ourselves into a tensor; sizes must match. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor-inl_8cuh_source.html#l00171">Tensor-inl.cuh:171</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#l00030">Tensor.cuh:30</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1FlatIndex_html_a12058744ffb3fbcbb047872449269c06"><div class="ttname"><a href="classfaiss_1_1gpu_1_1FlatIndex.html#a12058744ffb3fbcbb047872449269c06">faiss::gpu::FlatIndex::getVectorsFloat32Ref</a></div><div class="ttdeci">Tensor&lt; float, 2, true &gt; &amp; getVectorsFloat32Ref()</div><div class="ttdoc">Returns a reference to our vectors currently in use. </div><div class="ttdef"><b>Definition:</b> <a href="FlatIndex_8cu_source.html#l00079">FlatIndex.cu:79</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1FlatIndex_html_ae06cb2ffd46659b6639b97297546096e"><div class="ttname"><a href="classfaiss_1_1gpu_1_1FlatIndex.html#ae06cb2ffd46659b6639b97297546096e">faiss::gpu::FlatIndex::reset</a></div><div class="ttdeci">void reset()</div><div class="ttdoc">Free all storage. </div><div class="ttdef"><b>Definition:</b> <a href="FlatIndex_8cu_source.html#l00269">FlatIndex.cu:269</a></div></div>
......
......@@ -137,15 +137,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; in, in + num, out, HalfToFloat());</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;}</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;half hostFloat2Half(<span class="keywordtype">float</span> a) {</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; half h;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; h.x = cpu_float2half_rn(a).x;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> h;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;}</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;} } <span class="comment">// namespace</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#endif // FAISS_USE_FLOAT16</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;__half hostFloat2Half(<span class="keywordtype">float</span> a) {</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#if CUDA_VERSION &gt;= 9000</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor"></span> __half_raw raw;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; raw.x = cpu_float2half_rn(a).x;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> __half(raw);</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor"></span> __half h;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; h.x = cpu_float2half_rn(a).x;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">return</span> h;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;} } <span class="comment">// namespace</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor">#endif // FAISS_USE_FLOAT16</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
......
......@@ -238,7 +238,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">return</span> out;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;}</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;half hostFloat2Half(<span class="keywordtype">float</span> v);</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;__half hostFloat2Half(<span class="keywordtype">float</span> v);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="preprocessor">#endif // FAISS_USE_FLOAT16</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="preprocessor"></span></div>
......
This diff is collapsed.
......@@ -709,7 +709,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndex_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndex.html">faiss::gpu::GpuIndex</a></div><div class="ttdef"><b>Definition:</b> <a href="GpuIndex_8h_source.html#l00035">GpuIndex.h:35</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndexFlatL2_html_aed22de4a439fa0b2f560e3c716a7c626"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndexFlatL2.html#aed22de4a439fa0b2f560e3c716a7c626">faiss::gpu::GpuIndexFlatL2::GpuIndexFlatL2</a></div><div class="ttdeci">GpuIndexFlatL2(GpuResources *resources, faiss::IndexFlatL2 *index, GpuIndexFlatConfig config=GpuIndexFlatConfig())</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexFlat_8cu_source.html#l00549">GpuIndexFlat.cu:549</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuResources_html_a6c564198df6ba675920c993e2af34b8c"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuResources.html#a6c564198df6ba675920c993e2af34b8c">faiss::gpu::GpuResources::getDefaultStream</a></div><div class="ttdeci">virtual cudaStream_t getDefaultStream(int device)=0</div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_ac2d0fc7199901a8e0788b58f0970b133"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#ac2d0fc7199901a8e0788b58f0970b133">faiss::gpu::Tensor::narrowOutermost</a></div><div class="ttdeci">__host__ __device__ Tensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; narrowOutermost(IndexT start, IndexT size)</div><div class="ttdef"><b>Definition:</b> <a href="Tensor-inl_8cuh_source.html#l00625">Tensor-inl.cuh:625</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_ac2d0fc7199901a8e0788b58f0970b133"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#ac2d0fc7199901a8e0788b58f0970b133">faiss::gpu::Tensor::narrowOutermost</a></div><div class="ttdeci">__host__ __device__ Tensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; narrowOutermost(IndexT start, IndexT size)</div><div class="ttdef"><b>Definition:</b> <a href="Tensor-inl_8cuh_source.html#l00656">Tensor-inl.cuh:656</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#l00064">Index.h:64</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexFlatConfig_html"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexFlatConfig.html">faiss::gpu::GpuIndexFlatConfig</a></div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexFlat_8h_source.html#l00027">GpuIndexFlat.h:27</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1IntToLong_html"><div class="ttname"><a href="structfaiss_1_1gpu_1_1IntToLong.html">faiss::gpu::IntToLong</a></div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexFlat_8cu_source.html#l00200">GpuIndexFlat.cu:200</a></div></div>
......
This diff is collapsed.
......@@ -191,7 +191,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndexIVFFlat_html_adaa727f3e951068501ebf381b001f3bd"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#adaa727f3e951068501ebf381b001f3bd">faiss::gpu::GpuIndexIVFFlat::reclaimMemory</a></div><div class="ttdeci">size_t reclaimMemory()</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVFFlat_8cu_source.html#l00154">GpuIndexIVFFlat.cu:154</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexIVFFlatConfig_html_ab98ac354bcd5632976f7edc2deda6e57"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexIVFFlatConfig.html#ab98ac354bcd5632976f7edc2deda6e57">faiss::gpu::GpuIndexIVFFlatConfig::useFloat16IVFStorage</a></div><div class="ttdeci">bool useFloat16IVFStorage</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVFFlat_8h_source.html#l00029">GpuIndexIVFFlat.h:29</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#l00023">GpuResources.h:23</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#l00181">IndexIVF.h:181</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#l00235">IndexIVF.h:235</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndexIVFFlat_html_a64bd89e18b8199ae7a88066890b10a0e"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#a64bd89e18b8199ae7a88066890b10a0e">faiss::gpu::GpuIndexIVFFlat::addImpl_</a></div><div class="ttdeci">void addImpl_(faiss::Index::idx_t n, const float *x, const faiss::Index::idx_t *ids) override</div><div class="ttdoc">Called from GpuIndex for add/add_with_ids. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVFFlat_8cu_source.html#l00207">GpuIndexIVFFlat.cu:207</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndexIVFFlat_html_a3c5b3760acb01814892fe93c72f08304"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#a3c5b3760acb01814892fe93c72f08304">faiss::gpu::GpuIndexIVFFlat::train</a></div><div class="ttdeci">void train(Index::idx_t n, const float *x) override</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVFFlat_8cu_source.html#l00177">GpuIndexIVFFlat.cu:177</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndexIVF_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndexIVF.html">faiss::gpu::GpuIndexIVF</a></div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVF_8h_source.html#l00037">GpuIndexIVF.h:37</a></div></div>
......
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
......@@ -264,7 +264,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="comment"> * Heap initialization</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"> *******************************************************************/</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment">/* Initialization phase for the heap (with inconditionnal pushes).</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment">/* Initialization phase for the heap (with unconditionnal pushes).</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> * Store k0 elements in a heap containing up to k values. Note that</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> * (bh_val, bh_ids) can be the same as (x, ids) */</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> C&gt; <span class="keyword">inline</span></div>
......
......@@ -239,14 +239,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;}</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;} } <span class="comment">// namespace</span></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a0ba9ab7c1676b7a41a6e6b2e5a490d2f"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a0ba9ab7c1676b7a41a6e6b2e5a490d2f">faiss::gpu::Tensor::numElements</a></div><div class="ttdeci">__host__ __device__ size_t numElements() const </div><div class="ttdef"><b>Definition:</b> <a href="Tensor-inl_8cuh_source.html#l00352">Tensor-inl.cuh:352</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a0ba9ab7c1676b7a41a6e6b2e5a490d2f"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a0ba9ab7c1676b7a41a6e6b2e5a490d2f">faiss::gpu::Tensor::numElements</a></div><div class="ttdeci">__host__ __device__ size_t numElements() const </div><div class="ttdef"><b>Definition:</b> <a href="Tensor-inl_8cuh_source.html#l00383">Tensor-inl.cuh:383</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1HostTensor_html_ab24605e0ecd9ef9892ac33ce7d763cef"><div class="ttname"><a href="classfaiss_1_1gpu_1_1HostTensor.html#ab24605e0ecd9ef9892ac33ce7d763cef">faiss::gpu::HostTensor::~HostTensor</a></div><div class="ttdeci">__host__ ~HostTensor()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="HostTensor-inl_8cuh_source.html#l00024">HostTensor-inl.cuh:24</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1HostTensor_html_afb34d344157ea0905d2d76d4081da052"><div class="ttname"><a href="classfaiss_1_1gpu_1_1HostTensor.html#afb34d344157ea0905d2d76d4081da052">faiss::gpu::HostTensor::zero</a></div><div class="ttdeci">__host__ HostTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp; zero()</div><div class="ttdoc">Call to zero out memory. </div><div class="ttdef"><b>Definition:</b> <a href="HostTensor-inl_8cuh_source.html#l00105">HostTensor-inl.cuh:105</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a2ec506a25e46cf7001060a6ba5ae3b94"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a2ec506a25e46cf7001060a6ba5ae3b94">faiss::gpu::Tensor::data_</a></div><div class="ttdeci">DataPtrType data_</div><div class="ttdoc">Raw pointer to where the tensor data begins. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00346">Tensor.cuh:346</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a09019c54911db891c9321fd3b34509c2"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a09019c54911db891c9321fd3b34509c2">faiss::gpu::Tensor::isContiguous</a></div><div class="ttdeci">__host__ __device__ bool isContiguous() const </div><div class="ttdef"><b>Definition:</b> <a href="Tensor-inl_8cuh_source.html#l00365">Tensor-inl.cuh:365</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a6dc00c182a92389b74c89ba7fcab40d3"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a6dc00c182a92389b74c89ba7fcab40d3">faiss::gpu::Tensor::copyFrom</a></div><div class="ttdeci">__host__ void copyFrom(Tensor&lt; T, Dim, InnerContig, 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_1Tensor_html_a2ec506a25e46cf7001060a6ba5ae3b94"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a2ec506a25e46cf7001060a6ba5ae3b94">faiss::gpu::Tensor::data_</a></div><div class="ttdeci">DataPtrType data_</div><div class="ttdoc">Raw pointer to where the tensor data begins. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00344">Tensor.cuh:344</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a09019c54911db891c9321fd3b34509c2"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a09019c54911db891c9321fd3b34509c2">faiss::gpu::Tensor::isContiguous</a></div><div class="ttdeci">__host__ __device__ bool isContiguous() const </div><div class="ttdef"><b>Definition:</b> <a href="Tensor-inl_8cuh_source.html#l00396">Tensor-inl.cuh:396</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a6dc00c182a92389b74c89ba7fcab40d3"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a6dc00c182a92389b74c89ba7fcab40d3">faiss::gpu::Tensor::copyFrom</a></div><div class="ttdeci">__host__ void copyFrom(Tensor&lt; T, Dim, InnerContig, 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#l00132">Tensor-inl.cuh:132</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1HostTensor_html_a8e7c2b93a26a168a7adcb1c49492e165"><div class="ttname"><a href="classfaiss_1_1gpu_1_1HostTensor.html#a8e7c2b93a26a168a7adcb1c49492e165">faiss::gpu::HostTensor::HostTensor</a></div><div class="ttdeci">__host__ HostTensor()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> <a href="HostTensor-inl_8cuh_source.html#l00016">HostTensor-inl.cuh:16</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a50411ce4d0fa32ef715e3321b6e33212"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212">faiss::gpu::Tensor::data</a></div><div class="ttdeci">__host__ __device__ DataPtrType data()</div><div class="ttdoc">Returns a raw pointer to the start of our data. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00178">Tensor.cuh:178</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a50411ce4d0fa32ef715e3321b6e33212"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212">faiss::gpu::Tensor::data</a></div><div class="ttdeci">__host__ __device__ DataPtrType data()</div><div class="ttdoc">Returns a raw pointer to the start of our data. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00176">Tensor.cuh:176</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#l00030">Tensor.cuh:30</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1HostTensor_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1HostTensor.html">faiss::gpu::HostTensor</a></div><div class="ttdef"><b>Definition:</b> <a href="HostTensor_8cuh_source.html#l00022">HostTensor.cuh:22</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1HostTensor_html_a4f8c1a0467513d62277b693dd65238c5"><div class="ttname"><a href="classfaiss_1_1gpu_1_1HostTensor.html#a4f8c1a0467513d62277b693dd65238c5">faiss::gpu::HostTensor::maxDiff</a></div><div class="ttdeci">__host__ T maxDiff(const HostTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;t) const </div><div class="ttdoc">Returns the maximum difference seen between two tensors. </div><div class="ttdef"><b>Definition:</b> <a href="HostTensor-inl_8cuh_source.html#l00119">HostTensor-inl.cuh:119</a></div></div>
......
......@@ -175,10 +175,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="preprocessor">#include &quot;HostTensor-inl.cuh&quot;</span></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1HostTensor_html_ab24605e0ecd9ef9892ac33ce7d763cef"><div class="ttname"><a href="classfaiss_1_1gpu_1_1HostTensor.html#ab24605e0ecd9ef9892ac33ce7d763cef">faiss::gpu::HostTensor::~HostTensor</a></div><div class="ttdeci">__host__ ~HostTensor()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="HostTensor-inl_8cuh_source.html#l00024">HostTensor-inl.cuh:24</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1HostTensor_html_afb34d344157ea0905d2d76d4081da052"><div class="ttname"><a href="classfaiss_1_1gpu_1_1HostTensor.html#afb34d344157ea0905d2d76d4081da052">faiss::gpu::HostTensor::zero</a></div><div class="ttdeci">__host__ HostTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp; zero()</div><div class="ttdoc">Call to zero out memory. </div><div class="ttdef"><b>Definition:</b> <a href="HostTensor-inl_8cuh_source.html#l00105">HostTensor-inl.cuh:105</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_abc0ecc4f882ee09632b5a06be0619adb"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb">faiss::gpu::Tensor::sizes</a></div><div class="ttdeci">__host__ __device__ const IndexT * sizes() const </div><div class="ttdoc">Returns the size array. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00247">Tensor.cuh:247</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_abc0ecc4f882ee09632b5a06be0619adb"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb">faiss::gpu::Tensor::sizes</a></div><div class="ttdeci">__host__ __device__ const IndexT * sizes() const </div><div class="ttdoc">Returns the size array. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00245">Tensor.cuh:245</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1HostTensor_html_a8e7c2b93a26a168a7adcb1c49492e165"><div class="ttname"><a href="classfaiss_1_1gpu_1_1HostTensor.html#a8e7c2b93a26a168a7adcb1c49492e165">faiss::gpu::HostTensor::HostTensor</a></div><div class="ttdeci">__host__ HostTensor()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> <a href="HostTensor-inl_8cuh_source.html#l00016">HostTensor-inl.cuh:16</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a87a777247486756e99060547a3cc833a"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a87a777247486756e99060547a3cc833a">faiss::gpu::Tensor::strides</a></div><div class="ttdeci">__host__ __device__ const IndexT * strides() const </div><div class="ttdoc">Returns the stride array. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00252">Tensor.cuh:252</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a50411ce4d0fa32ef715e3321b6e33212"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212">faiss::gpu::Tensor::data</a></div><div class="ttdeci">__host__ __device__ DataPtrType data()</div><div class="ttdoc">Returns a raw pointer to the start of our data. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00178">Tensor.cuh:178</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a87a777247486756e99060547a3cc833a"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a87a777247486756e99060547a3cc833a">faiss::gpu::Tensor::strides</a></div><div class="ttdeci">__host__ __device__ const IndexT * strides() const </div><div class="ttdoc">Returns the stride array. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00250">Tensor.cuh:250</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a50411ce4d0fa32ef715e3321b6e33212"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212">faiss::gpu::Tensor::data</a></div><div class="ttdeci">__host__ __device__ DataPtrType data()</div><div class="ttdoc">Returns a raw pointer to the start of our data. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00176">Tensor.cuh:176</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#l00030">Tensor.cuh:30</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1HostTensor_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1HostTensor.html">faiss::gpu::HostTensor</a></div><div class="ttdef"><b>Definition:</b> <a href="HostTensor_8cuh_source.html#l00022">HostTensor.cuh:22</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1HostTensor_html_a9fe67a44876b83965a6195d11a38a22b"><div class="ttname"><a href="classfaiss_1_1gpu_1_1HostTensor.html#a9fe67a44876b83965a6195d11a38a22b">faiss::gpu::HostTensor::equal</a></div><div class="ttdeci">__host__ bool equal(const HostTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;t) const </div><div class="ttdoc">Are the two tensors exactly equal? </div><div class="ttdef"><b>Definition:</b> <a href="HostTensor_8cuh_source.html#l00066">HostTensor.cuh:66</a></div></div>
......
......@@ -994,7 +994,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160;}</div>
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160;</div>
<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160;} } <span class="comment">// namespace</span></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1LoadStore_html"><div class="ttname"><a href="structfaiss_1_1gpu_1_1LoadStore.html">faiss::gpu::LoadStore</a></div><div class="ttdef"><b>Definition:</b> <a href="LoadStoreOperators_8cuh_source.html#l00024">LoadStoreOperators.cuh:24</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1LoadStore_html"><div class="ttname"><a href="structfaiss_1_1gpu_1_1LoadStore.html">faiss::gpu::LoadStore</a></div><div class="ttdef"><b>Definition:</b> <a href="LoadStoreOperators_8cuh_source.html#l00030">LoadStoreOperators.cuh:30</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1Math_html_a4b17f0b5d014f300e76dde5b24af8014"><div class="ttname"><a href="structfaiss_1_1gpu_1_1Math.html#a4b17f0b5d014f300e76dde5b24af8014">faiss::gpu::Math::reduceAdd</a></div><div class="ttdeci">static __device__ T reduceAdd(T v)</div><div class="ttdoc">For a vector type, this is a horizontal add, returning sum(v_i) </div><div class="ttdef"><b>Definition:</b> <a href="MathOperators_8cuh_source.html#l00044">MathOperators.cuh:44</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1ConvertTo_html"><div class="ttname"><a href="structfaiss_1_1gpu_1_1ConvertTo.html">faiss::gpu::ConvertTo</a></div><div class="ttdef"><b>Definition:</b> <a href="ConversionOperators_8cuh_source.html#l00023">ConversionOperators.cuh:23</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1IVFFlatScan_html"><div class="ttname"><a href="structfaiss_1_1gpu_1_1IVFFlatScan.html">faiss::gpu::IVFFlatScan</a></div><div class="ttdoc">The class that we use to provide scan specializations. </div><div class="ttdef"><b>Definition:</b> <a href="IVFFlatScan_8cu_source.html#l00046">IVFFlatScan.cu:46</a></div></div>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -159,11 +159,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<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#l00023">GpuResources.h:23</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFFlat_html_a7ae83f107abf31feeb78cd5633806e5d"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFFlat.html#a7ae83f107abf31feeb78cd5633806e5d">faiss::gpu::IVFFlat::IVFFlat</a></div><div class="ttdeci">IVFFlat(GpuResources *resources, FlatIndex *quantizer, bool l2Distance, bool useFloat16, IndicesOptions indicesOptions, MemorySpace space)</div><div class="ttdoc">Construct from a quantizer that has elemen. </div><div class="ttdef"><b>Definition:</b> <a href="IVFFlat_8cu_source.html#l00029">IVFFlat.cu:29</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFFlat_html_af20f96b6ad754664796c8a4e7f83ed3a"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFFlat.html#af20f96b6ad754664796c8a4e7f83ed3a">faiss::gpu::IVFFlat::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="IVFFlat_8cu_source.html#l00130">IVFFlat.cu:130</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFFlat_html_af20f96b6ad754664796c8a4e7f83ed3a"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFFlat.html#af20f96b6ad754664796c8a4e7f83ed3a">faiss::gpu::IVFFlat::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="IVFFlat_8cu_source.html#l00129">IVFFlat.cu:129</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#l00030">Tensor.cuh:30</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFFlat_html_a0bedde6dcb7c2f10f277461b97486f52"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFFlat.html#a0bedde6dcb7c2f10f277461b97486f52">faiss::gpu::IVFFlat::addCodeVectorsFromCpu</a></div><div class="ttdeci">void addCodeVectorsFromCpu(int listId, const float *vecs, const long *indices, size_t numVecs)</div><div class="ttdef"><b>Definition:</b> <a href="IVFFlat_8cu_source.html#l00058">IVFFlat.cu:58</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#l00288">IVFFlat.cu:288</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#l00354">IVFFlat.cu:354</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1IVFFlat_html_a0bedde6dcb7c2f10f277461b97486f52"><div class="ttname"><a href="classfaiss_1_1gpu_1_1IVFFlat.html#a0bedde6dcb7c2f10f277461b97486f52">faiss::gpu::IVFFlat::addCodeVectorsFromCpu</a></div><div class="ttdeci">void addCodeVectorsFromCpu(int listId, const float *vecs, const long *indices, size_t numVecs)</div><div class="ttdef"><b>Definition:</b> <a href="IVFFlat_8cu_source.html#l00054">IVFFlat.cu:54</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><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -268,7 +268,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="structfaiss_1_1ScopeDeleter_html"><div class="ttname"><a href="structfaiss_1_1ScopeDeleter.html">faiss::ScopeDeleter</a></div><div class="ttdef"><b>Definition:</b> <a href="FaissException_8h_source.html#l00039">FaissException.h:39</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexLSH_html_a66b6afb56afa1f58e2d93abfdfd223ee"><div class="ttname"><a href="structfaiss_1_1IndexLSH.html#a66b6afb56afa1f58e2d93abfdfd223ee">faiss::IndexLSH::search</a></div><div class="ttdeci">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="IndexLSH_8cpp_source.html#l00128">IndexLSH.cpp:128</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#l00064">Index.h:64</a></div></div>
<div class="ttc" id="structfaiss_1_1LinearTransform_html_ab0383f690aeb823876e9143febad1a87"><div class="ttname"><a href="structfaiss_1_1LinearTransform.html#ab0383f690aeb823876e9143febad1a87">faiss::LinearTransform::b</a></div><div class="ttdeci">std::vector&lt; float &gt; b</div><div class="ttdoc">bias vector, size d_out </div><div class="ttdef"><b>Definition:</b> <a href="VectorTransform_8h_source.html#l00085">VectorTransform.h:85</a></div></div>
<div class="ttc" id="structfaiss_1_1LinearTransform_html_ab0383f690aeb823876e9143febad1a87"><div class="ttname"><a href="structfaiss_1_1LinearTransform.html#ab0383f690aeb823876e9143febad1a87">faiss::LinearTransform::b</a></div><div class="ttdeci">std::vector&lt; float &gt; b</div><div class="ttdoc">bias vector, size d_out </div><div class="ttdef"><b>Definition:</b> <a href="VectorTransform_8h_source.html#l00088">VectorTransform.h:88</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexLSH_html_a71c8aa08d3bd0483ccc0f11c22cd3cd8"><div class="ttname"><a href="structfaiss_1_1IndexLSH.html#a71c8aa08d3bd0483ccc0f11c22cd3cd8">faiss::IndexLSH::rrot</a></div><div class="ttdeci">RandomRotationMatrix rrot</div><div class="ttdoc">optional random rotation </div><div class="ttdef"><b>Definition:</b> <a href="IndexLSH_8h_source.html#l00032">IndexLSH.h:32</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexLSH_html_ac95fb0b3cb8fe2b265be9822c41c448c"><div class="ttname"><a href="structfaiss_1_1IndexLSH.html#ac95fb0b3cb8fe2b265be9822c41c448c">faiss::IndexLSH::transfer_thresholds</a></div><div class="ttdeci">void transfer_thresholds(LinearTransform *vt)</div><div class="ttdef"><b>Definition:</b> <a href="IndexLSH_8cpp_source.html#l00160">IndexLSH.cpp:160</a></div></div>
<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#l00077">VectorTransform.h:77</a></div></div>
......
......@@ -167,7 +167,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="structfaiss_1_1RandomRotationMatrix_html"><div class="ttname"><a href="structfaiss_1_1RandomRotationMatrix.html">faiss::RandomRotationMatrix</a></div><div class="ttdoc">Randomly rotate a set of vectors. </div><div class="ttdef"><b>Definition:</b> <a href="VectorTransform_8h_source.html#l00107">VectorTransform.h:107</a></div></div>
<div class="ttc" id="structfaiss_1_1RandomRotationMatrix_html"><div class="ttname"><a href="structfaiss_1_1RandomRotationMatrix.html">faiss::RandomRotationMatrix</a></div><div class="ttdoc">Randomly rotate a set of vectors. </div><div class="ttdef"><b>Definition:</b> <a href="VectorTransform_8h_source.html#l00117">VectorTransform.h:117</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexLSH_html_a0116f529bc5de64a7ef142caa652d9f6"><div class="ttname"><a href="structfaiss_1_1IndexLSH.html#a0116f529bc5de64a7ef142caa652d9f6">faiss::IndexLSH::bytes_per_vec</a></div><div class="ttdeci">int bytes_per_vec</div><div class="ttdoc">nb of 8-bits per encoded vector </div><div class="ttdef"><b>Definition:</b> <a href="IndexLSH_8h_source.html#l00028">IndexLSH.h:28</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexLSH_html_ae203ad895b15ae16fc1a748661b84df3"><div class="ttname"><a href="structfaiss_1_1IndexLSH.html#ae203ad895b15ae16fc1a748661b84df3">faiss::IndexLSH::thresholds</a></div><div class="ttdeci">std::vector&lt; float &gt; thresholds</div><div class="ttdoc">thresholds to compare with </div><div class="ttdef"><b>Definition:</b> <a href="IndexLSH_8h_source.html#l00034">IndexLSH.h:34</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexLSH_html"><div class="ttname"><a href="structfaiss_1_1IndexLSH.html">faiss::IndexLSH</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexLSH_8h_source.html#l00024">IndexLSH.h:24</a></div></div>
......
This diff is collapsed.
This diff is collapsed.
......@@ -193,7 +193,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classfaiss_1_1gpu_1_1IndexProxy.html#aee6fe7e95b02238103a6a2d1f6d2cd00"> 106</a></span>&#160;IndexProxy::train(<a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">Index::idx_t</a> n, <span class="keyword">const</span> <span class="keywordtype">float</span>* x) {</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; runOnIndex([n, x](<a class="code" href="structfaiss_1_1Index.html">faiss::Index</a>* index){ index-&gt;<a class="code" href="structfaiss_1_1Index.html#a1ffe916c958605c38b0b1bfad42485e4">train</a>(n, x); });</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; runOnIndex([n, x](<a class="code" href="structfaiss_1_1Index.html">faiss::Index</a>* index){ index-&gt;<a class="code" href="structfaiss_1_1Index.html#abf601502bdbfa02b9d7bcd7b3671b71d">train</a>(n, x); });</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;}</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="keywordtype">void</span></div>
......@@ -298,7 +298,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; }</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; index = &amp;proxy;</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; }</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; clus.<a class="code" href="structfaiss_1_1Index.html#a1ffe916c958605c38b0b1bfad42485e4">train</a> (n, x, *index);</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; clus.<a class="code" href="structfaiss_1_1Index.html#abf601502bdbfa02b9d7bcd7b3671b71d">train</a> (n, x, *index);</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; memcpy(centroids, clus.centroids.data(), <span class="keyword">sizeof</span>(*centroids) * d * k);</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">return</span> clus.obj.back();</div>
......@@ -314,7 +314,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<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#l00085">IndexProxy.cpp:85</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>
<div class="ttc" id="classfaiss_1_1gpu_1_1WorkerThread_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1WorkerThread.html">faiss::gpu::WorkerThread</a></div><div class="ttdef"><b>Definition:</b> <a href="WorkerThread_8h_source.html#l00020">WorkerThread.h:20</a></div></div>
<div class="ttc" id="structfaiss_1_1Index_html_a1ffe916c958605c38b0b1bfad42485e4"><div class="ttname"><a href="structfaiss_1_1Index.html#a1ffe916c958605c38b0b1bfad42485e4">faiss::Index::train</a></div><div class="ttdeci">virtual void train(idx_t, const float *)</div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00089">Index.h:89</a></div></div>
<div class="ttc" id="structfaiss_1_1Index_html_abf601502bdbfa02b9d7bcd7b3671b71d"><div class="ttname"><a href="structfaiss_1_1Index.html#abf601502bdbfa02b9d7bcd7b3671b71d">faiss::Index::train</a></div><div class="ttdeci">virtual void train(idx_t n, const float *x)</div><div class="ttdef"><b>Definition:</b> <a href="Index_8cpp_source.html#l00023">Index.cpp:23</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexFlatConfig_html_afd694186c87751937a646f3db2c8ba3d"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexFlatConfig.html#afd694186c87751937a646f3db2c8ba3d">faiss::gpu::GpuIndexFlatConfig::useFloat16</a></div><div class="ttdeci">bool useFloat16</div><div class="ttdoc">Whether or not data is stored as float16. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexFlat_8h_source.html#l00035">GpuIndexFlat.h:35</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexConfig_html_aab05a0aa7b42feae7df4e556a52ead57"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexConfig.html#aab05a0aa7b42feae7df4e556a52ead57">faiss::gpu::GpuIndexConfig::device</a></div><div class="ttdeci">int device</div><div class="ttdoc">GPU device on which the index is resident. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndex_8h_source.html#l00027">GpuIndex.h:27</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#l00064">Index.h:64</a></div></div>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -213,10 +213,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;} } <span class="comment">// namespace</span></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1NoTypeTensor_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1NoTypeTensor.html">faiss::gpu::NoTypeTensor</a></div><div class="ttdef"><b>Definition:</b> <a href="NoTypeTensor_8cuh_source.html#l00020">NoTypeTensor.cuh:20</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a6699c311648457f257afa340c61f417c"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a6699c311648457f257afa340c61f417c">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#l00226">Tensor.cuh:226</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a50411ce4d0fa32ef715e3321b6e33212"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212">faiss::gpu::Tensor::data</a></div><div class="ttdeci">__host__ __device__ DataPtrType data()</div><div class="ttdoc">Returns a raw pointer to the start of our data. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00178">Tensor.cuh:178</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a6699c311648457f257afa340c61f417c"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a6699c311648457f257afa340c61f417c">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#l00224">Tensor.cuh:224</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a50411ce4d0fa32ef715e3321b6e33212"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212">faiss::gpu::Tensor::data</a></div><div class="ttdeci">__host__ __device__ DataPtrType data()</div><div class="ttdoc">Returns a raw pointer to the start of our data. </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00176">Tensor.cuh:176</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#l00030">Tensor.cuh:30</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a0b8bba630f7a1fa217f90b20d298420a"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a0b8bba630f7a1fa217f90b20d298420a">faiss::gpu::Tensor::getStride</a></div><div class="ttdeci">__host__ __device__ IndexT getStride(int i) const </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00232">Tensor.cuh:232</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1Tensor_html_a0b8bba630f7a1fa217f90b20d298420a"><div class="ttname"><a href="classfaiss_1_1gpu_1_1Tensor.html#a0b8bba630f7a1fa217f90b20d298420a">faiss::gpu::Tensor::getStride</a></div><div class="ttdeci">__host__ __device__ IndexT getStride(int i) const </div><div class="ttdef"><b>Definition:</b> <a href="Tensor_8cuh_source.html#l00230">Tensor.cuh:230</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
......
......@@ -1052,7 +1052,7 @@ 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#l00035">ProductQuantizer.h:35</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#l00826">PolysemousTraining.cpp:826</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#l01342">utils.cpp:1342</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#l01344">utils.cpp:1344</a></div></div>
<div class="ttc" id="structfaiss_1_1Score3Computer_html_a1c4537d67802aef28ccc57c4bd87f766"><div class="ttname"><a href="structfaiss_1_1Score3Computer.html#a1c4537d67802aef28ccc57c4bd87f766">faiss::Score3Computer::compute_cost</a></div><div class="ttdeci">double compute_cost(const int *perm) const override</div><div class="ttdef"><b>Definition:</b> <a href="PolysemousTraining_8cpp_source.html#l00631">PolysemousTraining.cpp:631</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#l00443">PolysemousTraining.cpp:443</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#l00074">utils.cpp:74</a></div></div>
......
......@@ -440,7 +440,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;<span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1ProductQuantizer.html#a7afbf9d96276f021981e99f064254208">ProductQuantizer::decode</a> (<span class="keyword">const</span> uint8_t *code, <span class="keywordtype">float</span> *x, <span class="keywordtype">size_t</span> n)<span class="keyword"> const</span></div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; n; i++) {</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; this-&gt;<a class="code" href="structfaiss_1_1ProductQuantizer.html#a7afbf9d96276f021981e99f064254208">decode</a> (code + M * i, x + d * i);</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; this-&gt;<a class="code" href="structfaiss_1_1ProductQuantizer.html#a7afbf9d96276f021981e99f064254208">decode</a> (code + <a class="code" href="structfaiss_1_1ProductQuantizer.html#aa61330eadb84772b71018b093773a5f9">code_size</a> * i, x + d * i);</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; }</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;}</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;</div>
......@@ -770,7 +770,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#l00035">ProductQuantizer.h:35</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#l00350">Heap.h:350</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#l00565">ProductQuantizer.cpp:565</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#l01342">utils.cpp:1342</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#l01344">utils.cpp:1344</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#l00042">ProductQuantizer.h:42</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#l00049">ProductQuantizer.h:49</a></div></div>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -310,7 +310,7 @@ std::vector&lt; std::unique_ptr<br class="typebreak"/>
</div><div class="memdoc">
<p>Add vectors to a specific list; the input data can be on the host or on our current device </p>
<p>Definition at line <a class="el" href="IVFFlat_8cu_source.html#l00058">58</a> of file <a class="el" href="IVFFlat_8cu_source.html">IVFFlat.cu</a>.</p>
<p>Definition at line <a class="el" href="IVFFlat_8cu_source.html#l00054">54</a> of file <a class="el" href="IVFFlat_8cu_source.html">IVFFlat.cu</a>.</p>
</div>
</div>
......@@ -339,7 +339,7 @@ std::vector&lt; std::unique_ptr<br class="typebreak"/>
</div><div class="memdoc">
<p>Adds the given vectors 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="IVFFlat_8cu_source.html#l00130">130</a> of file <a class="el" href="IVFFlat_8cu_source.html">IVFFlat.cu</a>.</p>
<p>Definition at line <a class="el" href="IVFFlat_8cu_source.html#l00129">129</a> of file <a class="el" href="IVFFlat_8cu_source.html">IVFFlat.cu</a>.</p>
</div>
</div>
......@@ -386,7 +386,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="IVFFlat_8cu_source.html#l00288">288</a> of file <a class="el" href="IVFFlat_8cu_source.html">IVFFlat.cu</a>.</p>
<p>Definition at line <a class="el" href="IVFFlat_8cu_source.html#l00287">287</a> of file <a class="el" href="IVFFlat_8cu_source.html">IVFFlat.cu</a>.</p>
</div>
</div>
......
This diff is collapsed.
......@@ -227,7 +227,7 @@ template&lt;typename TensorType , int SubDim, template&lt; typename U &gt; class
</div><div class="memdoc">
<p>Returns a view of the data located at our offset (the dimension <code>SubDim</code> - 1 tensor). </p>
<p>Definition at line <a class="el" href="Tensor_8cuh_source.html#l00499">499</a> of file <a class="el" href="Tensor_8cuh_source.html">Tensor.cuh</a>.</p>
<p>Definition at line <a class="el" href="Tensor_8cuh_source.html#l00497">497</a> of file <a class="el" href="Tensor_8cuh_source.html">Tensor.cuh</a>.</p>
</div>
</div>
......@@ -256,7 +256,7 @@ template&lt;typename TensorType , int SubDim, template&lt; typename U &gt; class
</div><div class="memdoc">
<p>Returns a view of the data located at our offset (the dimension <code>SubDim</code> - 1 tensor) (const). </p>
<p>Definition at line <a class="el" href="Tensor_8cuh_source.html#l00515">515</a> of file <a class="el" href="Tensor_8cuh_source.html">Tensor.cuh</a>.</p>
<p>Definition at line <a class="el" href="Tensor_8cuh_source.html#l00513">513</a> of file <a class="el" href="Tensor_8cuh_source.html">Tensor.cuh</a>.</p>
</div>
</div>
......@@ -284,7 +284,7 @@ template&lt;typename TensorType , int SubDim, template&lt; typename U &gt; class
</div><div class="memdoc">
<p>Returns a tensor that is a view of the SubDim-dimensional slice of this tensor, starting where our data begins </p>
<p>Definition at line <a class="el" href="Tensor_8cuh_source.html#l00599">599</a> of file <a class="el" href="Tensor_8cuh_source.html">Tensor.cuh</a>.</p>
<p>Definition at line <a class="el" href="Tensor_8cuh_source.html#l00597">597</a> of file <a class="el" href="Tensor_8cuh_source.html">Tensor.cuh</a>.</p>
</div>
</div>
......
......@@ -196,7 +196,7 @@ class faiss::gpu::detail::SubTensor&lt; TensorType, 0, PtrTraits &gt;</h3>
<p>Specialization for a view of a single value (0-dimensional) </p>
<p>Definition at line <a class="el" href="Tensor_8cuh_source.html#l00380">380</a> of file <a class="el" href="Tensor_8cuh_source.html">Tensor.cuh</a>.</p>
<p>Definition at line <a class="el" href="Tensor_8cuh_source.html#l00378">378</a> of file <a class="el" href="Tensor_8cuh_source.html">Tensor.cuh</a>.</p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>/data/users/matthijs/github_faiss/faiss/gpu/utils/<a class="el" href="Tensor_8cuh_source.html">Tensor.cuh</a></li>
</ul>
......
......@@ -240,7 +240,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;}</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#l00181">IndexIVF.h:181</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#l00235">IndexIVF.h:235</a></div></div>
<div class="ttc" id="structfaiss_1_1MultiIndexQuantizer_html"><div class="ttname"><a href="structfaiss_1_1MultiIndexQuantizer.html">faiss::MultiIndexQuantizer</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexPQ_8h_source.html#l00135">IndexPQ.h:135</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 version and a L2 search version. </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00043">Index.h:43</a></div></div>
</div><!-- fragment --></div><!-- contents -->
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -125,6 +125,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
<li>efConstruction
: <a class="el" href="structfaiss_1_1HNSW.html#aa7309dd7826761def38233c8bbbc0c63">faiss::HNSW</a>
</li>
<li>efSearch
: <a class="el" href="structfaiss_1_1HNSW.html#a6d1cb35c4220bf554af90133c71ae04f">faiss::HNSW</a>
</li>
<li>eigen_power
: <a class="el" href="structfaiss_1_1PCAMatrix.html#a4e48e801f98ba2cf57c03b0913d6fafc">faiss::PCAMatrix</a>
</li>
......@@ -132,18 +138,24 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: <a class="el" href="structfaiss_1_1PCAMatrix.html#ae80e130c0667b66cea608c4926d7d561">faiss::PCAMatrix</a>
</li>
<li>elapsedMilliseconds()
: <a class="el" href="classfaiss_1_1gpu_1_1CpuTimer.html#a4a2795debf10bc7eb904d62356e41f0d">faiss::gpu::CpuTimer</a>
, <a class="el" href="classfaiss_1_1gpu_1_1KernelTimer.html#ac79ab2b2ef60a3fb713f7c80380ad2b5">faiss::gpu::KernelTimer</a>
: <a class="el" href="classfaiss_1_1gpu_1_1KernelTimer.html#ac79ab2b2ef60a3fb713f7c80380ad2b5">faiss::gpu::KernelTimer</a>
, <a class="el" href="classfaiss_1_1gpu_1_1CpuTimer.html#a4a2795debf10bc7eb904d62356e41f0d">faiss::gpu::CpuTimer</a>
</li>
<li>encode_multiple()
: <a class="el" href="structfaiss_1_1IndexIVFPQ.html#a1ae6cdd996bbd398fa4e87646c8f3ba6">faiss::IndexIVFPQ</a>
</li>
<li>end()
: <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a7e6b9cd8cc3cc0bfe39bd3fed7733e51">faiss::gpu::Tensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt;</a>
: <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a1afd11b16869df9d352ee8ab1f8c7a1f">faiss::gpu::Tensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt;</a>
</li>
<li>entry_point
: <a class="el" href="structfaiss_1_1HNSW.html#a95547d97c90b361a040bae0fb0d892b4">faiss::HNSW</a>
</li>
<li>equal()
: <a class="el" href="classfaiss_1_1gpu_1_1HostTensor.html#a9fe67a44876b83965a6195d11a38a22b">faiss::gpu::HostTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt;</a>
</li>
<li>estimate_code()
: <a class="el" href="structfaiss_1_1ReconstructFromNeighbors.html#a88ca99742dccc52ebb3324b507b6c872">faiss::ReconstructFromNeighbors</a>
</li>
<li>evaluate()
: <a class="el" href="structfaiss_1_1AutoTuneCriterion.html#a9084449e216b331c5f753a10c6de6a47">faiss::AutoTuneCriterion</a>
</li>
......
......@@ -125,6 +125,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
<li>fill_with_random_links()
: <a class="el" href="structfaiss_1_1HNSW.html#a26710980aaca3c1c8729e5e055a42ebe">faiss::HNSW</a>
</li>
<li>find_duplicates()
: <a class="el" href="structfaiss_1_1IndexIVFPQ.html#aee355b57acde203a3caed46a93e16a3c">faiss::IndexIVFPQ</a>
</li>
......
This diff is collapsed.
......@@ -146,6 +146,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li>highWaterMemoryUsed_
: <a class="el" href="structfaiss_1_1gpu_1_1StackDeviceMemory_1_1Stack.html#aa05c1f4a5280fe723c9888937182df75">faiss::gpu::StackDeviceMemory::Stack</a>
</li>
<li>HNSW()
: <a class="el" href="structfaiss_1_1HNSW.html#a1fc852810a2497a8eb2c41635ec05520">faiss::HNSW</a>
</li>
<li>HostTensor()
: <a class="el" href="classfaiss_1_1gpu_1_1HostTensor.html#a05a4f8a8b45c865f1bcf40ff7e3c95a1">faiss::gpu::HostTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt;</a>
</li>
......
This diff is collapsed.
......@@ -139,6 +139,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: <a class="el" href="classfaiss_1_1gpu_1_1detail_1_1SubTensor_3_01TensorType_00_010_00_01PtrTraits_01_4.html#aa56767066e40a4758e37b26e43449f1d">faiss::gpu::detail::SubTensor&lt; TensorType, 0, PtrTraits &gt;</a>
, <a class="el" href="classfaiss_1_1gpu_1_1detail_1_1SubTensor.html#a3f29fab81a72a8bdd93901851af98ec7">faiss::gpu::detail::SubTensor&lt; TensorType, SubDim, PtrTraits &gt;</a>
</li>
<li>levels
: <a class="el" href="structfaiss_1_1HNSW.html#a44847954c98957404829182c7db1b8af">faiss::HNSW</a>
</li>
<li>limits
: <a class="el" href="structfaiss_1_1IndexIVFPQCompact.html#a146ccc5a05aed1d2e96df8c1d3f7663d">faiss::IndexIVFPQCompact</a>
</li>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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