From 61f3cddfd306da902cdfa075cbc1f95e44c0296e Mon Sep 17 00:00:00 2001 From: facebook-github-bot Date: Sat, 18 May 2024 07:33:23 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20pytorch/?= =?UTF-8?q?FBGEMM@19a91b90a38ab1a8fe73a025e957d4bd5b34ee65=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../split_table_batched_embeddings.html | 10 +++- genindex.html | 4 +- group__table-batched-embed-cuda.html | 45 ++++++++++++++---- objects.inv | Bin 14303 -> 14361 bytes search/all_7.js | 15 +++--- search/functions_7.js | 13 ++--- searchindex.js | 2 +- 7 files changed, 64 insertions(+), 25 deletions(-) diff --git a/fbgemm_gpu-cpp-api/split_table_batched_embeddings.html b/fbgemm_gpu-cpp-api/split_table_batched_embeddings.html index 985a2055a..cbc1d0540 100644 --- a/fbgemm_gpu-cpp-api/split_table_batched_embeddings.html +++ b/fbgemm_gpu-cpp-api/split_table_batched_embeddings.html @@ -418,8 +418,14 @@

Table Batched Embedding Operators

-
-std::tuple<at::Tensor, at::Tensor, c10::optional<at::Tensor>, c10::optional<at::Tensor>> get_unique_indices_cuda(at::Tensor linear_indices, int64_t max_indices, bool compute_count, const bool compute_inverse_indices)
+
+std::tuple<at::Tensor, at::Tensor, c10::optional<at::Tensor>> get_unique_indices_cuda(const at::Tensor &linear_indices, const int64_t max_indices, const bool compute_count)
+

Deduplicate indices.

+
+ +
+
+std::tuple<at::Tensor, at::Tensor, c10::optional<at::Tensor>, c10::optional<at::Tensor>> get_unique_indices_with_inverse_cuda(const at::Tensor &linear_indices, const int64_t max_indices, const bool compute_count, const bool compute_inverse_indices)

Deduplicate indices.

diff --git a/genindex.html b/genindex.html index 524897ced..0ecd33977 100644 --- a/genindex.html +++ b/genindex.html @@ -595,10 +595,12 @@

