2017-02-23 06:26:44 +08:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" / >
< meta http-equiv = "X-UA-Compatible" content = "IE=9" / >
< meta name = "generator" content = "Doxygen 1.8.5" / >
2017-11-22 21:00:42 +08:00
< title > Faiss: faiss::gpu::Tensor< T, Dim, InnerContig, IndexT, PtrTraits > Class Template Reference< / title >
2017-02-23 06:26:44 +08:00
< link href = "tabs.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "jquery.js" > < / script >
< script type = "text/javascript" src = "dynsections.js" > < / script >
< link href = "search/search.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "search/search.js" > < / script >
< script type = "text/javascript" >
$(document).ready(function() { searchBox.OnSelectItem(0); });
< / script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" / >
< / head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr style = "height: 56px;" >
< td style = "padding-left: 0.5em;" >
< div id = "projectname" > Faiss
< / div >
< / td >
< / tr >
< / tbody >
< / table >
< / div >
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
< script type = "text/javascript" >
var searchBox = new SearchBox("searchBox", "search",false,'Search');
< / script >
< div id = "navrow1" class = "tabs" >
< ul class = "tablist" >
< li > < a href = "index.html" > < span > Main  Page< / span > < / a > < / li >
< li > < a href = "namespaces.html" > < span > Namespaces< / span > < / a > < / li >
< li class = "current" > < a href = "annotated.html" > < span > Classes< / span > < / a > < / li >
< li > < a href = "files.html" > < span > Files< / span > < / a > < / li >
< li >
< div id = "MSearchBox" class = "MSearchBoxInactive" >
< span class = "left" >
< img id = "MSearchSelect" src = "search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
< input type = "text" id = "MSearchField" value = "Search" accesskey = "S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
< / span > < span class = "right" >
< a id = "MSearchClose" href = "javascript:searchBox.CloseResultsWindow()" > < img id = "MSearchCloseImg" border = "0" src = "search/close.png" alt = "" / > < / a >
< / span >
< / div >
< / li >
< / ul >
< / div >
< div id = "navrow2" class = "tabs2" >
< ul class = "tablist" >
< li > < a href = "annotated.html" > < span > Class  List< / span > < / a > < / li >
< li > < a href = "classes.html" > < span > Class  Index< / span > < / a > < / li >
< li > < a href = "hierarchy.html" > < span > Class  Hierarchy< / span > < / a > < / li >
< li > < a href = "functions.html" > < span > Class  Members< / span > < / a > < / li >
< / ul >
< / div >
<!-- window showing the filter options -->
< div id = "MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
< a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(0)" > < span class = "SelectionMark" >   < / span > All< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(1)" > < span class = "SelectionMark" >   < / span > Classes< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(2)" > < span class = "SelectionMark" >   < / span > Namespaces< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(3)" > < span class = "SelectionMark" >   < / span > Functions< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(4)" > < span class = "SelectionMark" >   < / span > Variables< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(5)" > < span class = "SelectionMark" >   < / span > Typedefs< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(6)" > < span class = "SelectionMark" >   < / span > Enumerations< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(7)" > < span class = "SelectionMark" >   < / span > Enumerator< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(8)" > < span class = "SelectionMark" >   < / span > Friends< / a > < / div >
<!-- iframe showing the search results (closed by default) -->
< div id = "MSearchResultsWindow" >
< iframe src = "javascript:void(0)" frameborder = "0"
name="MSearchResults" id="MSearchResults">
< / iframe >
< / div >
< div id = "nav-path" class = "navpath" >
< ul >
< li class = "navelem" > < a class = "el" href = "namespacefaiss.html" > faiss< / a > < / li > < li class = "navelem" > < b > gpu< / b > < / li > < li class = "navelem" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < / li > < / ul >
< / div >
< / div > <!-- top -->
< div class = "header" >
< div class = "summary" >
< a href = "#pub-types" > Public Types< / a > |
< a href = "#pub-methods" > Public Member Functions< / a > |
< a href = "#pro-attribs" > Protected Attributes< / a > |
< a href = "classfaiss_1_1gpu_1_1Tensor-members.html" > List of all members< / a > < / div >
< div class = "headertitle" >
2017-11-22 21:00:42 +08:00
< div class = "title" > faiss::gpu::Tensor< T, Dim, InnerContig, IndexT, PtrTraits > Class Template Reference< / div > < / div >
2017-02-23 06:26:44 +08:00
< / div > <!-- header -->
< div class = "contents" >
< p > Our tensor type.
< a href = "classfaiss_1_1gpu_1_1Tensor.html#details" > More...< / a > < / p >
< div class = "dynheader" >
2017-11-22 21:00:42 +08:00
Inheritance diagram for faiss::gpu::Tensor< T, Dim, InnerContig, IndexT, PtrTraits > :< / div >
2017-02-23 06:26:44 +08:00
< div class = "dyncontent" >
< div class = "center" >
2017-11-22 21:00:42 +08:00
< img src = "classfaiss_1_1gpu_1_1Tensor.png" usemap = "#faiss::gpu::Tensor< T, Dim, InnerContig, IndexT, PtrTraits >_map" alt = "" / >
< map id = "faiss::gpu::Tensor< T, Dim, InnerContig, IndexT, PtrTraits >_map" name = "faiss::gpu::Tensor< T, Dim, InnerContig, IndexT, PtrTraits >_map" >
< area href = "classfaiss_1_1gpu_1_1DeviceTensor.html" alt = "faiss::gpu::DeviceTensor< T, Dim, InnerContig, IndexT, PtrTraits >" shape = "rect" coords = "0,56,387,80" / >
< area href = "classfaiss_1_1gpu_1_1HostTensor.html" alt = "faiss::gpu::HostTensor< T, Dim, InnerContig, IndexT, PtrTraits >" shape = "rect" coords = "397,56,784,80" / >
2017-02-23 06:26:44 +08:00
< / map >
< / div > < / div >
< table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "pub-types" > < / a >
Public Types< / h2 > < / td > < / tr >
< tr class = "memitem:a072171dcad6979257d1d28dfdc9c6eb0" > < td class = "memItemLeft" align = "right" valign = "top" > enum   < / td > < td class = "memItemRight" valign = "bottom" > { < b > NumDim< / b > = Dim
}< / td > < / tr >
< tr class = "separator:a072171dcad6979257d1d28dfdc9c6eb0" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2017-11-22 21:00:42 +08:00
< tr class = "memitem:a828306db3c0bcaecca6d3888eb3bda24" > < td class = "memItemLeft" align = "right" valign = "top" > enum   < / td > < td class = "memItemRight" valign = "bottom" > { < b > IsInnerContig< / b > = InnerContig
2017-02-23 06:26:44 +08:00
}< / td > < / tr >
< tr class = "separator:a828306db3c0bcaecca6d3888eb3bda24" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2017-11-22 21:00:42 +08:00
< tr class = "memitem:ac93f0549a9f5445b661360d98f81a886" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ac93f0549a9f5445b661360d98f81a886" > < / a >
2017-02-23 06:26:44 +08:00
typedef T  < / td > < td class = "memItemRight" valign = "bottom" > < b > DataType< / b > < / td > < / tr >
2017-11-22 21:00:42 +08:00
< tr class = "separator:ac93f0549a9f5445b661360d98f81a886" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a6f1736cc50bddec6ccce56ae1a1cdbfd" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a6f1736cc50bddec6ccce56ae1a1cdbfd" > < / a >
2017-02-23 06:26:44 +08:00
typedef IndexT  < / td > < td class = "memItemRight" valign = "bottom" > < b > IndexType< / b > < / td > < / tr >
2017-11-22 21:00:42 +08:00
< tr class = "separator:a6f1736cc50bddec6ccce56ae1a1cdbfd" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:afb400f8869fab312c801fab02e70f547" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "afb400f8869fab312c801fab02e70f547" > < / a >
2017-02-23 06:26:44 +08:00
typedef PtrTraits< T > ::PtrType  < / td > < td class = "memItemRight" valign = "bottom" > < b > DataPtrType< / b > < / td > < / tr >
2017-11-22 21:00:42 +08:00
< tr class = "separator:afb400f8869fab312c801fab02e70f547" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a93bf6ccd5c40c1e936c5b9eb0aabc70f" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a93bf6ccd5c40c1e936c5b9eb0aabc70f" > < / a >
typedef < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, Dim, < br class = "typebreak" / >
InnerContig, IndexT, PtrTraits >   < / td > < td class = "memItemRight" valign = "bottom" > < b > TensorType< / b > < / td > < / tr >
< tr class = "separator:a93bf6ccd5c40c1e936c5b9eb0aabc70f" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2017-02-23 06:26:44 +08:00
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "pub-methods" > < / a >
Public Member Functions< / h2 > < / td > < / tr >
2017-11-22 21:00:42 +08:00
< tr class = "memitem:a8ae7b3f95991125a5648c3b78afd40bd" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a8ae7b3f95991125a5648c3b78afd40bd" > < / a >
__host__ __device__  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a8ae7b3f95991125a5648c3b78afd40bd" > Tensor< / a > ()< / td > < / tr >
< tr class = "memdesc:a8ae7b3f95991125a5648c3b78afd40bd" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Default constructor. < br / > < / td > < / tr >
< tr class = "separator:a8ae7b3f95991125a5648c3b78afd40bd" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-01-09 22:44:43 +08:00
< tr class = "memitem:a4396d8789bb829a4d614900b2a632bc9" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a4396d8789bb829a4d614900b2a632bc9" > < / a >
__host__ __device__  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a4396d8789bb829a4d614900b2a632bc9" > Tensor< / a > (< a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > & t)< / td > < / tr >
< tr class = "memdesc:a4396d8789bb829a4d614900b2a632bc9" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Copy constructor. < br / > < / td > < / tr >
< tr class = "separator:a4396d8789bb829a4d614900b2a632bc9" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a37db8663b2fd9e1da8c4dea4e2bdb1f3" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a37db8663b2fd9e1da8c4dea4e2bdb1f3" > < / a >
__host__ __device__  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a37db8663b2fd9e1da8c4dea4e2bdb1f3" > Tensor< / a > (< a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > & & t)< / td > < / tr >
< tr class = "memdesc:a37db8663b2fd9e1da8c4dea4e2bdb1f3" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Move constructor. < br / > < / td > < / tr >
< tr class = "separator:a37db8663b2fd9e1da8c4dea4e2bdb1f3" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a0d831a352531281e06250cc6fe52a38a" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a0d831a352531281e06250cc6fe52a38a" > < / a >
2017-02-23 06:26:44 +08:00
__host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, < br class = "typebreak" / >
2017-11-22 21:00:42 +08:00
Dim, InnerContig, IndexT, < br class = "typebreak" / >
2018-01-09 22:44:43 +08:00
PtrTraits > &   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a0d831a352531281e06250cc6fe52a38a" > operator=< / a > (< a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > & t)< / td > < / tr >
< tr class = "memdesc:a0d831a352531281e06250cc6fe52a38a" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Assignment. < br / > < / td > < / tr >
< tr class = "separator:a0d831a352531281e06250cc6fe52a38a" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2017-11-22 21:00:42 +08:00
< tr class = "memitem:ae086a03b8067e18d0c2dda0892dc9e39" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ae086a03b8067e18d0c2dda0892dc9e39" > < / a >
2017-02-23 06:26:44 +08:00
__host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, < br class = "typebreak" / >
2017-11-22 21:00:42 +08:00
Dim, InnerContig, IndexT, < br class = "typebreak" / >
PtrTraits > &   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#ae086a03b8067e18d0c2dda0892dc9e39" > operator=< / a > (< a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > & & t)< / td > < / tr >
< tr class = "memdesc:ae086a03b8067e18d0c2dda0892dc9e39" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Move assignment. < br / > < / td > < / tr >
< tr class = "separator:ae086a03b8067e18d0c2dda0892dc9e39" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a88210dee96fc97b00f0ab45749528fe9" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a88210dee96fc97b00f0ab45749528fe9" > < / a >
__host__ __device__  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a88210dee96fc97b00f0ab45749528fe9" > Tensor< / a > (DataPtrType < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212" > data< / a > , const IndexT < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb" > sizes< / a > [Dim])< / td > < / tr >
< tr class = "memdesc:a88210dee96fc97b00f0ab45749528fe9" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Constructor that calculates strides with no padding. < br / > < / td > < / tr >
< tr class = "separator:a88210dee96fc97b00f0ab45749528fe9" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a747a7b43c01f54158798b28728b2dfc0" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a747a7b43c01f54158798b28728b2dfc0" > < / a >
__host__ __device__  < / td > < td class = "memItemRight" valign = "bottom" > < b > Tensor< / b > (DataPtrType < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212" > data< / a > , std::initializer_list< IndexT > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb" > sizes< / a > )< / td > < / tr >
< tr class = "separator:a747a7b43c01f54158798b28728b2dfc0" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ac651b20d86813b8928f05cde4fb1ff7d" > < td class = "memItemLeft" align = "right" valign = "top" > __host__ __device__  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#ac651b20d86813b8928f05cde4fb1ff7d" > Tensor< / a > (DataPtrType < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212" > data< / a > , const IndexT < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb" > sizes< / a > [Dim], const IndexT < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a87a777247486756e99060547a3cc833a" > strides< / a > [Dim])< / td > < / tr >
< tr class = "separator:ac651b20d86813b8928f05cde4fb1ff7d" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a6dc00c182a92389b74c89ba7fcab40d3" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a6dc00c182a92389b74c89ba7fcab40d3" > < / a >
__host__ void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a6dc00c182a92389b74c89ba7fcab40d3" > copyFrom< / a > (< a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > & t, cudaStream_t stream)< / td > < / tr >
< tr class = "memdesc:a6dc00c182a92389b74c89ba7fcab40d3" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Copies a tensor into ourselves; sizes must match. < br / > < / td > < / tr >
< tr class = "separator:a6dc00c182a92389b74c89ba7fcab40d3" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a6cc21376070a03d77661d6e333972c6a" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a6cc21376070a03d77661d6e333972c6a" > < / a >
__host__ void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a6cc21376070a03d77661d6e333972c6a" > copyTo< / a > (< a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > & t, cudaStream_t stream)< / td > < / tr >
< tr class = "memdesc:a6cc21376070a03d77661d6e333972c6a" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Copies ourselves into a tensor; sizes must match. < br / > < / td > < / tr >
< tr class = "separator:a6cc21376070a03d77661d6e333972c6a" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a3067941f8f8f09fc73e2f06243699825" > < td class = "memTemplParams" colspan = "2" > template< typename OtherT , int OtherDim> < / td > < / tr >
< tr class = "memitem:a3067941f8f8f09fc73e2f06243699825" > < td class = "memTemplItemLeft" align = "right" valign = "top" > __host__ __device__ bool  < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a3067941f8f8f09fc73e2f06243699825" > isSame< / a > (const < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < OtherT, OtherDim, InnerContig, IndexT, PtrTraits > & rhs) const < / td > < / tr >
< tr class = "separator:a3067941f8f8f09fc73e2f06243699825" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a22c1e45f81f7f9e5427e2eed19f9cd11" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a22c1e45f81f7f9e5427e2eed19f9cd11" > < / a >
template< typename OtherT , int OtherDim> < / td > < / tr >
< tr class = "memitem:a22c1e45f81f7f9e5427e2eed19f9cd11" > < td class = "memTemplItemLeft" align = "right" valign = "top" > __host__ __device__ bool  < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a22c1e45f81f7f9e5427e2eed19f9cd11" > isSameSize< / a > (const < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < OtherT, OtherDim, InnerContig, IndexT, PtrTraits > & rhs) const < / td > < / tr >
< tr class = "memdesc:a22c1e45f81f7f9e5427e2eed19f9cd11" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Returns true if the two tensors are of the same dimensionality and size. < br / > < / td > < / tr >
< tr class = "separator:a22c1e45f81f7f9e5427e2eed19f9cd11" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a2894f8fdfab8ec3245364a6f9e8a5259" > < td class = "memTemplParams" colspan = "2" > template< typename U > < / td > < / tr >
< tr class = "memitem:a2894f8fdfab8ec3245364a6f9e8a5259" > < td class = "memTemplItemLeft" align = "right" valign = "top" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < U, < br class = "typebreak" / >
Dim, InnerContig, IndexT, < br class = "typebreak" / >
PtrTraits >   < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a2894f8fdfab8ec3245364a6f9e8a5259" > cast< / a > ()< / td > < / tr >
< tr class = "separator:a2894f8fdfab8ec3245364a6f9e8a5259" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a79a16bd4300ca8fdba52932c7c97cce9" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a79a16bd4300ca8fdba52932c7c97cce9" > < / a >
2017-02-23 06:26:44 +08:00
template< typename U > < / td > < / tr >
2017-11-22 21:00:42 +08:00
< tr class = "memitem:a79a16bd4300ca8fdba52932c7c97cce9" > < td class = "memTemplItemLeft" align = "right" valign = "top" > __host__ __device__ const < br class = "typebreak" / >
< a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < U, Dim, InnerContig, < br class = "typebreak" / >
IndexT, PtrTraits >   < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a79a16bd4300ca8fdba52932c7c97cce9" > cast< / a > () const < / td > < / tr >
< tr class = "memdesc:a79a16bd4300ca8fdba52932c7c97cce9" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Const version of < code > cast< / code > < br / > < / td > < / tr >
< tr class = "separator:a79a16bd4300ca8fdba52932c7c97cce9" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a6c9640c365134ccc33cdb2695b016eb3" > < td class = "memTemplParams" colspan = "2" > template< typename U > < / td > < / tr >
< tr class = "memitem:a6c9640c365134ccc33cdb2695b016eb3" > < td class = "memTemplItemLeft" align = "right" valign = "top" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < U, < br class = "typebreak" / >
Dim, InnerContig, IndexT, < br class = "typebreak" / >
PtrTraits >   < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a6c9640c365134ccc33cdb2695b016eb3" > castResize< / a > ()< / td > < / tr >
< tr class = "separator:a6c9640c365134ccc33cdb2695b016eb3" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ae06338d9b19c62452c2111682447f863" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "ae06338d9b19c62452c2111682447f863" > < / a >
2017-02-23 06:26:44 +08:00
template< typename U > < / td > < / tr >
2017-11-22 21:00:42 +08:00
< tr class = "memitem:ae06338d9b19c62452c2111682447f863" > < td class = "memTemplItemLeft" align = "right" valign = "top" > __host__ __device__ const < br class = "typebreak" / >
< a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < U, Dim, InnerContig, < br class = "typebreak" / >
IndexT, PtrTraits >   < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#ae06338d9b19c62452c2111682447f863" > castResize< / a > () const < / td > < / tr >
< tr class = "memdesc:ae06338d9b19c62452c2111682447f863" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Const version of < code > castResize< / code > < br / > < / td > < / tr >
< tr class = "separator:ae06338d9b19c62452c2111682447f863" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a7fbbf51f8ef6bea9cc863a86e20d994e" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a7fbbf51f8ef6bea9cc863a86e20d994e" > < / a >
2017-02-23 06:26:44 +08:00
template< typename U > < / td > < / tr >
2017-11-22 21:00:42 +08:00
< tr class = "memitem:a7fbbf51f8ef6bea9cc863a86e20d994e" > < td class = "memTemplItemLeft" align = "right" valign = "top" > __host__ __device__ bool  < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a7fbbf51f8ef6bea9cc863a86e20d994e" > canCastResize< / a > () const < / td > < / tr >
< tr class = "memdesc:a7fbbf51f8ef6bea9cc863a86e20d994e" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Returns true if we can < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a6c9640c365134ccc33cdb2695b016eb3" > castResize()< / a > this tensor to the new type. < br / > < / td > < / tr >
< tr class = "separator:a7fbbf51f8ef6bea9cc863a86e20d994e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a9f0c817e9751fe02926c2346a97f0350" > < td class = "memTemplParams" colspan = "2" > template< typename NewIndexT > < / td > < / tr >
< tr class = "memitem:a9f0c817e9751fe02926c2346a97f0350" > < td class = "memTemplItemLeft" align = "right" valign = "top" > __host__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, Dim, < br class = "typebreak" / >
InnerContig, NewIndexT, < br class = "typebreak" / >
PtrTraits >   < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a9f0c817e9751fe02926c2346a97f0350" > castIndexType< / a > () const < / td > < / tr >
< tr class = "separator:a9f0c817e9751fe02926c2346a97f0350" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a2ac9dc9fa8d81f2651a1be486c14ba62" > < td class = "memTemplParams" colspan = "2" > template< typename NewIndexT > < / td > < / tr >
< tr class = "memitem:a2ac9dc9fa8d81f2651a1be486c14ba62" > < td class = "memTemplItemLeft" align = "right" valign = "top" > __host__ bool  < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a2ac9dc9fa8d81f2651a1be486c14ba62" > canUseIndexType< / a > () const < / td > < / tr >
< tr class = "separator:a2ac9dc9fa8d81f2651a1be486c14ba62" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a50411ce4d0fa32ef715e3321b6e33212" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a50411ce4d0fa32ef715e3321b6e33212" > < / a >
__host__ __device__ DataPtrType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212" > data< / a > ()< / td > < / tr >
< tr class = "memdesc:a50411ce4d0fa32ef715e3321b6e33212" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Returns a raw pointer to the start of our data. < br / > < / td > < / tr >
< tr class = "separator:a50411ce4d0fa32ef715e3321b6e33212" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a1afd11b16869df9d352ee8ab1f8c7a1f" > < td class = "memItemLeft" align = "right" valign = "top" > __host__ __device__ DataPtrType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a1afd11b16869df9d352ee8ab1f8c7a1f" > end< / a > ()< / td > < / tr >
< tr class = "separator:a1afd11b16869df9d352ee8ab1f8c7a1f" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:afde15195e51318fd1811ea402f63c1ab" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "afde15195e51318fd1811ea402f63c1ab" > < / a >
2017-02-23 06:26:44 +08:00
__host__ __device__ const < br class = "typebreak" / >
2017-11-22 21:00:42 +08:00
DataPtrType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#afde15195e51318fd1811ea402f63c1ab" > data< / a > () const < / td > < / tr >
< tr class = "memdesc:afde15195e51318fd1811ea402f63c1ab" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Returns a raw pointer to the start of our data (const). < br / > < / td > < / tr >
< tr class = "separator:afde15195e51318fd1811ea402f63c1ab" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a7e6b9cd8cc3cc0bfe39bd3fed7733e51" > < td class = "memItemLeft" align = "right" valign = "top" > __host__ __device__ DataPtrType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a7e6b9cd8cc3cc0bfe39bd3fed7733e51" > end< / a > () const < / td > < / tr >
< tr class = "separator:a7e6b9cd8cc3cc0bfe39bd3fed7733e51" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a38adf20225c9f8f764aafe273c4ee122" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a38adf20225c9f8f764aafe273c4ee122" > < / a >
2017-02-23 06:26:44 +08:00
template< typename U > < / td > < / tr >
2017-11-22 21:00:42 +08:00
< tr class = "memitem:a38adf20225c9f8f764aafe273c4ee122" > < td class = "memTemplItemLeft" align = "right" valign = "top" > __host__ __device__ PtrTraits< br class = "typebreak" / >
< U > ::PtrType  < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a38adf20225c9f8f764aafe273c4ee122" > dataAs< / a > ()< / td > < / tr >
< tr class = "memdesc:a38adf20225c9f8f764aafe273c4ee122" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Cast to a different datatype. < br / > < / td > < / tr >
< tr class = "separator:a38adf20225c9f8f764aafe273c4ee122" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a76383e7f62a826ba55955bd3d1dddce7" > < td class = "memTemplParams" colspan = "2" > < a class = "anchor" id = "a76383e7f62a826ba55955bd3d1dddce7" > < / a >
2017-02-23 06:26:44 +08:00
template< typename U > < / td > < / tr >
2017-11-22 21:00:42 +08:00
< tr class = "memitem:a76383e7f62a826ba55955bd3d1dddce7" > < td class = "memTemplItemLeft" align = "right" valign = "top" > __host__ __device__ const < br class = "typebreak" / >
PtrTraits< const U > ::PtrType  < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a76383e7f62a826ba55955bd3d1dddce7" > dataAs< / a > () const < / td > < / tr >
< tr class = "memdesc:a76383e7f62a826ba55955bd3d1dddce7" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Cast to a different datatype. < br / > < / td > < / tr >
< tr class = "separator:a76383e7f62a826ba55955bd3d1dddce7" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a7926dc43f0fa998d16b9497676e118e6" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a7926dc43f0fa998d16b9497676e118e6" > < / a >
2017-02-23 06:26:44 +08:00
__host__ __device__ < br class = "typebreak" / >
< a class = "el" href = "classfaiss_1_1gpu_1_1detail_1_1SubTensor.html" > detail::SubTensor< / a > < < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > TensorType< / a > , < br class = "typebreak" / >
2017-11-22 21:00:42 +08:00
Dim-1, PtrTraits >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a7926dc43f0fa998d16b9497676e118e6" > operator[]< / a > (IndexT)< / td > < / tr >
< tr class = "memdesc:a7926dc43f0fa998d16b9497676e118e6" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Returns a read/write view of a portion of our tensor. < br / > < / td > < / tr >
< tr class = "separator:a7926dc43f0fa998d16b9497676e118e6" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a0c8ec0ba81275d369caac6f0324d80bd" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a0c8ec0ba81275d369caac6f0324d80bd" > < / a >
2017-02-23 06:26:44 +08:00
__host__ __device__ const < br class = "typebreak" / >
< a class = "el" href = "classfaiss_1_1gpu_1_1detail_1_1SubTensor.html" > detail::SubTensor< / a > < < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > TensorType< / a > , < br class = "typebreak" / >
2017-11-22 21:00:42 +08:00
Dim-1, PtrTraits >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a0c8ec0ba81275d369caac6f0324d80bd" > operator[]< / a > (IndexT) const < / td > < / tr >
< tr class = "memdesc:a0c8ec0ba81275d369caac6f0324d80bd" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Returns a read/write view of a portion of our tensor (const). < br / > < / td > < / tr >
< tr class = "separator:a0c8ec0ba81275d369caac6f0324d80bd" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a6699c311648457f257afa340c61f417c" > < td class = "memItemLeft" align = "right" valign = "top" > __host__ __device__ IndexT  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a6699c311648457f257afa340c61f417c" > getSize< / a > (int i) const < / td > < / tr >
< tr class = "separator:a6699c311648457f257afa340c61f417c" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a0b8bba630f7a1fa217f90b20d298420a" > < td class = "memItemLeft" align = "right" valign = "top" > __host__ __device__ IndexT  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a0b8bba630f7a1fa217f90b20d298420a" > getStride< / a > (int i) const < / td > < / tr >
< tr class = "separator:a0b8bba630f7a1fa217f90b20d298420a" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a0ba9ab7c1676b7a41a6e6b2e5a490d2f" > < td class = "memItemLeft" align = "right" valign = "top" > __host__ __device__ size_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a0ba9ab7c1676b7a41a6e6b2e5a490d2f" > numElements< / a > () const < / td > < / tr >
< tr class = "separator:a0ba9ab7c1676b7a41a6e6b2e5a490d2f" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a8220da958d022c322b80b0539c99f8d4" > < td class = "memItemLeft" align = "right" valign = "top" > __host__ __device__ size_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a8220da958d022c322b80b0539c99f8d4" > getSizeInBytes< / a > () const < / td > < / tr >
< tr class = "separator:a8220da958d022c322b80b0539c99f8d4" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:abc0ecc4f882ee09632b5a06be0619adb" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "abc0ecc4f882ee09632b5a06be0619adb" > < / a >
__host__ __device__ const IndexT *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb" > sizes< / a > () const < / td > < / tr >
< tr class = "memdesc:abc0ecc4f882ee09632b5a06be0619adb" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Returns the size array. < br / > < / td > < / tr >
< tr class = "separator:abc0ecc4f882ee09632b5a06be0619adb" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a87a777247486756e99060547a3cc833a" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a87a777247486756e99060547a3cc833a" > < / a >
__host__ __device__ const IndexT *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a87a777247486756e99060547a3cc833a" > strides< / a > () const < / td > < / tr >
< tr class = "memdesc:a87a777247486756e99060547a3cc833a" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Returns the stride array. < br / > < / td > < / tr >
< tr class = "separator:a87a777247486756e99060547a3cc833a" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a09019c54911db891c9321fd3b34509c2" > < td class = "memItemLeft" align = "right" valign = "top" > __host__ __device__ bool  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a09019c54911db891c9321fd3b34509c2" > isContiguous< / a > () const < / td > < / tr >
< tr class = "separator:a09019c54911db891c9321fd3b34509c2" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a663e3829c395372acdc8d2e71c0bdabe" > < td class = "memItemLeft" align = "right" valign = "top" > __host__ __device__ bool  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a663e3829c395372acdc8d2e71c0bdabe" > isConsistentlySized< / a > (int i) const < / td > < / tr >
< tr class = "separator:a663e3829c395372acdc8d2e71c0bdabe" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:acd6bd3286c3e6b32ed9b335b9cb82637" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "acd6bd3286c3e6b32ed9b335b9cb82637" > < / a >
2017-02-23 06:26:44 +08:00
__host__ __device__ bool  < / td > < td class = "memItemRight" valign = "bottom" > < b > isConsistentlySized< / b > () const < / td > < / tr >
2017-11-22 21:00:42 +08:00
< tr class = "separator:acd6bd3286c3e6b32ed9b335b9cb82637" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a3f4e3c6afdf4a03308756b6ae6462c38" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a3f4e3c6afdf4a03308756b6ae6462c38" > < / a >
__host__ __device__ bool  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a3f4e3c6afdf4a03308756b6ae6462c38" > isContiguousDim< / a > (int i) const < / td > < / tr >
< tr class = "memdesc:a3f4e3c6afdf4a03308756b6ae6462c38" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Returns true if the given dimension index has no padding. < br / > < / td > < / tr >
< tr class = "separator:a3f4e3c6afdf4a03308756b6ae6462c38" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a82a3484a6458e3e95bb91d320f2c6731" > < td class = "memItemLeft" align = "right" valign = "top" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, < br class = "typebreak" / >
Dim, InnerContig, IndexT, < br class = "typebreak" / >
PtrTraits >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a82a3484a6458e3e95bb91d320f2c6731" > transpose< / a > (int dim1, int dim2) const < / td > < / tr >
< tr class = "separator:a82a3484a6458e3e95bb91d320f2c6731" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a309eb97e9c6dbfdecf383343c072d38c" > < td class = "memTemplParams" colspan = "2" > template< int NewDim> < / td > < / tr >
< tr class = "memitem:a309eb97e9c6dbfdecf383343c072d38c" > < td class = "memTemplItemLeft" align = "right" valign = "top" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, < br class = "typebreak" / >
NewDim, InnerContig, IndexT, < br class = "typebreak" / >
PtrTraits >   < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a309eb97e9c6dbfdecf383343c072d38c" > upcastOuter< / a > ()< / td > < / tr >
< tr class = "separator:a309eb97e9c6dbfdecf383343c072d38c" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:aee5cf46d16344e2a055cf63adb07d24a" > < td class = "memTemplParams" colspan = "2" > template< int NewDim> < / td > < / tr >
< tr class = "memitem:aee5cf46d16344e2a055cf63adb07d24a" > < td class = "memTemplItemLeft" align = "right" valign = "top" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, < br class = "typebreak" / >
NewDim, InnerContig, IndexT, < br class = "typebreak" / >
PtrTraits >   < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#aee5cf46d16344e2a055cf63adb07d24a" > upcastInner< / a > ()< / td > < / tr >
< tr class = "separator:aee5cf46d16344e2a055cf63adb07d24a" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a2185b0c1c2c06cc3a4dab6a88eb6d001" > < td class = "memTemplParams" colspan = "2" > template< int NewDim> < / td > < / tr >
< tr class = "memitem:a2185b0c1c2c06cc3a4dab6a88eb6d001" > < td class = "memTemplItemLeft" align = "right" valign = "top" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, < br class = "typebreak" / >
NewDim, InnerContig, IndexT, < br class = "typebreak" / >
PtrTraits >   < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a2185b0c1c2c06cc3a4dab6a88eb6d001" > downcastOuter< / a > ()< / td > < / tr >
< tr class = "separator:a2185b0c1c2c06cc3a4dab6a88eb6d001" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a6a43125c6f429f28161d59f19eb8e5c5" > < td class = "memTemplParams" colspan = "2" > template< int NewDim> < / td > < / tr >
< tr class = "memitem:a6a43125c6f429f28161d59f19eb8e5c5" > < td class = "memTemplItemLeft" align = "right" valign = "top" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, < br class = "typebreak" / >
NewDim, InnerContig, IndexT, < br class = "typebreak" / >
PtrTraits >   < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a6a43125c6f429f28161d59f19eb8e5c5" > downcastInner< / a > ()< / td > < / tr >
< tr class = "separator:a6a43125c6f429f28161d59f19eb8e5c5" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a74dbc09519c9c14479b2d18f2e5042e8" > < td class = "memTemplParams" colspan = "2" > template< int SubDim> < / td > < / tr >
< tr class = "memitem:a74dbc09519c9c14479b2d18f2e5042e8" > < td class = "memTemplItemLeft" align = "right" valign = "top" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, < br class = "typebreak" / >
SubDim, InnerContig, IndexT, < br class = "typebreak" / >
PtrTraits >   < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a74dbc09519c9c14479b2d18f2e5042e8" > view< / a > (DataPtrType at)< / td > < / tr >
< tr class = "separator:a74dbc09519c9c14479b2d18f2e5042e8" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a35a63cfa4034a8ee14a999132d8a1828" > < td class = "memTemplParams" colspan = "2" > template< int SubDim> < / td > < / tr >
< tr class = "memitem:a35a63cfa4034a8ee14a999132d8a1828" > < td class = "memTemplItemLeft" align = "right" valign = "top" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, < br class = "typebreak" / >
SubDim, InnerContig, IndexT, < br class = "typebreak" / >
PtrTraits >   < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a35a63cfa4034a8ee14a999132d8a1828" > view< / a > ()< / td > < / tr >
< tr class = "separator:a35a63cfa4034a8ee14a999132d8a1828" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ac2d0fc7199901a8e0788b58f0970b133" > < td class = "memItemLeft" align = "right" valign = "top" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, < br class = "typebreak" / >
Dim, InnerContig, IndexT, < br class = "typebreak" / >
PtrTraits >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#ac2d0fc7199901a8e0788b58f0970b133" > narrowOutermost< / a > (IndexT start, IndexT size)< / td > < / tr >
< tr class = "separator:ac2d0fc7199901a8e0788b58f0970b133" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ab6db6bf86dd0f7e877af3a6ae2100fe3" > < td class = "memItemLeft" align = "right" valign = "top" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, < br class = "typebreak" / >
Dim, InnerContig, IndexT, < br class = "typebreak" / >
PtrTraits >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#ab6db6bf86dd0f7e877af3a6ae2100fe3" > narrow< / a > (int dim, IndexT start, IndexT size)< / td > < / tr >
< tr class = "separator:ab6db6bf86dd0f7e877af3a6ae2100fe3" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a665d97851f0929cad7fc76f945b64c97" > < td class = "memTemplParams" colspan = "2" > template< int NewDim> < / td > < / tr >
< tr class = "memitem:a665d97851f0929cad7fc76f945b64c97" > < td class = "memTemplItemLeft" align = "right" valign = "top" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, < br class = "typebreak" / >
NewDim, InnerContig, IndexT, < br class = "typebreak" / >
PtrTraits >   < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a665d97851f0929cad7fc76f945b64c97" > view< / a > (std::initializer_list< IndexT > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb" > sizes< / a > )< / td > < / tr >
< tr class = "separator:a665d97851f0929cad7fc76f945b64c97" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2017-02-23 06:26:44 +08:00
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "pro-attribs" > < / a >
Protected Attributes< / h2 > < / td > < / tr >
2017-11-22 21:00:42 +08:00
< tr class = "memitem:a2ec506a25e46cf7001060a6ba5ae3b94" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a2ec506a25e46cf7001060a6ba5ae3b94" > < / a >
DataPtrType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#a2ec506a25e46cf7001060a6ba5ae3b94" > data_< / a > < / td > < / tr >
< tr class = "memdesc:a2ec506a25e46cf7001060a6ba5ae3b94" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Raw pointer to where the tensor data begins. < br / > < / td > < / tr >
< tr class = "separator:a2ec506a25e46cf7001060a6ba5ae3b94" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:af4b8fe4b632cdca51ee7972ed93fc3fa" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "af4b8fe4b632cdca51ee7972ed93fc3fa" > < / a >
IndexT  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#af4b8fe4b632cdca51ee7972ed93fc3fa" > stride_< / a > [Dim]< / td > < / tr >
< tr class = "memdesc:af4b8fe4b632cdca51ee7972ed93fc3fa" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Array of strides (in sizeof(T) terms) per each dimension. < br / > < / td > < / tr >
< tr class = "separator:af4b8fe4b632cdca51ee7972ed93fc3fa" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ad96fbf0f5e7c06a1031b8b18f7fc01d7" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ad96fbf0f5e7c06a1031b8b18f7fc01d7" > < / a >
IndexT  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html#ad96fbf0f5e7c06a1031b8b18f7fc01d7" > size_< / a > [Dim]< / td > < / tr >
< tr class = "memdesc:ad96fbf0f5e7c06a1031b8b18f7fc01d7" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Size per each dimension. < br / > < / td > < / tr >
< tr class = "separator:ad96fbf0f5e7c06a1031b8b18f7fc01d7" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2017-02-23 06:26:44 +08:00
< / table >
< a name = "details" id = "details" > < / a > < h2 class = "groupheader" > Detailed Description< / h2 >
2017-11-22 21:00:42 +08:00
< div class = "textblock" > < h3 > template< typename T, int Dim, bool InnerContig, typename IndexT, template< typename U > class PtrTraits> < br / >
class faiss::gpu::Tensor< T, Dim, InnerContig, IndexT, PtrTraits > < / h3 >
2017-02-23 06:26:44 +08:00
< p > Our tensor type. < / p >
< p > Templated multi-dimensional array that supports strided access of elements. Main access is through < code > operator[]< / code > ; e.g., < code > tensor[x][y][z]< / code > .< / p >
< ul >
< li > < code > T< / code > is the contained type (e.g., < code > float< / code > )< / li >
< li > < code > Dim< / code > is the tensor rank< / li >
2017-11-22 21:00:42 +08:00
< li > If < code > InnerContig< / code > is true, then the tensor is assumed to be innermost< / li >
2017-02-23 06:26:44 +08:00
< li > contiguous, and only operations that make sense on contiguous< / li >
< li > arrays are allowed (e.g., no transpose). Strides are still< / li >
< li > calculated, but innermost stride is assumed to be 1.< / li >
< li > < code > IndexT< / code > is the integer type used for size/stride arrays, and for< / li >
< li > all indexing math. Default is < code > int< / code > , but for large tensors, < code > long< / code > < / li >
< li > can be used instead.< / li >
< li > < code > PtrTraits< / code > are traits applied to our data pointer (T*). By default,< / li >
< li > this is just T*, but RestrictPtrTraits can be used to apply T*< / li >
< li > < b > restrict< / b > for alias-free analysis. < / li >
< / ul >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor_8cuh_source.html#l00028" > 28< / a > of file < a class = "el" href = "Tensor_8cuh_source.html" > Tensor.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div > < h2 class = "groupheader" > Constructor & Destructor Documentation< / h2 >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "ac651b20d86813b8928f05cde4fb1ff7d" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T, int Dim, bool InnerContig, typename IndexT, template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::< a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramtype" > DataPtrType  < / td >
< td class = "paramname" > < em > data< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const IndexT  < / td >
< td class = "paramname" > < em > sizes< / em > [Dim], < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const IndexT  < / td >
< td class = "paramname" > < em > strides< / em > [Dim]  < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Constructor that takes arbitrary size/stride arrays. Errors if you attempt to pass non-contiguous strides to a contiguous tensor. < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00116" > 116< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
< h2 class = "groupheader" > Member Function Documentation< / h2 >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a2ac9dc9fa8d81f2651a1be486c14ba62" > < / a >
2017-03-21 01:33:21 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T , int Dim, bool InnerContig, typename IndexT , template< typename U > class PtrTraits> < / div >
2017-03-21 01:33:21 +08:00
< div class = "memtemplate" >
template< typename NewIndexT > < / div >
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ bool < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::canUseIndexType < / td >
2017-03-21 01:33:21 +08:00
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2017-11-22 21:00:42 +08:00
< p > Returns true if we can use this indexing type to access all elements index type < / p >
2017-03-21 01:33:21 +08:00
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00359" > 359< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-03-21 01:33:21 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a2894f8fdfab8ec3245364a6f9e8a5259" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T , int Dim, bool InnerContig, typename IndexT , template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< div class = "memtemplate" >
template< typename U > < / div >
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < U, Dim, InnerContig, IndexT, PtrTraits > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::cast < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Cast to a tensor of a different type of the same size and stride. U and our type T must be of the same size < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00251" > 251< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-03-21 01:33:21 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a9f0c817e9751fe02926c2346a97f0350" > < / a >
2017-03-21 01:33:21 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T , int Dim, bool InnerContig, typename IndexT , template< typename U > class PtrTraits> < / div >
2017-03-21 01:33:21 +08:00
< div class = "memtemplate" >
template< typename NewIndexT > < / div >
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, Dim, InnerContig, NewIndexT, PtrTraits > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::castIndexType < / td >
2017-03-21 01:33:21 +08:00
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Attempts to cast this tensor to a tensor of a different IndexT. Fails if size or stride entries are not representable in the new IndexT. < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00339" > 339< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a6c9640c365134ccc33cdb2695b016eb3" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T , int Dim, bool InnerContig, typename IndexT , template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< div class = "memtemplate" >
template< typename U > < / div >
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < U, Dim, InnerContig, IndexT, PtrTraits > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::castResize < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Cast to a tensor of a different type which is potentially a different size than our type T. < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" title = "Our tensor type. " > Tensor< / a > must be aligned and the innermost dimension must be a size that is a multiple of sizeof(U) / sizeof(T), and the stride of the innermost dimension must be contiguous. The stride of all outer dimensions must be a multiple of sizeof(U) / sizeof(T) as well. < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00273" > 273< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a6a43125c6f429f28161d59f19eb8e5c5" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T , int Dim, bool InnerContig, typename IndexT , template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< div class = "memtemplate" >
template< int NewDim> < / div >
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, NewDim, InnerContig, IndexT, PtrTraits > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::downcastInner < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Downcast a tensor of dimension < code > D< / code > to some tensor of dimension D' < D by collapsing the leading dimensions. asserts if there is padding on the leading dimensions. < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00589" > 589< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a2185b0c1c2c06cc3a4dab6a88eb6d001" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T , int Dim, bool InnerContig, typename IndexT , template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< div class = "memtemplate" >
template< int NewDim> < / div >
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, NewDim, InnerContig, IndexT, PtrTraits > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::downcastOuter < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Downcast a tensor of dimension < code > D< / code > to some tensor of dimension D' < D by collapsing the leading dimensions. asserts if there is padding on the leading dimensions. < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00544" > 544< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a1afd11b16869df9d352ee8ab1f8c7a1f" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T, int Dim, bool InnerContig, typename IndexT, template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ DataPtrType < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::end < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Returns a raw pointer to the end of our data, assuming continuity < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor_8cuh_source.html#l00180" > 180< / a > of file < a class = "el" href = "Tensor_8cuh_source.html" > Tensor.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a7e6b9cd8cc3cc0bfe39bd3fed7733e51" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T, int Dim, bool InnerContig, typename IndexT, template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ DataPtrType < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::end < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Returns a raw pointer to the end of our data, assuming continuity (const) < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor_8cuh_source.html#l00192" > 192< / a > of file < a class = "el" href = "Tensor_8cuh_source.html" > Tensor.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a6699c311648457f257afa340c61f417c" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T, int Dim, bool InnerContig, typename IndexT, template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ IndexT < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::getSize < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramtype" > int  < / td >
< td class = "paramname" > < em > i< / em > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Returns the size of a given dimension, < code > [0, Dim - 1]< / code > . No bounds checking. < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor_8cuh_source.html#l00222" > 222< / a > of file < a class = "el" href = "Tensor_8cuh_source.html" > Tensor.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a8220da958d022c322b80b0539c99f8d4" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T, int Dim, bool InnerContig, typename IndexT, template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ size_t < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::getSizeInBytes < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > If we are contiguous, returns the total size in bytes of our data < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor_8cuh_source.html#l00238" > 238< / a > of file < a class = "el" href = "Tensor_8cuh_source.html" > Tensor.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a0b8bba630f7a1fa217f90b20d298420a" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T, int Dim, bool InnerContig, typename IndexT, template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ IndexT < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::getStride < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramtype" > int  < / td >
< td class = "paramname" > < em > i< / em > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Returns the stride of a given dimension, < code > [0, Dim - 1]< / code > . No bounds checking. < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor_8cuh_source.html#l00228" > 228< / a > of file < a class = "el" href = "Tensor_8cuh_source.html" > Tensor.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a663e3829c395372acdc8d2e71c0bdabe" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T , int Dim, bool InnerContig, typename IndexT , template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ bool < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::isConsistentlySized < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramtype" > int  < / td >
< td class = "paramname" > < em > i< / em > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Returns whether a given dimension has only increasing stride from the previous dimension. A tensor that was permuted by exchanging size and stride only will fail this check. If < code > i == 0< / code > just check < code > size > 0< / code > . Returns < code > false< / code > if < code > stride< / code > is < code > < = 0< / code > . < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00418" > 418< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a09019c54911db891c9321fd3b34509c2" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T , int Dim, bool InnerContig, typename IndexT , template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ bool < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::isContiguous < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Returns true if there is no padding within the tensor and no re-ordering of the dimensions. < / p >
< div class = "fragment" > < div class = "line" > (stride(i) == size(i + 1) * stride(i + 1)) & & stride(dim - 1) == 0< / div >
< / div > <!-- fragment -->
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00399" > 399< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a3067941f8f8f09fc73e2f06243699825" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T , int Dim, bool InnerContig, typename IndexT, template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename OtherT , int OtherDim> < / div >
2017-02-23 06:26:44 +08:00
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ bool < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::isSame < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
2017-11-22 21:00:42 +08:00
< td class = "paramtype" > const < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < OtherT, OtherDim, InnerContig, IndexT, PtrTraits > &   < / td >
2017-02-23 06:26:44 +08:00
< td class = "paramname" > < em > rhs< / em > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Returns true if the two tensors are of the same dimensionality, size and stride. < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00209" > 209< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "ab6db6bf86dd0f7e877af3a6ae2100fe3" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T , int Dim, bool InnerContig, typename IndexT, template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::narrow < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramtype" > int  < / td >
< td class = "paramname" > < em > dim< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > IndexT  < / td >
< td class = "paramname" > < em > start< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > IndexT  < / td >
< td class = "paramname" > < em > size< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2017-11-22 21:00:42 +08:00
< p > Returns a tensor of the same dimension that is a view of the original tensor with the specified dimension restricted to the elements in the range [start, start + size). Can occur in an arbitrary dimension < / p >
2017-02-23 06:26:44 +08:00
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00667" > 667< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "ac2d0fc7199901a8e0788b58f0970b133" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T , int Dim, bool InnerContig, typename IndexT, template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::narrowOutermost < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramtype" > IndexT  < / td >
< td class = "paramname" > < em > start< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > IndexT  < / td >
< td class = "paramname" > < em > size< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Returns a tensor of the same dimension that is a view of the original tensor with the specified dimension restricted to the elements in the range [start, start + size) < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00659" > 659< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a0ba9ab7c1676b7a41a6e6b2e5a490d2f" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T , int Dim, bool InnerContig, typename IndexT , template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ size_t < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::numElements < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Returns the total number of elements contained within our data (product of < code > getSize(i)< / code > ) < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00386" > 386< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a82a3484a6458e3e95bb91d320f2c6731" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T , int Dim, bool InnerContig, typename IndexT , template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::transpose < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramtype" > int  < / td >
< td class = "paramname" > < em > dim1< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > int  < / td >
< td class = "paramname" > < em > dim2< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > const< / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Returns a tensor of the same dimension after transposing the two dimensions given. Does not actually move elements; transposition is made by permuting the size/stride arrays. If the dimensions are not valid, asserts. < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00454" > 454< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "aee5cf46d16344e2a055cf63adb07d24a" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T , int Dim, bool InnerContig, typename IndexT , template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< div class = "memtemplate" >
template< int NewDim> < / div >
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, NewDim, InnerContig, IndexT, PtrTraits > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::upcastInner < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Upcast a tensor of dimension < code > D< / code > to some tensor of dimension D' > D by padding the lowest/most varying dimensions by 1 e.g., upcasting a 2-d tensor < code > [2][3]< / code > to a 4-d tensor < code > [2][3][1][1]< / code > < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00517" > 517< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a309eb97e9c6dbfdecf383343c072d38c" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T , int Dim, bool InnerContig, typename IndexT , template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< div class = "memtemplate" >
template< int NewDim> < / div >
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, NewDim, InnerContig, IndexT, PtrTraits > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::upcastOuter < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Upcast a tensor of dimension < code > D< / code > to some tensor of dimension D' > D by padding the leading dimensions by 1 e.g., upcasting a 2-d tensor < code > [2][3]< / code > to a 4-d tensor < code > [1][1][2][3]< / code > < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00488" > 488< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a74dbc09519c9c14479b2d18f2e5042e8" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T , int Dim, bool InnerContig, typename IndexT , template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< div class = "memtemplate" >
template< int SubDim> < / div >
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, SubDim, InnerContig, IndexT, PtrTraits > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::view < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramtype" > DataPtrType  < / td >
< td class = "paramname" > < em > at< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Returns a tensor that is a view of the < code > SubDim< / code > -dimensional slice of this tensor, starting at < code > at< / code > . < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00632" > 632< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a35a63cfa4034a8ee14a999132d8a1828" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T , int Dim, bool InnerContig, typename IndexT , template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< div class = "memtemplate" >
template< int SubDim> < / div >
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, SubDim, InnerContig, IndexT, PtrTraits > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::view < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Returns a tensor that is a view of the < code > SubDim< / code > -dimensional slice of this tensor, starting where our data begins < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00652" > 652< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
2017-11-22 21:00:42 +08:00
< a class = "anchor" id = "a665d97851f0929cad7fc76f945b64c97" > < / a >
2017-02-23 06:26:44 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2017-11-22 21:00:42 +08:00
template< typename T , int Dim, bool InnerContig, typename IndexT, template< typename U > class PtrTraits> < / div >
2017-02-23 06:26:44 +08:00
< div class = "memtemplate" >
template< int NewDim> < / div >
< table class = "memname" >
< tr >
2017-11-22 21:00:42 +08:00
< td class = "memname" > __host__ __device__ < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > Tensor< / a > < T, NewDim, InnerContig, IndexT, PtrTraits > < a class = "el" href = "classfaiss_1_1gpu_1_1Tensor.html" > faiss::gpu::Tensor< / a > < T, Dim, InnerContig, IndexT, PtrTraits > ::view < / td >
2017-02-23 06:26:44 +08:00
< td > (< / td >
< td class = "paramtype" > std::initializer_list< IndexT >   < / td >
< td class = "paramname" > < em > sizes< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Returns a view of the given tensor expressed as a tensor of a different number of dimensions. Only works if we are contiguous. < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "Tensor-inl_8cuh_source.html#l00698" > 698< / a > of file < a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > .< / p >
2017-02-23 06:26:44 +08:00
< / div >
< / div >
< hr / > The documentation for this class was generated from the following files:< ul >
2019-05-28 22:17:22 +08:00
< li > /data/users/hoss/faiss/gpu/utils/< a class = "el" href = "Tensor_8cuh_source.html" > Tensor.cuh< / a > < / li >
< li > /data/users/hoss/faiss/gpu/utils/< a class = "el" href = "Tensor-inl_8cuh_source.html" > Tensor-inl.cuh< / a > < / li >
2017-02-23 06:26:44 +08:00
< / ul >
< / div > <!-- contents -->
<!-- start footer part -->
< hr class = "footer" / > < address class = "footer" > < small >
Generated by   < a href = "http://www.doxygen.org/index.html" >
< img class = "footer" src = "doxygen.png" alt = "doxygen" / >
< / a > 1.8.5
< / small > < / address >
< / body >
< / html >