G

    -
  • get_unique_indices_cuda (C++ function) +
  • get_unique_indices_with_inverse_cuda (C++ function)
  • gqa_attn_splitk (C++ function)
  • diff --git a/group__table-batched-embed-cuda.html b/group__table-batched-embed-cuda.html index b94e4198f..e5a492c19 100644 --- a/group__table-batched-embed-cuda.html +++ b/group__table-batched-embed-cuda.html @@ -79,8 +79,10 @@ - - + + + + @@ -242,26 +244,53 @@

    -

    ◆ get_unique_indices_cuda()

    + +

    ◆ get_unique_indices_cuda()

    Functions

    std::tuple< at::Tensor, at::Tensor, c10::optional< at::Tensor >, c10::optional< at::Tensor > > get_unique_indices_cuda (at::Tensor linear_indices, int64_t max_indices, bool compute_count, const bool compute_inverse_indices)
     
    std::tuple< at::Tensor, at::Tensor, c10::optional< at::Tensor > > get_unique_indices_cuda (const at::Tensor &linear_indices, const int64_t max_indices, const bool compute_count)
     
    std::tuple< at::Tensor, at::Tensor, c10::optional< at::Tensor >, c10::optional< at::Tensor > > get_unique_indices_with_inverse_cuda (const at::Tensor &linear_indices, const int64_t max_indices, const bool compute_count, const bool compute_inverse_indices)
     
    std::tuple< at::Tensor, at::Tensor, c10::optional< at::Tensor > > lru_cache_find_uncached_cuda (at::Tensor unique_indices, at::Tensor unique_indices_length, int64_t max_indices, at::Tensor lxu_cache_state, int64_t time_stamp, at::Tensor lru_state, bool gather_cache_stats, at::Tensor uvm_cache_stats, bool lock_cache_line, at::Tensor lxu_cache_locking_counter, const bool compute_inverse_indices)
     
    int64_t host_lxu_cache_slot (int64_t h_in, int64_t C)
    - + - + - + + + + + + + +
    std::tuple< at::Tensor, at::Tensor, c10::optional< at::Tensor >, c10::optional< at::Tensor > > get_unique_indices_cuda std::tuple< at::Tensor, at::Tensor, c10::optional< at::Tensor > > get_unique_indices_cuda (at::Tensor linear_indices, const at::Tensor & linear_indices,
    int64_t max_indices, const int64_t max_indices,
    const bool compute_count )
    +
    +

    Deduplicate indices.

    + +
    + + +

    ◆ get_unique_indices_with_inverse_cuda()

    + +
    +
    + + + + + + + + + + - + diff --git a/objects.inv b/objects.inv index 4ebaf0ffc554ae3ae5b4e2555a025a6c896eb4bc..d1e88da0fdf62deb560cfd5ca411f1c7012e409f 100644 GIT binary patch delta 12049 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 v;(1)&$OZqH?V(kCfmgYE=oKuvZ delta 11991 zcmV;|E-2BNaNlo`c}ZKB+cvW9`}_*6o%4`cvy||D(VN|NJiTovJ+_lQ`-uw#KsCn_ zsZdngJx}|Gob%`QFF6HXBuXMBQUut#AX!Ow^HTNI1%)b+!dHKPKHLTG!}sB6{FjDz zCll(2>2eF!14_{RJg|LV#1V~B&kxbLVhp3jDm_zd5sqi)s<$YKznv?#c$J=mQ9(oB z!X;ddy&!uRFIIg6NFB{j@2xL1TE>b0-Ue8f;ib(0CX*mezM+J0Q4a?={2Cw!FuCV= zBz<1cp)rLK`51pjAJO-EA6fIuT=MrcoNaMal?{Q1_rU}FTT6U0nbGKgXx!M$2Vt_K zEm3SjaVle8@munDGz%catd^Ag`Z`QMADS*!d4 zt)K{O;lr<=(=zJ4?TC9aS(D2|Na=hrLn-Z~#kS86y6MzZYJw+(}`SAjPe$|z=aal&4>1hlKUmp&#G zk>v%T{d18$bpc413BCZ7x#hi(oDbHL%DW_9Em&fFVs!VM8G43p3z(|*9#MuYgnt;o z_XR**gJ&PqFLfX$le<1D;tl5AIe~e9PGCN~`tN_=e(%-g@El-wJy5R?KMv>2QhVe@$y zov}6-h!9G+mDAP4q>gl@h^$Xd>R#ejV+%sZJ*DG_4gT;*IDav8yM;w{6*q?}`51rs z`V#NhTO6xoQ2_Z>$(#}Pj~|Cf*Nnp)dYoh1=zl{mB^MYvdG5oyct@a ztNTUba;T_Pwz40yqsC;4=fJucgj~}-PVhK(dQqDWrZpgb1{H;mYwyeloZxOc>K|VE zNWjk}&PE`v$;XRJBO(LgEL8Ru{|R(x#)l|x4Nn|;kY7|e4NfFXBYTs;je&pd&}&?K z1tIu^*slXPHaW>DS5uvRa;@6f?o0e;z_{VzJcZ5+7q2m+D!kSPL&X`L2d45g1!{KzJI;Xd`?4ewuQI)w`w@#cT4SqoDa&!-uK zy)HsM!eH%j`@bAVH<_TW3lm-#?Gu`<=w*O?It!F+UGmZc0{E*JMg+VT{#p^#!ZFuv zWp5x)4{YtOh^8diTVTUyioKEEHM zUEcTW^t&!&JL&g?1?*Daz4V>mfu4bWFO&$cN!<^k`zcBvA#ckcSf)ri{XmL;M9atQ z<7xP_+6Nf{e^+I(&k>sCS@$*}_?+wtMCdktaz^-zzs?bR{zYB+6;Hzf7kxgi zwOethF3fNB0B`k~--%6BIWoPAYu4^pmm0)f8S z1 zzYqN+e;cIp{AVwqC|xCO%bxmS1yehPUH7qu_HU5#6>_33m`lMm_8}okLfUi8>uME* z)5L=x;GG@{QkqCLHL59}^v}20kZP(`Q?#0U#k_!QaLp=O#LF-ZpQMgzbTo^nVJh{q zrx)foOFCuqbJA`0)l)X9B1%gQ?P;iR9&bjYe`)$CeW+POx6s3<-YN?JT+yzZUbSD# zqUjA>YS*k}V}}hdOeQ#!tEoX7cb%aQDYdDku zDpTP#PfaFw{EPoycpjm9eK|<*o5xlc6s62&Yh4@@I;Bzh{n*-cJ+`+uoUYso|7!7L zSF~e4>)&qL;rH16me)%%TyLCU#1pn1l}0^(qZ0b$@!CpTn)PhV%1-w@=?GJ4f82{R zu57v2WZZlnNXF!AwX8Jh6`8cUWd=sw<`krPFUY(y9ABMr+0u^e`xe#m-blkqxs^n_b~8*;=pBs)n@c6vlLH zN3*O9b^`$pvm+1*0SVvN(_;R^Rx90)*X#}?y>eFzZnR~vtDX~{k_~+_2JNIqTJMKMl9U3UM=(_gYM*J5Q z$$71~Iix}V;P}H4y@~$r;&${n+~)>=x1-ac%eAXl=pd6Nx1-L%J_)%Yl@3#;U%wuQ zEO~E8n<76MxE+0p|Cr}?bUD;O$Mq|6uy3bsN2i01NL;-(W#_|Di*nq9t2RY_`*!7; z6!C>z@}kRgYe#kutL9Y2iT=v&h7>v6cWF1I)Ir8CZ%U(sd`fyl`W)=T!&}mSsqj@+ zx24WR>KtQQmXi2_nT6u z?1y-&Q4ZO4Q|CGz3T7*akNiiBl{yx@)v&i~Lk&-{qCe{z~6vpC7u`2Z`UMZw3>VDdqvSRZ^KAfolNiu#YuKHp@1E1l(uXS?FG`3 z#6ZpLC1nyj3B+Bp`0HvRp!`*9c^vD74%h9c-)xe3pw%RoqKq(lLbH&6tUb; z92cXGn%*uy;aMt0;4s9cXkw_e>tYllexm5?Gy#=__ZTlzHvG6)9}L2wENq=bc>lEM+MlxoAPI#UNKmVC;YUsmR}WY_5=z{bDYizhtfowwkkn%?o(u;(UPlh$tnWsC`r)s z`cuzVadM4++lv=F-zhZ^E!funXoiw4x2E5{gtBjgn4a3I`Q;FHT^&Ct(k>rQ4+rcl zHP&v|l4dMM6V(&Jh-eGqG4g8-La_2_5B#B>i`LkNr(jAijFvP>y;YQd@jyx6jzYKE za5x0A8`jB$z~h}akT@g!+1|6+1`Zbuo?Ac|UWm(o^_>gQIj?TlYNmTKAg+y1I6{71 zt{9};x?M5w&Q^N@JKtIk96*ZgwT3_~uDcS4URXaR4)R%PIiVP(o3WXE#Yes;UEBU? zhMwUCFHKOi4B}+Ihf_Poq;8*v%_a>kP);V5D{U2f7P#4-ZvjQ=Dxpg@{_6pnuNNZ0 zJp2xSKK3TxV~v-$7*;oyhga=)qcxf2M_puN)a)m3gS@P8*C~~NmOs2e?UJ0M?cHt3 ztA1;o&J8~wYY^mBFCvVHZe(aVIK^S5Ei;a|1;(hC5l2LD;w#CYD-@;Szv*w;`wvMB z+4K^qzIytu)w|Ie=|9-3zwd6zb?^D`ucrT#Vi+iYU!UHqnx7qHojxz9mxke|_nNk* zht?Widg;CU`u^2t@5_Hbv=DeQdF6fn?~fnfe))8Nmr0+}`GOtPwr#MhR>At=n^l1H zfj9S`-rjw=Rq22E{qtMz)7uZf->L%s4$ra|ZdLw&c<(;F`t??&&&VD~SFT$4Fk0NI z=reYIV95;&A0JH8uUh&W7CpH=!Qb7*(GzesRbeHb7b? z>X81it<K;q52yom7T8SfzL|>KLSMyclf^P(@yhF2vWA7o!T%73Re#LVUe>NvaTC zf?bR*q#_DMBv-En_C096Sk0Tq?7-#KT)+{3%2qR@#skJL zpk03z1T^tNBGoHGz4`I1*)nBzB$b!1(UYncplU*&x}NhR_1i(evv?X}G%M641BM_i z3qMg@>Ug7L885_Xx%^Z0ATmo03)Qg9kcZInVumnfe@I1(RrKmfrpO{RTzqra@w-ER zsp6AWECaJZRi|+Z<;YHjEj2Ab(-4nksw_~yg>GfE7(mA|iR-QA+EcGvOnWpQtF5Uo zagcVCBy5%&&sKzbGqg;*Hp&YUGEY&soDY9)!WBllPT>R`Z2w{+vebfwM{iE&9wJZS zlD69ac^)Uv-fDO1SaoaYtv@BLgs_@_$Jho6`2|M02Fk(BVnyIt(pm5_2o?zqDBB?b zEuSOY!yuY{fbJT`uR2y0Ctfi6Xm-DLm&35KDIW-7UfNelVo~xiBNv3F1Axj%9Hm|m zCtv&6)@UMH-9e)18BTg>jbRDF2u*th7qvpCfjp;1dx%pSw?0y&fx5CGQ%{_KlN3k! zcz6~^y-Z^55t7Wcn7R+Ra(Eo?t^yaT>FQOuZ%S&YO#3Td>`b8!etE z^O&q=bfi?dES}THILa6`lx&+#Df0Kn|7VNvPb9|6pXm22!CLMpV=c{*b}ew2i}(VU!&>rE+!PX?%+64eg+PL z41WBHUCN34R6d{Y!wXrQ_b)V^!Uc_Z^VO^s=i-etGushXc7~deFgWivnW-4}U5ei_3^`OjNN=^~JUp^aq3y`dTWXqk+GDY|+ zU29HcQ`lj}u}L(p9Ud)HGJyy@8XsF=JgP1!91_FL);&$o)AzA9Vu!`i zb$lP?T|v%whI~3Z&iRLo(0H5BxFq!IkADJ}`)w{C^P5M&vCm*R!2?o<05VRUAy!vX zk5;9^J3*_G7;i{)HYF>6nGza7R>nbJYhq0r`?ThESZ9#y&{@1-_kVu93TNa#TBgY= zYbAA_een6*$+OF&>h(HiK6@&xJTyVe`M<)nRt?9w{!qM~|7gcByD|!Q1wMg!Mrpi7 z=~OKgpq9%OIN7%_eH=|O9;w>jdSc56jv2u*5FA5eDiBsUy}P@AW1PAGO&@82Wi$)@ z1SQY?a00z?@lHwa^_tNyuiw4>_;K_hztI6EWSt}M{aF~TzK?$N(ZA{Juf1>r!7;S9 zjNmwt-Ne#CS1m5%;4!ZQ?2IU)xZ+W*S0wZnyf#(x7> ziRX)OMw3$^;W7MM(zyHi4oKb=f3}3NScOp#pUl5_z4+Oa%N;0x^$Yykj`<@>$TyTw zE@~->Z7b&QC5!H=VSk|6EQ{|&mlDUblkpYgvVNrKQ8IG(6*hT?@`YV*hcSk?5+3L> zLR+|g%Sd-dv`FXzB`i8@^mZbqHK~oxMh{!$vlrXpTGDj1T0mTd3?^nD?UMo=jh@0J zj@WCb0tMRR6{N#%(YT~tXtGNCGXVHK18`pg$d&tc^H57s;vmg@n$QJ}poGLtl|vis z1+noKvCk!oHew8+NbZpVhGKBN}@;*IPk%%;?@d{679InmunD zy9NXM!c+(dM)>acH?NK%fFHBq9V`=muyEFPy-a*GBNgc6{UekQ$Q%A?C$I{Jr z4uI+EKDBW2i=%W~#XRukcgEY4D}YZhZgrvM5vST)lbI{%V|KYcm)u1e5G~C)G4#`XRen(a*<>_({0n zo%t&5>dptzRY+DaK2#W;hBP-s#j3pUW|zmC%T?6ftY7X+*&>`*AFWxW)|ySnsJ+Lw zYqZ|x-7QMjFz*_jx7cs3GV23lYpvOaPP>R}e=xFgB zj$Q3t<=f5LdyKo`6yfcKPs00x2=p1 z6Q1OQe#MQ^DTRES@8Gk$WE&zZfwb&=VU^@8s1+Q@vII=|T- z`p$~6ADfpMwgp{XJ=SJ+>I9HY>jh7Ocw{1~4ZQVwyXW~VjK21A%{8tyu{EsE#gz`o zSVzm2b~G*%Y7MKPRIC!JT{F@K5bMADgJIox0c3aCNLvsjpAPSTJ^P+v$%!3Vz0m^M zbQbz}^hA>-i_OdxAWHk}1B2%gbXxdpAEX)aaY1~%MSPqSfA``3_1)-?g8khV`#bhT zdr8VU^}dUS*7L@UPR$aOZcw6#6P74igTbpezy8`C%{+`k97lY#vmsWZ`dD5$1sSAF z5g%9?r8TB|$h4w=?tqHbH9QcNr0N&wbimYiDOw3Aqf@gKrUR4~%V)cy>b8WoJ=Q$u zOdpeYHGLfMa{s($E~t*T+Ck3nOTqB&qz17Ky7Zt$xZn=GTt>!d*9uU$>*(SBp}iQb zmN2))-F_K!3uKFUnHK$c)&VU?KL&9!Dqezas8^P^p`LetZ_6{LQkrKuGtS)|B2Y`%`nqEbe;&Vd=zEEPE2albuMK$mOc z34$IQSzPwToe?eC-G(Rw{a+coys`aJ-f53`6Y`4>9{M2NA%?TUkBT2|gY7Q%t%kDlW zJT3{BJ^rhYZ?aXQ`Q?*ggU6E)34omw-h=(?ANOzWU-gDvEXn1$61-9qK4u>ew_F8& z68P2yY-`M2>e!$_iZy`=mX|DWPh{1UlAy-+7S~H_Q&Zyt-aDK=+KRmCORriphW4+u_iv5atBgOGz z`Ir=W_1$^asg(?Q>Ayw0^UPc${%ZZ0lj~5E9)`b1x~@LWc^)oO8^IU3;kqj5ni?L) zUu1~u@}MR`To(u}^24K2tWHR7+exshPj9n-n92cpRy_zoo|O?b$g@I%1M+omR@CxP z38V;8za-oBuBiLhjI&Ki4i_YqS);oxysb->HfpI3aSW=K>TpO0wN%GU zc&lZ<_~Ei6 zTFGc$ukZH3&Ys~6J11F#m{DjCHv4RCH;v3TTX8>8!ft1gjQ+0I7btcFY2)O3 zGG*{PXD;>lGpJj%TCe1(#l?)3?K-v&)Y))HFC7 zrUI~M!Lkv1787f*xBq6hVFg#mkAB;Kd~I@oWPT;TkbU2lfPizFLgkUK**oa9T|ZFX zP#;&QzuNHpZGH7b{Kbb`WKl6OVE{V5#ptrNB%YqL{AKm7RzQG(zX#JAD^l3nBiUO+po`!X?OP}f=X zXsum8sN^9>%P%ZXkRl%C(T6wsc%0My&o!Sc`kaV%j=n?4iKgizKRpA@aY^$d(EpJC zej>v1#57*$N_xNLKTkyUgk~#$$`4dQ?vL!pUs~>F-jMPg-2lCf!yh8jxuG84lD$XM zYQ59xIccEy~P%&6mxj&?2>(dOnV#7)Z@8Z zEE>Qt0!={jFAD0|)@?|1f+h+wP5c`ruUQaM&%Mm^YWU|g*83E*s&orL$?@lG%nql& zZ?&nto8|5s*`K4|ms_tVp})!s;06li{SA@w%9_lF5U;z}9SX&*VjF|}kM(;vN3_a{ zn+)4(S+BWmQGO^MAFq~wby97}PN5cC`K?G6kG>1jzpwlnQp*|IT{zJ|DSz@a`~Mc5 zQf(kCp`$p+hJ;r*Z6>;<`XAV9<2V?XuiX`7?()BzcP(VfVlP^MCJuKD_$h|M`D^tw&qz z|KAc$@pQhGe?7rj#ra!MEFZ6H3u~H-6z!9qRhX4)FZT0$C?uxZ{20Z3meP=QYRX=%&Uvq4=gu!*@U|JfFV?$l z2I|{EVEyE_#!f`S28p)`Z9WHW&4Z6dbLIXfT7qj>|3!RIE?hkXd z0k)wrE@`~kkbTH69R<=)Ioq#yQbBQh$2`+jNa!q#n)-@=mbqM|!Br@}D_Cwfxp(Ua zjzNZpQchk~kg9R24;3bz6k5!OA6Y@)23#@0-MChMe|>yAX#09&AKTzZ6h2_9OKt8-DdUq->K#y^{UGcT7K`z=;ij;HIou_&(E z_GHyUt*JAA+vZT#;RidoUY(I{E z+JMPF=KH(@rcH3&5v+{M%XpQr(}-JoT%8nU@Xtwq<(~Fwht21l&2bOQf9$AtQKY+F z5$42p+QgbzyUe;Mw+>fn)j^870xjFuc<X)w&NEzk>J%xe zuBeDujuqIZtzb>1j*3-HBO10*;GD3B9y>I%ftl$C8a8wj{xe*~z{oHSY`L!HSSt1{ zuFO<_OEp}RT8>6sim+}gD#6IH4dACM#OKP))J+vz6zha)if-5z4iuLJx~>?eNnDjL zGt1H~Lq`t6CZUe5SUORHz*K$TMS*H_Wo8AAW7wu{Q{+;j>H)T?Ms?fqvF-Y5z?GSA zBAp=L(N))Rd=*pOaxliGVfwb|8+^Udw-v{K*L2&`kgBSVO??aL8q%#mp}K)|uFSBH zG=~yhH;7`Z)ON8-5m9Yd(_NLigex;*QiW)`Vq2CCF6o=p)&m7Alw#E+fytE_b+D}& z)K!SCYKCc>R)7s(A+Bu(F0?wn%=~~795~ccR2x~u2&}+YE#HK&f)#^uWfmwF#0kTH zpkOfFP@z3r)O0O~D>Tp)r)Q(yY*L07E5=U4mSI>nv||fn7o)(|u9r5#Ic; zs+zi@o2G&g#6=scw&EiiSh|miuPD5K`2{9+vSy}hieeg;?mD(*Xy7i2ZW}H~`BnsF z-6>EFpxZGGMRi<44BLnJWm=Bu1dbN?+!;cm;48>wJ&tb^=oxg^Hv=Cd1eT=O=FZUf zspBZBq6Dgp;)oDz55MpZFGk<<5{I zmFS3S7JLQCj$X-+haTrwvlIfFzX2`6)J)sfP1i@Pi$yLb zre^DQrvcn8ew97^;k7Xe$Lj+J7-L6wR056Pux-#PBrT>1E^DhUHVg$avlGt_s6Z&j zX|pX=^H@GcPv14hTz6beF?5H2nnW{+p}5fV`<814x}hn)LpvSC-HxTJQO$QP$8mi{ zht{g7R5KjYq^hMWn(B*SY4|QURG?!!2p||?Q->ZBV?~8*K+`$1G}Vl$ulgFKH;^X= zt_^9T0(~?AiGA!saIkcaOfzo`ah9C=wv8Q#e-yN-D<**i7_6xv2RdzkYWiZh+TgHI z%CP?#nu&buKvx}5U3amDXnnHZpDQv|A z#Eg*vv~`F z%p5`IY;s_}dvr&CsdVUhvF1~1u-wkKDfMkATEY7@VrhDdLbCa^kb~UIvc!cHO9MCa zZB>DG1vy^eTaa-D(4Dw$AecQdp^n8+=_!;#7eX8;7^p!_)}2`zbp^8zY*Tj}TXmo- zvlJaEstb0vbWMY1pc^_L_W21Mo0B85?AFyGQd@aF8|#hJdiqH{w`2QlYOgF{Xwe5E@v_3)~?vSQ=}A)YqvEHM@eTNdW-SRohm< zKL^18Jw23v(VFT)!KXmQ=R+N25YtyJ1@bIk5sG12*uv0U%MKij4d{-rZ9#qofS{dP zm|)8v0)uZ_w(c8{VL>GbeV}U^7|I50V^_fjafZM^6!3m4a3Bsls*g>`zt~_01PKZa zROQz;%kxe0gDwhBfLc)ZT@zv3wOq|*A~30ulx~L_$N;9mHl7AxHIn1T}(%0|6|3$3l(<-a?>DMn1F|$d*i(Kp}`s z)lo#Sq`n2M-hr|UIv;~7NFj=L^R0W5J~GV56Zu@R=kg6L;a2icGZL;F!h zgaUBPz;K~+Q(2T%EJxK?3{(}J*baEJ2$tY7P(>=5=^%_D^M))}wISnz9-hs0iePCP z3L(&;LxE*M@1YadbX66sYCururr2sRr$R36+t7tU2X1JJrumv~ff-H6@f5d3O4*%% zCFISvjVaWvF2cycpk5W}4y2LD(J591u+$ZZb}9~hN1--k@(xx_9Dwk?2I;hlMX+>T z3er%^#)uUTmZd?V5CCsgv!Rd?z|w$}lw!vsRDr@&vA~598yN6iOxQfO2$q^=+XU)j z2iQRs9B4W*HA7dhsVb^sieO3ET)7H=tdOniN`Mth@fF9Utnv7U2*sKTn;x`H*JfkJ zkWqqmp{E8jVn}-pB7&uc9ZGe@bX{nanh$lJX(NNhBZESpB7!A_G|NUhR&~fpAlp)0 z7H)0m%xuMPQDvXNGH`v@Cq&bTk4&g1ZG{FdRw$$hHvA`mrKMAa`Vd?Z3T$M5If`Oh zCS+ZX<%675L@2QQzyacpf^H7+l)dqxFS451(RI%7>t`Az&bqi^V?-FWTn9Xe)x-W#K zZ96*D&IS~hkdJ5xDryZvkmCl9u8OcF1xA{q=-@+;T_Oeh#MLo`S5H27T&G>5IAqdj|)>cOAoNGSwYA1Y^+jf$I&Ml7sA{cJhlK(>le=fg!0 zvxA};DUe1&dZqi0uMu1Gsfk_FhmZuZj~lyk<&Lcz1{6J-Y7wH_maRh?;%m%}psBVf zMGo+*IqY*Y`JfQU94(uFWs?qJD_b1sLT|e**9ddo> z^DP4^NOf2&wgmwuFib5_pykb20m5?wUK3FAL%;e^={y+6jF+SYSd8(W+}fi zsEsU2iDMESGB=a>G;mn>^nFLg5W#7SQjQ}Q$25G$HB}ne6pRE}7sPbeRt#v~L?d`e zEUu;yWSBZO3>_SQH^4TyiAyYpYPN=~LHz|$HgsuN)F-x~VU3N513c>cfeB^tpnCD4 zI0YPp&4}BsflY)Bi%k)b!0>%z&^GNuia`vVt;@F{w79nAs3x`o6@oFSXGknmQC;71 zY$ygGjdYMP%#AlogwvZe6$2Wfu? z77KPt5D~+&=m4|F|@5+Y9+n>p;iF5)vk4eq9Zj0w}c_SD6 pW43Qq@zq-%
    std::tuple< at::Tensor, at::Tensor, c10::optional< at::Tensor >, c10::optional< at::Tensor > > get_unique_indices_with_inverse_cuda (const at::Tensor & linear_indices,
    const int64_t max_indices,
    bool compute_count, const bool compute_count,