From 8281188a3aea7d409cdd5e4f6b9dcb176a52b7df Mon Sep 17 00:00:00 2001 From: peterschmidt85 Date: Fri, 19 Apr 2024 19:36:11 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20dstackai?= =?UTF-8?q?/dstack@e127d21561f4ee99ab532c71d72a6f418fc47af4=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 203 +- assets/images/social/changelog/0.10.5.png | Bin 49700 -> 0 bytes assets/images/social/changelog/0.10.7.png | Bin 41404 -> 0 bytes assets/images/social/changelog/0.11.0.png | Bin 54403 -> 0 bytes assets/images/social/changelog/0.12.0.png | Bin 45579 -> 0 bytes assets/images/social/changelog/0.12.2.png | Bin 54719 -> 0 bytes assets/images/social/changelog/0.12.3.png | Bin 51011 -> 0 bytes assets/images/social/changelog/0.13.0.png | Bin 58261 -> 0 bytes assets/images/social/changelog/0.14.0.png | Bin 56220 -> 0 bytes assets/images/social/changelog/0.15.0.png | Bin 42983 -> 0 bytes assets/images/social/changelog/0.15.1.png | Bin 52443 -> 0 bytes assets/images/social/changelog/0.16.0.png | Bin 36168 -> 0 bytes assets/images/social/changelog/0.16.1.png | Bin 51681 -> 0 bytes assets/images/social/changelog/0.16.4.png | Bin 55578 -> 0 bytes assets/images/social/changelog/0.17.0.png | Bin 50240 -> 0 bytes assets/images/social/changelog/0.18.0.png | Bin 55365 -> 0 bytes assets/images/social/changelog/0.2.png | Bin 43292 -> 0 bytes assets/images/social/changelog/0.7.0.png | Bin 46228 -> 0 bytes assets/images/social/changelog/0.9.1.png | Bin 47206 -> 0 bytes .../images/social/changelog/archive/2023.png | Bin 29454 -> 0 bytes .../images/social/changelog/archive/2024.png | Bin 28567 -> 0 bytes assets/images/social/changelog/index.png | Bin 33223 -> 29393 bytes .../images/social/changelog/page/2/index.png | Bin 33223 -> 0 bytes assets/stylesheets/extra.css | 6 +- .../03/13/gcp-support-just-landed/index.html | 6 +- .../04/11/introducing-dstack-hub/index.html | 15 - .../index.html | 6 +- .../index.html | 6 +- blog/2023/08/07/services-preview/index.html | 6 +- blog/2023/08/22/multiple-clouds/index.html | 6 +- .../10/18/simplified-cloud-setup/index.html | 6 +- blog/2023/10/31/tensordock/index.html | 6 +- blog/2023/11/21/vastai/index.html | 6 +- .../index.html | 6 +- .../01/19/openai-endpoints-preview/index.html | 6 +- .../index.html | 6 +- blog/archive/2024/index.html | 203 +- .../index.html | 203 +- blog/dstack-sky/index.html | 203 +- blog/index.html | 205 +- changelog/0.10.5/index.html | 2049 +------------- changelog/0.10.7/index.html | 2002 +------------ changelog/0.11.0/index.html | 2102 +------------- changelog/0.12.0/index.html | 2098 +------------- changelog/0.12.2/index.html | 1987 +------------ changelog/0.12.3/index.html | 1986 +------------ changelog/0.13.0/index.html | 2057 +------------- changelog/0.14.0/index.html | 2024 +------------ changelog/0.15.0/index.html | 2125 +------------- changelog/0.15.1/index.html | 2079 +------------- changelog/0.16.0/index.html | 2051 +------------- changelog/0.16.1/index.html | 2014 +------------ changelog/0.16.4/index.html | 2004 ------------- changelog/0.17.0/index.html | 2095 +------------- changelog/0.18.0/index.html | 2108 +------------- changelog/0.2/index.html | 2072 +------------- changelog/0.7.0/index.html | 2059 -------------- changelog/0.9.1/index.html | 2036 +------------ changelog/archive/2023/index.html | 2506 ----------------- changelog/archive/2024/index.html | 2378 ---------------- changelog/index.html | 1021 +------ changelog/page/2/index.html | 2380 ---------------- docs/concepts/dev-environments/index.html | 203 +- docs/concepts/pools/index.html | 203 +- docs/concepts/services/index.html | 203 +- docs/concepts/tasks/index.html | 203 +- docs/index.html | 203 +- docs/installation/index.html | 203 +- docs/quickstart/index.html | 203 +- docs/reference/api/python/index.html | 203 +- docs/reference/api/rest/index.html | 209 +- docs/reference/cli/index.html | 203 +- .../dstack.yml/dev-environment/index.html | 203 +- docs/reference/dstack.yml/index.html | 203 +- docs/reference/dstack.yml/service/index.html | 203 +- docs/reference/dstack.yml/task/index.html | 203 +- docs/reference/profiles.yml/index.html | 203 +- docs/reference/server/config.yml/index.html | 203 +- index.html | 231 +- overrides/home.html | 28 +- overrides/landing.html | 4 +- overrides/main.html | 4 +- pricing/index.html | 203 +- privacy/index.html | 203 +- search/search_index.json | 2 +- sitemap.xml | 105 - sitemap.xml.gz | Bin 483 -> 405 bytes terms/index.html | 203 +- 88 files changed, 625 insertions(+), 49949 deletions(-) delete mode 100644 assets/images/social/changelog/0.10.5.png delete mode 100644 assets/images/social/changelog/0.10.7.png delete mode 100644 assets/images/social/changelog/0.11.0.png delete mode 100644 assets/images/social/changelog/0.12.0.png delete mode 100644 assets/images/social/changelog/0.12.2.png delete mode 100644 assets/images/social/changelog/0.12.3.png delete mode 100644 assets/images/social/changelog/0.13.0.png delete mode 100644 assets/images/social/changelog/0.14.0.png delete mode 100644 assets/images/social/changelog/0.15.0.png delete mode 100644 assets/images/social/changelog/0.15.1.png delete mode 100644 assets/images/social/changelog/0.16.0.png delete mode 100644 assets/images/social/changelog/0.16.1.png delete mode 100644 assets/images/social/changelog/0.16.4.png delete mode 100644 assets/images/social/changelog/0.17.0.png delete mode 100644 assets/images/social/changelog/0.18.0.png delete mode 100644 assets/images/social/changelog/0.2.png delete mode 100644 assets/images/social/changelog/0.7.0.png delete mode 100644 assets/images/social/changelog/0.9.1.png delete mode 100644 assets/images/social/changelog/archive/2023.png delete mode 100644 assets/images/social/changelog/archive/2024.png delete mode 100644 assets/images/social/changelog/page/2/index.png delete mode 100644 blog/2023/04/11/introducing-dstack-hub/index.html delete mode 100644 changelog/0.16.4/index.html delete mode 100644 changelog/0.7.0/index.html delete mode 100644 changelog/archive/2023/index.html delete mode 100644 changelog/archive/2024/index.html delete mode 100644 changelog/page/2/index.html diff --git a/404.html b/404.html index b9c0efa5..8e3fb925 100644 --- a/404.html +++ b/404.html @@ -304,17 +304,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1224,180 +1223,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -1760,8 +1577,8 @@

    404 - Not found

    diff --git a/assets/images/social/changelog/0.10.5.png b/assets/images/social/changelog/0.10.5.png deleted file mode 100644 index 66d260ee9a54fc2cb2908d22fdbbeb4c0cf311b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49700 zcmeFZcTkjB*FB2k=!^j!^MD8{A}S&($(E#oh#;Uylw=@C7MdK#h!I4RWR;weoY6rg zHYia-g9sdJ&6&99X(^y!3vHyJ~{)_Sn7abOsw}WS8PO3VF4$&PPHybwp81-Fw_V-m!KQ4c{ zzsRBg<=q2nX_2p92)+Mhpo?$pfcmd1-p=k+T;{WGw_>n-AJ66ur#ye%C@*)aa_{uW zdiU-XM}5tM=wW+0Ywf}Y>s*c+*HqWk)NmRZi_6HY!gu1&WtDK|p?`j4DPP5U@Sh)_ zv;Xf;|GNe(EdRR(|GNexBm93d4wA$TM!&s(QeWBZYTw6~`Gc36n!RsWuH_Whq;2kqpIIflKtb?lYgYFcR%&} zPW}B_=}}2Kc`5+{`iB%lM6#R~O&b#`96H^2@ir=vvaGzSeHJJ_5Wn4p%(9!#AaXjI8CQY^J$e_K{|X64#Hca|(I7KDmB zsdP9G^5+O^uKwG8{p!`vcAtKjTYxQPd2ym^FOy~L?nv>R5YfFw* zgih{_lLxmx@)OY4!`t(COH4ht?XNpsSXh`&+qQZ0o=02xpUFO9KkMwAFQ~CgqcK6v z_ocLF<MLT9lX zkFchEiIy0P7-$EYHs&Mq4YTWsg8Sar=qJ~qN-yHW?EPTYb44=085P8_l z*l=fgs%x3oj`XYVSBH$_JXSR8dn8ka`(q=rDG`G7Tx;p#8OC;#Pp|Gar08l(E=*i} z@Zf=UMf#dL``DicG?xni#wozl({qAJ*QU0{M!1_g=oLlW%`$IMId$sPP>tEI(SGLb zxfjA6zpdJ@ot?CnOHyYyH@EI3>62|tY!v=XexcqG|^N{+>Q!CgGU;gWkr>DYjYgV*syvn!1LB6wR&)R(bdj-YyN1Ay@ zq1ILby`egRGs%~-p4kt#o=sFwjzS!&ypmb9Up?u0d%m4QieAwHjT9Xp9IA41xX4LR z2t1URB*N|F;-WA&HB26|F75)i)0dmS?KyT#^Woz)3t}`}G`6=2tH9V=( zE$N2Q`X%mlNm_y?A79+`JD?^{j+XrX2ag{4=H?!w-1zdBd28lb5%bSajdMyqUCK6( zrxd%**?WeFg@{-@yT`iSXuDNYQqV!2+>bBYvya*KJ;mEqF=!#D_xGgtFrs#vPZyZz z-n1M2cDlZhvph)4d(NS`IsPJVe`{8vkV&0Pf_n0S_m8%1v$C=}d+wayqiq86NP0>7 zC3*q;+Iy|7t<`&2*RJ(r(hC%tQ*@)T#v8Y8-Fx%q&1XJ7yGBPxH*VX;>oPUu!>^rP z9xQCOM^dt*!pu3u+uPfAut_oBe)zzX?VnRcmCzAU@4E{bj^d6>{}n5riDvrt0ie3;Vb+0{*myK z{rrzn`^N6!;bgpj%sMVfb2UYWsMy%VyKA;3;MKLWLe&!0Tl}PWs{;5l%ygwsooa|W z>#KV1++)Qm1w};>-C&blrTeFJLxst?k&?v6kJl!e;rmQG3Y`+L?;--JqykVP zU%eViC^`LT>wzOjF67imy3HP&beo)P);Bxk^6lM&b-kR&ZoDvJN-h2?C10w+g5uY|?>2sZeXTKCAuuV0pF+`cTb$`lkn`D{Uv&tv zINR;3ta|FytwyI!n>ICeSNN*Q$=%l-6eC5nu)txYW_CLl7niV6^`9Yn-WkTV3C0m_ z>Q2ti?D}z6!ET(P7@{Q0l#`P??=7{MyYa}BK|G3u z=`@pW-)MWr$S7v^+am$Lk`fQEDjVbFRrU23pX?B8irM7EkNjtfeYqDVvyD&v96yQ2 z;G=?qjb&UO=JnfTxwmUh4mN8bgzA$m%Af91^02bNVWZ9{OU^`<<_$K)M+VK!&x|YS z3!Eu!VNJS~Nk=HAXw}|Yu|`Ml5z6;*oCPC^QqT1cT04xaE(d+hP0e}I;ncf>$7b$_ z$)FS`eHe#P4LeWEZU;UfAzv^aPNB*+rs{VxCTYnx)v`?0vW#mv3kF-$uG~gU`t6$Y zWUH;HPOIIBDlEgfDrei%)UGF@9XI+6y1lHsKCs!RH)NSfY+^_-Z3 z)T1|yLh(S<8U9O|H;y@cdUaZuYHVb5Kwn=!Fe#$w>(EN|ldVhuoTjASj9N*m6MvD* zbW_sl{n3YX^SjfJSGT`8T4k+owcTxgwCup{-KVB2)wD^$^yk+WF$=o(;qmK!Q#}c! z8XW6OBFR=ttVt+Ay+53;Bm;6KA`CsJ)(hgS8AkB@erxA_@r{-OJ3Bv&*GgIStvait z6UxZt=T!(hZg(`($*%0}?cdZMY~&FN?Dtx!e);l?))J2rHHx61pqi;^LZk4x5D^;F z?Ui1UbADr#+UM4M$#QW(v{R52(gnmUA!i zh+e;D4YlgX`_>!w%M*86OxJ{onKg}#RS6Un28?!JY-UP zm87L^i(0nF$;cE<)G6HSQ5~2vz7-J>(Kwihf<|RLme#mKANlh3_JN%{-=r**KJGOz zYBgSUYv=E~1%4H^c6bJKQ>mfv=HJyBD(QA<>mi+ep6j^+)@(a;zkE2v2_LOFJ2lMb ze?Tq2cjWf%+dC5CWgcuK;9zuevN6X;c(YUyMVOeuhoSdBL z*FWu!*Don%Od$Pey}o*vR56sqp1NoSl3q_g-0brkm+SezOG^#k-QPfJ9c|`}7sr0& zHD9Dv#-%E{e89o|X3Z&$Zaet5K1$NgQF5Q@*+xMf(8;$wOK{X7-Ak9UOnGjvWPLU@ z+-6qOmUcy2E8XCMEwjBPUNqp)#hAzDpVLlaZ(dN`K0Ia{s}UPHW-;TiX7%cgNFOv4 zMAN;4T_2uo51z9`f_q#mOz`&@nh@NBfae-sXNU4erYef(x?mRZ&Jucd~Se*34A`<66bUwvg;$%ol zj(K~>=_)G#yO)deizxw`A&G7H z4|SGEl{G8#xz7!Y(p>@U6O_V^=P~+_=)IPL7ltxw8OKVvH7@(_yKrj9aa%cumhs-& z9H)?D8?RislArbC$B#eL9|K>QFmeo~9L^jYU!8O-n?9N1oIg&jc=P7OB!Vx|s(42B zw5)6ba%e(#w}C%keTr^D%(@-NqY(LVvR)kh-)kc({rO^Dys@E-T=S6UqpJ^Q?3kvu z$~tfyyKy4RwDCZ*4j$lqZ%tU0aOaMopr8S4mfFdaCn*em-TX{u?H50l1ILfI4n(}{ z2gLBut&dTxnv{QwrXwEl-p{BgFHakoEZk%y!7JD%sX#g%r#q)Lri#f+;_x;OBPvrpMq*pGrPim!>+G8fS3tfN8bQ5u3nAAudKNfkjr>iTnCPFGT z$N{LGv{oWLArxv1)848jJ-X3pc6uZ=#Q6QgEh29Hdc$NIYG`v}$hjp@EQN9r=Tle^-Q?E2fo>?E5l9>Fp8Y#Gqsqa1$ZNyLB9+f?k znceg(C@3CnnPszL`iRWZ;zA>;*+|74s$1XUoi?^B*((Fsyyx3CbU1Op~<3myq_GdBJ~8%JoELXx)x5; zzdl~6j=F6}#Q~%ypqP1 zmijki$6Aea>{*zdq|VH?ZmcoCyd`ru#o_Kl zZqcf2fTy~svz1jdmhyjY~*gZRo^u8Wv89c<r$}MG)k&Y-fm^_(L2(15Nc zgz+OrF{C@fWAQab-^M0=9*0JRf6yHXyuN)Ap*~ipAaGV*{vpjSjP$V{OKvn1Z}GAF zw3!KNly-eBr_wPT&VLFX44$Xdi>&@dbH;LcYaXhtX%We@)Rgp($ z^FnN4FtsEAC9uF|FgdkJ@w0_B@D`htdm(*1Ld-#FnlXs#wb5!MG~%=YdCN@lmV3qT zemsF9T9;w0Ofw@O)6HKCMsjdlyOc4*HYfm7%Sw?-jc1eVT|~y1`kK_T1Mpva+T%#*F_ghEUpC)gouRRcqHagic{O^K*k; z!hmzA;y{VN{PN4t@pwsqg4=36tk~)Xj_J|S4afm>#*6!Mq{Y4Q_3xGsUEjW~b;`6; zRaM1dy)OrF!(n<^G3e;&a3=;E%>>OLd0Rpk(PwTJ?nGldzQAWQ$NQ$!Z92?#vQZrFZe^Ugg#d=kxHLP01BsT_9s{AI6rr<>emZpQh}lL?F;fG-@!_v#neD^kUe z9sA4-m3{E=;WJX#I>KLEDZQ7^dQdRJmvUQcT8o9{@jK<;S<%C7qK)DJRG@v*)u9!E zWqU>8h9{i+*h~0zVzg*ntzsspN%wcUR*Nn1?$}`3f9I73aiIY^@4M)0r`(!`PIq4u=ZF`T5Q`lHo($=#c zTnq+(sQ?eThIPXe?QOGM?Bh} z=Puqv)viR_7DM6Z;W-T&k{^AYeU!n@S~)c9t2XVG16qo99Q{^@E+y#jm0P5xpH5gW zA+<2!J2B9xkYi0x)t5r-3cfPm*@-2t`+g%ZW(e(L(pB9~|mip{(C{@1q) z8a*Zq$oT%NsQ%B;^j3gbH0-a7PPgfiZ^^eyWb*VosiA9$MtQG$adJ5Uui{9z8^Ozg z5jTBAmWt#v}js3kwpuEkhWLPffDCUmE2ccp+$QwWI6Pj8N% z2cf{o)nabR1R=sEZ0h$j0+owMU$=I<$T^S$dqEyd4YhEGh*||;`=qli>88z*CA1eV z)6B7ki^^w#B;ME7)*4pvUwCzgksB#BefSdI&#Bje*VH@PYNDz8~S=mii0=bhVckrlPds~JB{b>d^`a(QqSQq z5iczp45R|;_j3YYB9LIT(>UX(W&1I$0{i55@84ITFdKe+aT09Q;4RY~8YS*-E!h?! zNqR+>RqSB_B%OQ0m9eRX1dHZ@{OGD{tuBZ4TxX=8s=T6PR&u&`))t_-+2p%hi!l%$z? z-3P$*3~=G~`Yo)$2?T0urCq*B8cS07Jh@&EpR+1i$VR<5b1BDiIGcT<_;K*)ug66Z z*iVB5jq?j09|SrG?&|3HpsP91AMbX*p@7ZdK$fYu2t6>Xy9bEEQCUEL)m4ejvNx2>OfYmN)4=TpPc8RNLaoCu$-=&Df>Z9G#=E z%|U_Aj=X8Ov&c94)#*q1xf|P}qoXT;-V8yK?%u5ecy7|15|(M!tORo0&rCWI06g8i zy7X@lv+HSK-vn) zxuFd6`h|rBLmV^0d*+B71bf8;aw~)FPYw=qIquV`K`$Jnzux+5*m7-=-OHPXVrWaQ zh!@3N1lPsfLNk)&y++zL$@b+{C!F=$t6d}ZNgO$HB>l$MQ%?QSfj>nd((Pl1cN4-X zEEaHw(Cr0jl|u-oXs6CcRe=HuU{H13PyM-RQzRv2+IEk_93#Z48&!782A>LF-YT?@ zLQ5%FyrUMaLK*=v{YYiOU6(YnKOZ2K&zO&NeW_+A-`YEbb}ST5g#WR|%}9)#wX&^6 zd;Ra{)mD5qUiMD`2m_3v7UHuGrMz>zaNz4s8!Yo%6r&?L#Iaz78WiO&@WCB^A7s=!%6KD`UrAY zxNNX7vG<#NDDSRaC-H4Od5E9Fg{iidnBP{el=tS8Fu;Z#N=-(c1zPtv@4}(7j6WmO zjj9&hg&OE!%|j7$o6TIyc65*S?JtO*qt`#~BzcUnkVd-Z7HD1^Qts_)(H&iVpCap^ zV3>Ewx}N-0W!+uA!IRo+x8h2{^kB0<+m?+;VgOIZa*JqnOuc$z=Unq{p}#sDuD5*f z&CTWcD@Y;>K$Ecx?@zTBt`WZS_pcN@2qP08QIP$7DHVGj+y!9v$;~D> zgK!emLhuhUv+?Iqz?nr=pj-^WT?W?!D3RBsNbaf(0<9BG=>R|MNzJ+b=@iu!&Dy%& znn8$JTqrix!NP;#&&3>4b}6p{`<}+!Hum|mrsw#!J%ID2ngp1>l>Uuo;vDgMH$&o| zh=m-r)|OGtMibx)4-X%M;*a>rJ2aK|5nE7Je>tH z_J%djlJQ_ua`1FMl2D=e#7F6My-V}swePRKHh2VT@L1^FVox7^eIoeBqlT56r2~zV zOBQDpsDSF$Q(7)Fh#r89r2=oE%)Y=EJvDZS{Iy{afsU-&3LebF9w4}Gbbe^#6 z9_n*$RTx?Q3IRg#(-_frPX-5maJz{4$IvNo)vaOEUZ5o(1O{qke=IoT!)=q#)$~Z9 zcpm{ku0eSOSaL`>3$^8Uy@LGE`S| zxH>nla0_xyk9wFkr|@q%pn7AUXU80mh=@oTKrH27aSnCr_QLnl^}$_s0}VbvR87o6 ztasL2F9k`rj$?#gkVBumf1l~UwW;H;hO4iyd$rBgA1{jNxO4aJSxwF7x)fG*a76*^SIQZLNO+wx$2D+U6_fXs(q_@}PDms6;=c z%@A&nP;@~T_eX#5=8EW=UoSPE#w>)+o@2IyP!nHEJ%y=WY=R#WIB>Y@k`nT4 zyC5x?io;~O2+F%Rmv(PGmnBsZje{vDt$YfOo|zhFMwoAq-G9^Orv7HtkIL{aZF}ysB1Aq*>822*du6RvWWse*B07FgIby zpF3A=y>#@|O`hGR=u`6t$3X_<&P&8*jRM-eDqD(3 zBElA}4gGDUTOhQg(Ybf;7BYjlfljTQ;mYOu{ibCx0IHV%wKsn)8vve~t}bw%G*!#I zej#>5!{P69tOqwxIj2o7)A_i$r6nM!t2cLnB{ixIPY$sHXi)Dx+C~XN=LYuuRyp_A zsb9tn`xf{LROEGwUA55m>@1rpDlBXetQC)hm>N9z;DIo&0>$lXE<% zUEv%_Krzo_>;qThrT@W-o^ROrI?B8yeE=mWm_krqEc2qn8Knqb=*lWke-4Y=v^vln z+hcD=TcATp(8;r*FmNh@TZ`QaEWH{UR42dOUe7)yXM=eJ)wQM6ygAkb|gm37}mP@K}|#waP1g{WT5{ zCjnBKu+x}<9Z&~-roOH&sW@s$srva5Y0=J`%YSPC384lMr3M7hfKuPMG+(>a{Tw}$ zau|iWw`}t9lP79Y^WSeHS^GJEd%)YUMxgM8NegiL>bdtOH4;3e=ZTY$7e zaF(=9QDX;u&Tw8po2dejqJfN(0M>Zm(-|%`P}WTrTlYmbpyP-Umyn<)y^UKLP(B>t z+8-vaU*z045FyRBCBl8y#4EKCeRLyv!qR)JY8B6T)F4uk(?&SgOZm3(^2*B1VGd}K zMRa+#ad3oQg{BWd)l09Eq81ZQ2_7;Cda?`C_w^ZRNQU#=+1OU)vte37l@cdYKj4+8wm&+ zgKjCA)BVR4VdshKS+FDd1FCn;gMvzTTBx>HGWy^afFrVVOfI+RFW2p)AkFOI=5-DX z)uyKJv6-u)qgb#e_PPs{%%{`Z;&3WO_{qlSF^162c640NusVblw zr&d!8%KwP9T%#e929RR~B|JsneR#5SX|Z|WI5?6b4r<j_j_4FJcbK}G9&tW$qUWJVqYO{>{Seof+{ea&~Lf4IF~wr_mghp6%uL~ zs2Wes`(;oGjtc%V-W5H21O+eBLMeiS;S_RO<_plxwAs~vLm}#RR9m_WJ z!_go0EiNp0m?;p$80-Zt1Fe4f3q8|duXFk<&N}?f#(K~vbi{MZwr#Peq@{Hi!_6QC zwB}kz(xliZl}bc9D^} zgX0~hI2h}vf+)Ti;WibdChFe&2n8pBEC3{kM1WUvLWQrs`#rWK#lbTO=aF#?sUqLv z%bS~89$me?vBV{ZM+&S;9Q7dehFCF5r>~HeyYlao#JRL2^<_8cxWJRQSDtlr%q5f! z@)ytD)mxr{yU0T*gT|8q8a#-Y2q1o>sJ&8BQmfXl4@5{RK%|HQF}HE!#@(QJo`r`W zLjDR&)JUyFiZO&RmTotw4!S|8a2+Vz{M@&JTCHn453l1|VYM^W?dW0EjY6+@7&>iGaH3-tyYHO;hQXno* z7%CPQruFf_en>*}{d4vwRsYC#0cE{MTwJF$+k%ha{4ZZFuUfZmE9@0{c7p+^v8U03 z^8m;CgNdvHLAXa)xRGwS?N1{q<~CITwg65EXE`iJ^o2-SBDb%C2(GNGoM+v2kC-iS zb`4Mx2yZFvJ{DVM{tt82{dgtVAM)qilaSoyKYx1DaQ!lI*uh=;|MQ>z5`T%7hPZx# zLYRkGu_Q{e%d09@Z#mG-+{kkMOVQ8C2&dmz5Ay!LYL(B5HCyE%$wkG)RD$g=fboHO zXwAOwj#k87d7`6xnEA_CBs6O|6z25B64be)ZnL%zo;>jflqh(8^u^__BCQ*1cN|wO zo@0uI^k!%teD?I|PNcD?g!O?U&mr!3o>aq@EVIB(2Z+7+GAq00O6VZ168cX^M9{4i z?^$m7x67uc?^9ERbCiP(Cd#I#vaZl+JjnzB;tPX8If9!Xn38(UpFG*yQiv4l2pYNx z!q)l<4-4~y%O@=EY6JG$gV?B{A@7gR8Bd0YqJw zTvmDYb#8%Bx1j8Z*~~)Gs%B7~ zBSRc5TpsgBrav!he>}Yxof&a3=GVh-$+L6k3F0v!K3k+(d1#mKJ3I9q!a=H30FU!P z2K7f5Bo=A@^PQm6{|a-=QJZc#Hi}JDfx@yI+d4wd%U1viTLj0#yhhy1PQzKvQOIP$ z9;6{6I-8J1t18s}5yzMK7#8MR<=>aFl%E7YL&QaP5%Yc0_tyHr=wh;{ivnVRU-{PC z+xu-b&e&h`-sJqL2TQnQ6aB-BQzC&<1p1p$A=@;_{&ss1gK64Hq#4`3k0+X2O`=p zu{`gG)bL|=wi1pl7$5Zr-3u3sAC&s4_=~aax+yeQSJx;ges!;}oguQ=oqPA>5lWmdD9R99ynk3eglY1OHB+k?e}mDSY^^K)}r2e+cC9aICh)-lt>r>RkrUxOtt$i8;s#9z)(w;E8s zll7WVdK&%qUsOfE!s@1oq>}*4aT4VGq=ZrcBBZ}KNLU6vm@KHDZzD}P)9orWX)TZX zOp}Xt*lLc!v8kzSQ@8&zwyF)foPjAXSkTyu*ryxYn*8U2BS&bVyP-0;eSiC#$Z#qs zg&jMR2?35Cdg$XA?MD0IizH7vxINbKA{I-aH%2=AA{OOG+l#DvHpA4bN<6xaWgo;+ z-y-*^qPw@y(~FRF6QatVKHZ|`ft03t_3A6jFt^!>*OXW>$pW1PwktA@E-r~sapU3F z)Gi8xPe?*S7pBnj;1}CddKP=7mOfP%z!B@&bY?{OGkk^g@u`7EzCkN=UJagH?r{Jr zNge702eZQmbg`*wZC3x?0`DN%5-!>eC8a-pz4D6qRu6?XzQNGNvyFKRcTLb-h`3$J zZNoZKB}S>!o`!hP22_P%JtKHz25_i$rS<|15+|6U#tvA_20*1>-2IAO)G}#C)JrIh zxT9obBxd^}55P*_>})e<^9|I-2d^Dw^=IP(0Oy3==N)_c`-2AadpuV*VeCNF)wNJM zE8>{-DWriKCVMqm*4zX_%%F`9u0nj+=8hWQb5r0$za4{b=sT}V+*DoOQrYn)R}GdE z+I9fpoS((YcJv)1lsP+O(`bC>!i7Y2e$x9CH`kUqRM_yw8RVn? z{hxFfFluX2GWsmiwyxC`5NwFqVsy-ieZk#!nnF4G$DN>CE|+_Dp~)t8cZGn1K14Ya zml$@LA(`D{e$=x87TGVWcl09V0g%U&X%OOIatH^4n&}DDH-Ij&u5ldWHs!G7^ML@d zr;WhY2<%lvBs!o!j)c<+i2W#7M~*r$b@r>qJ(bSG0~w&TJPLwg|E0`0={)4a?$Y&A zeu(nVMG=e@1aqOQtw2LS;N!ZUgiBco#PSZBM(uV&LGn%x(e`0zBYxf8-R52Y@_Q86 z1Uq#m;QSGylhdhtgXb7BVfl8e!d=AX0{)pzB_u0BBlQq~qc0GGiINBG2|f56B*PZT z0_Nc{!N2#B(ghk&4sG*}N*G#p0jUO*m&=hkoRf_~3UE6T5R8;10A4vw3^2yc0D8!GfM1B>$9wqjdAJ*P?+~-Ep0x5;LHBB; z)xY271NUEy(G06KkI;1x9Kb4p zGI<94(6Zot>JrS&+^BH2xh7X+(NR1@uv9#~W(mI50A9X(7A}H6*M(j^<^Jnmh4({p zdv`&ntg(Of!tWWlxN;=?9`H3bT_0FUJdmjrnAW%#=BBrySE0G0^7vz#$5fJk5SCgv zY@b@R18oG0SR@2l;e~^{fFbjegYVyWMf{Id3)c22b)qEBqdiZ*R<%BRY4}&u&LQ%d(6UG61t_~7B12?Q~ECTBi8ev{7 zG?bxI9(n{EV9l{x333orqpUiM^EL8|pvP?lL;)#H%~jIi6kVN;2)VB3(~xbU9YPJV z>pVav$gr;{?!vL!2e*>XgY8AY243VmP|=zPx9*2^lax=?+&$oInnQDtr_-TK5Tfp) z)hiw7y)CfEGq-R9{X9jgD2oXtg*ReD#0J^@@JXQmQ_eYS{r~ESw%Z;{_7f5mTkD&{ zx6uw7Zx?f5hLY?8b&Y46fZpb4KLUwR#tpuIc}o!q)Xp~FPmV<43?pPFK_r7yaKw0I z?nr7l@3Ox#au*yP&+v!ZtxuYRc&Mb7swYvV1HD3pPd(`)%^DukkS0>!f}J>uQqMud zvNJ107)Xe&X?zG+l!!T^0md<#?)#0?Q{TtNRKVNR)BK-4eG%@$%;Ojt=|-jx2eC-_ zfso#HXP7tbO3+Lv;P=Q}NhekR>0f`bKx>Eznw#m3Xr^u3vL%`jpJr|y9UZ1P9QjUD zBb})*yR{dmvf(-5;2KCVgOAV|Qw26fOBy$B-0+(I1H7aLYHMcxUO_I=_6;e8zXjZn z^W=1vb8sPZF3Ka?4&RVx>uGFkZ1MP5Uo$UYONOI&oY-{Zr!{ymHOwQ~VN>abwGmRC zj4nSd$%4=swkxWxkdyQ62m>}VI}0Z<%DVI1aE=;80n2c>*K`KU6{g?hw-GlfMhp@$ zS7$qp<<_CU8JnC`gLq60f}Y~!+_`Z>V~K|c zT?YY@*3amKZTteE@T#|L-%f@V?0U0uZW3K13kZ;IM^GD0^ss2XabSid_v44qllmlw zM+tqjzxl<<+qPV?qwv--j(g~tUtYj}77_j%NhxuT^P+q_u%uX_o>3evsqCCa5tqs3 z4ZmJE@z0XkFE>NqCeo}*n!`Z@VIs9j;{kyMf)UY20-~$*UtqYK8WHZM1`Y} z;oS3BT{ZcV8okizqM-4A%)l3+!8Fm=p|q;OBzez5+ribIGAQ_W+@Ao&M!N6?+FQ)w zn42&Zl$6vlwNPQ*QP}k6A*6wqFJFo@UyPRDLRLH^2P(|E)cIbo}qe%?$D_fR@%3|3iUf4oe?b*J!ux7G1L~jrRW^gH%d)g zw8A#J#S%sqJ{Kut@@t#9yq7r>%5g`SCT(+FOtWRrGq)&gpieNUq1>sO>x zs19nA3~FZAlyII%D~Lh;))5^6-tGJ7oL3+s$VJXu)Xmd>$edgoe(Jd=8quoz8@Pvx z-wuPs6E2&yEFNC1EHUW^=alhw?*|WF&+Yw0+P6Gvuc^}Z!P7uJfRicCwEosFc-KYaL5 ziOy)aCIo~YfafcQO98s7xIoPG}U{XwYxL_1<6{a6}0Z2%&}yXDE0_lInu_WyTLQ zoI{lkFo01|EEKCMA7N}^57s!_Wf6Ge?DQ@cB6Bg0lwD$`kWNj)$cdmZ+2wreNfpQ7 zaUFAJX{MKphERFb2G6gu)IuiX2N|~I;d#$2gwZ*Jk=wB;O~z8{Nh-oRxSmlPApkzv zzL|SBrd~!q&R<%`DZUQ^w|%V?1OyX+*lf%OC(tPZI=L?>djHsl)5KEQ#AmvFgS&_Y z_0FANJ#8QzR3h4hVkM?NU$gI}d6%(f)S2A@>AnXGm2WjOGt)0gH~Wvrn8s@eO;-*C zw{#v*MR&nSu`ht0sge|ibV~WoJKt9G@eWQ(%VECdm8mMM`8L9WuiaEwheJg#{Uu0TF7d zqz%1HI**&1Tew7qOzBKl89<)1P4)YMX~!K2Wm-c;2_J$iI|}0|%&snO_%sitd^ko5 zJk%63r8$fWuhseh94}M`I%^LK;=O~V>PBLg&$Tc&$Z)jO*!bM3lMou459u6hb3{W1 zAoS^L{sd>g9ukD-m=cQC^ut!P{{)JJO1Lzov>VM0RX)&?U1nO9pVbHL2ooKY=g%dS0S@4&87Zg>%Oaei%fK z8n7YJ*NeYp#T+{ryg$>|Y6lJH`fvp~bvolB0--VoX8V3r>vheOt!AkYyuFpPHG!z< z6qw%)p-n$#Wa7}tgR&$tlYOsfo3V!83%lsB`*N6yf|*Ex(4pTRuJ(HOPKF*aRZwu# z(8|I{(&!hK&_^q`w#Q(~F1QPTMQ~3^hjI%zj~EzE(``WsEjF%I>eN4NxfCTo((BI3 zE_B$Oa${W)U$Twa1Xi5rp^P8!H9Xm;;HPr+wPyO=qO$h?gRi(AVYUL_;!E-($tQo2 z4hv@Y>*YnYPw5Cup|Z&-Lyh!UlB<@n)SOi1yl6 zoeXypG01{b6aY<`g$gMBa4Y}7x7FhUMfWner*{fIl*kI2dA^F}#-ZtU)fInyDmpuY zo{Yz;XfmKaU^@p#5=9SSjArdJ;`=Pn4!1{;b^`64sMMCZr3q%vl?hg@$?(eP9M|Wb z9YwAa%r($=rZKV^)-PfGNf+OC0Hj_+k@w4gjKpl|2Q#p~TQK<&2z{XfqH^@y32z+c zinJ@GWC8@cV*pAv-D%ut2JCrJJZPN&o>XS&?dHC?h_x=XP%KwfFK3vSeoNZQ1 z-oEispVWY4P9pD^FIucBBp?Ia%0LWw!5R*q+Vpq0wSHQdU|;Ucs{Z^8xKrUWYTFsI zr1WFrIWeJ$1a+20dpef5YrT^;C<0V09?v;>z`$=8cP8!^8Ywt^z@;5^pHa zp+idKnhJD&bw#ZkS|`GvCOC9-$xk()FW$@YChz*?w-%3o?7p(TNMM;WuZ+>$E5^b9 z_7F2w&YiXL5T3oGCBQ|Kp^i^aHy54So5SaUr)rtYkP{?(jIXc%Do%FQY%BkzJw(z0 zVbE%uDhS9!8tsFcX(tZpGJI7wv%}bAne^{$=x#eO=karLZOYb+{J2$pF z(38|gV%In;Yu7tRIk^jh7>FNh&IKPbo%>Ut7+HIf3!jzei55 zFY>Ufd8ARec@OL+A32njlmdXMyN{)k5dBbG0xnFLQUzm?Av&*MS_~Yz^5AiYi#HSj zzl@=q_NoB%==Rsp^ZEY$Mt@^sASp+jj$f7~GRSov@Fb`p74AWU&*0QLt~2Q?=JNU9 ztN!ZdikwekpN8sVy-AigsVZ7}_)=_wS^6|0;*RS7-7st$@rUY1P)yR};T*D^Yox6_ zy6&{JA9r9TQHo(%(Merh8s5AL1@V3N76oCH8?B#qD(7@0(?|9nyJ<{@-Z30Q%~e zRi9kMr$IQf>aKfy5iJ^KCmt~}JKg8_n`eNM-oJZyy~g-nh?E)H+yC+!6DLG8T-7a$ z|MnXb>jSOoFsg+6=1rTpF{bQ?$bVQq+&oyp8{r3_r3W59g`y0?p&JD{knqI*(Tr8j z%Cvg15o;b7Q^D~gn^?Z+%-`Q`NyU^GZ4`p*HVvDQj;=re?BQ?nI=vVxYUbb)wd9~B z&XN0CsDeTku2**64hIK~=>g5}o zW28S{>Z>a=uebYk8E1wQNyP_#fA#7WVGf~aL~~fZTf#f%5AU5bigDni_Ec`!rtvK7 zKPi}9^F|0v{nx#6OdBiT`?qI1jOfv+=m^dL(m=e zRW{JefZ1j>(=^e}ax!39pN`z8_7t*oIWB3~Lkw|@2?z%LP|Ce16Yg~(5th$9q>A?X zbi6L}ABra!l;tn#r#H9S$i)`aLWHcPQ)N9a>JTb}t|9;&hRa)OaQ_Y~Z4`%)$eWK6 zkCcFZG4p~9-&3@(RPv40R#63(c=!rKD_1$vwvg5D$z_QC6`$^`+SEPKUmsi#3tMv;k|8A{UpSukkWQ7yvi~U{fo? z1WQb^-L5J}3~CCOiCVP2d-6ar4woZnO>5_O!c1xixlp|ahc*kY0$P_X$U(aj$JTG? znYTT9|BQcvxt~#Pqn@Psl9K!{&oYKzhcl{%{ts?wXAN5WO9$$A@X-Z>M_>-h@0Scy zPCYq%;D5XZ;OYLKeq(T*$4VFNIs?SvgHB}p08h`c7-*Ng-7DX>W0fWe$jUZ|TAmEi z#OmsE^a%BJ7#VVPbK6mg3t8Mqu3%(>n5Ot`|A5vboRDbWhLaZ#`fcErHJGD>fSA%o z!;oKQ!d<*C8+;mwl=Qp8Qbn0+O4FszqwlvFLaD(TbQuQ*VKo#m4HwK$rf1G~;51+N za&cz3nz~F5sL@7IPsK86v{shw2u#Kg&`sUg*A#w+H?dNWPk~qFK?ESD`eC>q+F)VX`>(x%Sq#y5{a}zl2t*k!#x<(X`|qJF%Fi&XAF*% zS#(y$yiNIWNAu(FC`hJWo_Ft(Y1RJoO!R!G#vf_m&J?CU_YH4!pH&d!Y)jH=a2X4^ z-|C_gR=~OJJ@Hb%jL;Ch{_zA7aDc@;0xy4k;|&?h>C#!an}tW##JxvU8j<@DXx7QG z(ygaP76RLr%ON`ml|er;otE$;uFmp7_Y#;q&Vmgb3NHa$OS(;(32tk7EtYzJ&I}2y zUai_O{8yHg7r$S-hAC|Ms=t;kPYU)R6>JQz4#c^+QgM8c&f%-}_1wQ51;s6i+-PvI64QYEHU zhXOamx@8M5d_#6-!I*ZT&46Sj21GmRfoN4od~H+08_GIEcE5thJvxXRbr@G4)urSU zJX(-K8t((1Y~I^3I;RHsP`MR)!Ma8RMIyjuSU!4x)jv2_@!<;vp;NIq$YuBy`_bwn|4ks9sLG-~~k0tj4{SvX% zm+*Vhgo#ZQ2it^EU0tmTK05t?cMxeP34Ie;>)SpPqzElen)nyD&E(xA{_dYn?$0i} zTTx!=>%Rb+lPeBdLNl_$S%oFxGuGvG|-AmCL$27nZnnG$*wC!{-&7?)b1Kp&(A8CM7`NHenQU!&7wk z?%fvM46SMY4HpQ@!gR(sjfRt>qh?qYt~LXZk`vSbD|Z0*3or|1h0$IZV~t|0Yyy zc`c0CpB6MSkm9Ohe4iI|A%q*M;~R#JD$j7aMWF!+Hsd5g1%9m0{RI$8LxM9PQKB|U z?^vW8UgItx!HmP5WI@slGV)5pSd&7Fe}(rZ0b0I9S+fvq?KGHyF%s63A1=QimVCt= zrrFO|Cvrso;PdCt<76NI=`*;^8K8U;v|?ZQL1P1hIIuRFy1s~bFt}Nmpb>4&u}XEG z8j2_5MKGWX5owd&+-Di96sAH-WUi$kQ`_MxvD{}_;7Ss;dHp5L)uwV>*hgplX)o=b@~btA(T49bnwY zr5-4_wZdo6RW*YBiU-Bd&8{g=cjr$wDaYLa(!=d}7e&cXFY)X&riKNXZ939>q~3qz z40o;Xbr8BfXZ~6E5v~8qHTB`zn1yW-FB93YNm=|Qx$kfiW}kSx zx%TAyMN9Z!?FWmERF_vF2PEs{9WArNaK`i5T93s@;&-nM6iA(4SWqLzXYd{k_#$e% z1{OBVq2qP@UO`UL>d$X%?h%7A@Cmz04%>9H*aZxia8NsOH5xe~5*TcPhx$?iW=L=u z&j~enMu?zp3N|jEl|9;T7Ny3f=u{JI-S^|b2=|M0!fb2W*l24sGj!DD=e1HlZR^9E zp|4su5eiV&zJ*Da3T20Nj=U<8Y5N zbF4|*s%4@zD31tHx-;%VW8x21ZvD?KCi5L{OkwI_dPWD}asf^M9EeT%)0sEOO=HB% zuQ&*9P?`M_d>XeHxnjhMoevSNOTx|kr)~Q~6I2j7l2{{5x(n}d=95LNxXjLl9dBef zS39$HU(Zu=hrzwK7+AAcL6#UvM2 zl#YWImd8i@6u}uJaLDWzqb!}IN#Zh>HYFr!e7FuZ2X8~JMZ!IFH&QTYL|Pm>F16Ij zcdtW_ndu9j0tO~G#KE>;s#yaFMyA)vi2l7Ep-B9zL*SREsDnZ9bTuSvYY=br+@5_d z;M-a=jJ<7#K3{+Z>iW4WyVEh2K}KkGO5Evbp-sU@4IduVFV>-60fJ;^`e;%zo zN7$l%^OR%Cm4gv2EMwc)HPfm<+;oG~zSsK%jwMvN3NoAwmd|Eipo%t6p?dv6|%W!wLaUea8W z&>&Qo22qAGWNtu36q)A+6d@!bNg7nf%$Y)Erpz;yA~I#loMgyYgv{^f&~rb}yMBAG zz4luBk9Y009;-jPySZG~c^>C+e7~RRyJz=q*my4h-P9odZA7>|g)38<2xg=Amw%dR zfY9qXfSh&0-B9`OCEi>Tjta@m+Sm&AD)BKl;+(c_4xP5TkWs~xngd%7p^PPGe;xxe zVtuFsCF*k|F&w}yp4+p4J#QO{>o~S>I~996d~iWPXWtF8icF#E=q6%Ahz7odUce5Z zczHu`ECCNgD`Li;&rSr@P20!rIg zoxyKyX5Tq{;iXu+r)Q z2a)6u;W-)`d7|q>y2ukOToC@g=JjyDrJkvy@O-~r_q1C$&NAE2d$0Jc~`wc89R0b)J(5m^fkj*}?ScA@x( zC0KgzE)w?!CIF~I06AcYO#MN!SLvEhznct=NN@~v9^^`q_64j7paW@~qPrk^gC!*_ z-C_jW2*M}0u#qapzQEz4nXHL$2%^13R1%e3Q7jFTSwO;J32Ft9Sa>j672ujbY88=| zKjfK(WOveS*|KFPp%-}$x6on+2M)uf%a7`9yE>Pp~1>(&JNgU~WR`*v{aVZ9@?Ypy!u?mi9= z*Ux}#`5FoI-O9Bjqy$<4EDG-{U07&1i3+nKsQ9USRaYo>$iP2*9A>NUXvz-kY(!+s zOA+`Fjc||nFK)T5`FpVGEKo=1D_z8*)i#|59rIOQ$yA!}yCCYN1JRUnbf4~D@j#$V-@+FBu=pIMN%~vk|IE@McxN!YVC;QmuR6r>_K1&cnR~El@!XQPV(80 z(XPp=BKaU7!YZeokQfvsWcC!r+P2Twb>R8r(a|7BWD~s1O#8J|#w<|T@PZ?~U$-{! zJ#5f{W`htV`+|ASC84#?9*~PeN4M{*$8Mg30-;VeYv-R& zyH`?^m#Q1kOup9Gcfg>CLc$<8U#zXjC#oX2n2^cM@^lklF!pj86q!6I-mly4rBJr7 zAoqZq+yh9?yVD!>dNYD$VMH^ylicdr zi53f?4#w@sXC<-3v2dB(#8p>}+d#hm_H0E<+cJt#wC@w>N{CYHIWE;_1mF^g2i5Iy zd@d?l@o(Ta2$7CmjO>L_y=u?@>7t(kV%3cmJ*@XPg?v@Fw%azT_O=&T<@nlKQ$(B-xE8Vhr~YP_n|u4t2Y?o60eK-= z^Tmnsk(OS3`?mruhBLA7`_1#)UZap41mNe%}} zF%Bm*b-R&2Y&H0WzX>NX3CltK)tx2^++#cK^0i(dEne~Oyn1Ut=PF|PdU1eZk#24(3_IIYZf4W zq_35h#N-&ZE7*`q@!Y+@ezXBZK2gaMs}@9H&jC*&jPUYVMeHy?no^@lDNG(JC~X!` z%TJ$tQEZj|sEzK%D~tjXC`D6D3{@vhSCC~eINc(nLjYX9bjq^@-Yz z!-hoSesB^Xpj}l5FmwGx%~V-KBO@)4_#}DmiaduAzhMeuxTI)6Kc|F>YK%E*5&OaX>loL}SI1i=XZH zIW4J#b5^Za;nXP=w03HEkN3?Vz(%+Tis5k5)_trj2fJoG0MA$m`oz+1<~ut54{1Dt z2{P=1AQR{(GPTR0sBmLZ+C@U@{Nu@-53$>lKUDhrEo({}NxCNycb`3YL>`dE-bmuX-Ha9cjw_Ta4LdM`6 zZqjvWFDOLClrV=xRl!El1TzCfDU?JEZG$WkDVHNDU5q5Snf#GvUyaCO3l50gI5&ZYNod5NLm zG&;NAUjG}^EQuu5Vcg0ZF#iz(B<5x`V*9nwV3TVrKpa`_Rt=OlDkzo?T#k`GhL=KN{{JqlKMrLnnM5H1-6^3si7Wt*kQcJ2 zPT)Eqe(dx?eOy9A42d{!;ltYC{umfINS2w%dm_hSA zhg!F7Y!X|jQ2kdfz{(Xu8L&lb=G&*k;Knx~+fQ~^Xk<~_coCSTXAMenNTF0nQr4AP zqA@0B0I*dbvB5wZC4=K}Hwyj5`WJBedu+1@NuYz_pP!w?OcmTbc)qP(f|_>>)4V8vNWh^WN;WBR%N5QU+JE~S6Wy@SPhjTm{rhu>uN$9&`Q4jR>9D-m>p`{Fs z(HwT8oGGxr^--RZPrGvL?d{``v2+R^`JNn);esUt<_NAl19GBFP@OgboA+?8o<;pW8>vsxDxy0Zx82$04^+X!fv#y>KwEQOBMx-^be=HyU_tKp@ zL{fEE<3zB5D!YO=3O}iesxftM2lg79!d9&rnf9l=zhFWNtEb}!?o7f6+H}x;rP|L~ znM{yP72AY%XgreC`muUNlA<+PG)x;3UjNu*kBT?F|METXPb8nEKMz;b1n#ArDF780 zRKozHqrFZD>cR~K7;hwGR!HQznJ>}nY0RBfHJz9PoAfR0rC&P3=FKrP&))#BxZHkG zpBFhRN!lGqjQINGZx906E8c!5fg!2{krnIipU{WQJ-OMt_fEEqx&F63 zrveSEbPbzi8m-6{JVquG9PB_xnqbbu_|I+l-bIwGT)zwI$ash05K@a9RpRl|6m(M5|Ay+) zbTXg|T1@aZ!?`0!fP)|{GYN-TQ+_^yID;G4((N-%Hp#*N5U&Hqa%~JItG!62%e7h{ z<4Hu+6EwUB^6(^lHZ!_~X5_lXG5p_j!jsrv@Nzl z0ee1ajL@v&5~kM+clfX<+!1Acht6%6LcHc`<|~_r=SXCLS|W zQ{AE#D1!t@tlS;|DK;@lvq*Y8xj5NoU3b01en|JNLXxq>o_3L(L~y(hOmZ$jT=SGJ z8l@X-upT?gU&-K!g2~|GRq6C%raV((l{E4Odax z)p$gcUb^fRmtN{F!C<*QWD_>ZFT!#}^HrpU@0L{9nH(-OOYQf2h-xjv=47(~i3X?bVhN83V~ z_txj8#A~BaZu=5^X2q|}c6)h(CP(iV&YbZk*ZA-)Ss37n7ZuX4031uXxlCutco{^H zp8nxt$_#wKy0tI*aDQ8uyoHq2?tGi;87O#j4YSEdHCT@5!-ws+X3W3=(N}QO*`MBC z=kSgC>Ey`A8?wT$evf8%naJ8o(0MJkqPOq3alZ<=2#k{i5BL5NCdm(A56Xzp0LM77 z0Ha5O$?SSnhactz0IcrMJKwe)E@f+RD5l^06)|X?UctmaZ}S_&5LhRFUvs2y*PV>5 zwIAI<-VhU$z^f1gGUcj*8zS>H8~2e^P&uFmc=*3RC5f<8NzOJ{wiUm?vTRaca-2*` z(c5zI_dty8`!KOvRwl1CbP7(97vt=^WUwXS;>Rb%HCS<(Bv_+Z{s{4$u8!YSpWv%j z8>by#ddWZn;qSuJ?JD*&_rzEio5GX;&R@XPVudZlaOgx0Ie5tPPCOT^CS>Sj4*F+ksTWk>_ zr>nELV==Lk#AbN@(9Oza`~u6P39@%9*MVfR3_S(}xeOHlhsKFa#IkONxQ0&KBOR4R zq)2<5DmShrc~i@foU2H=xIva>4IH&N9;j(5(_u;@q<(Sy3>UDAnu zT&Tqm=8LHFAk^MyKVy!qtZm}%QSx%7Be-fOM&=dJkRh^i7F8d|>({RrCopv*xykaF z%&QV~;BdW5E()lL3LaA;0QJ|ic0hQgdis|@GwK0Bix~Fx>x&B3kXKbax|rDcQr?fN z`%F9d;X?w2nnZi>w5v*DGUSH6Xojg3bATzdS^e|k*CB`{iMVIxQBTT)brOgs9Y{p$ zL=J*>$jl0BK=56d`}WSOd$ZqSZ#znhIE2qRktd{gg1CPB_U&NV7WB_V!ZrLmZ+6!t ztQOU*$=H;{5kz{u7np5w8Va%DsdK?lr>a?t~Td{(qh(5MeNe>3gCWu~;$>me!v?1zx z90?k)k4_p5Z@cv;f&@Tb?*-|af^$f=zafzuF=zq9J_=-SdA1#qsn0Moq8v|*U^G-L za~DX(wsMTf z=-M~Mp%=x(G?Q4gB??ne1Mh>GvL<9B@Nn#2nemEIxL;*>e9yA~Mq zo#v;a$p{i@X>hlMSy)Vea#CAd4|ZERT-OR=?%U$or-?AXJd8mQ(G!HlZZ|O>l1>1M zyug7`s~k~oUJZQ5@aZ>1f=Y}YYe|qCs~!TQ;R7uNYx~`K1^ZRmpwjoK*+^~iw3cKQ zAfO=AZ8JZ$F+2~nd^sGnJ4iZqPlplSHW*65V8f&gu$zQx>`BA+L_px1Q2QujN}!H4 z(aaH%E(vxZ&2cb0-W=@P>l)XRHErjYnY*Uc0&VPK(l2heQ838}C(Q46f@lI)`Upg` z8<+SS9MdGx1{;1kWOx^A9TU;ubc2eNO}bO=&Mu*akYEIEY;Q?J?r9kaEh^dl;FbO- z3Lakcy`bh7lQ`fD-HC80I=?P+9MMk*p#$tJRe>8v`KfS8U98VtBs>K!(_ITHw+wPFXR1t#PHS3qgS-*1O}e|6>#z&3Ss2&66V@Xqw`YJs@Tndg1(e6;Lud zDT_0n7HjoDkw2><7)kCprWn~!+&#hg!K!EdAsmqD z6OA@e-eYuKd4!JK-YGQXB!FBXnXKQh3rK8{E}WYPCWlqQbU$}+LESuIEkH2XVGl%5 z8MG8c(>9d}F5#1~`niX$37Ar8(vYy1glEH%6i-IIc;TGWB%2Y519V+Uw@>)2+(%$g zi_tN-HD%aWt~_19oHDXI#zM6fJ8b9Y1GjV#0vuG5^>oQYgab#Y!U8@Bz#b^(8MnZZ zRxw60l@8zP*^%iazj6=8BY0yMT^zKB`i(?dp;Y$53z5iERj5zew7J5*N*xG@oG<4N5V^#>fu6z({q9GiibZ2a z=ZqCh8*13RPxX$}En1S7kY0Wpho*6zfUJbM!!a?I2Mi86v|x%ck58w$mrw z@cb3Vx4eblc6k2NE8D5zq^-zEQxJH?Du9r&gxy~0uOU9N4WQfnl4#317UtFc_i0k; z#ed$;Eq~((4SK4F1bQc1Tajf;Mpj*T#fHw~sxXVjx|~~cIdBpk&~D9+LpLqo^fFY+ zsl7r~tOP)V%%V4$w^}gpUVO%Tf^b@G2v&rkh77%1v1bBa*`)cpK=kx@D$2T^h?(Q5X5qfw4XZp z_NruP4k5=e9mf?k*08vdoy2hTINxoMh`8fwNjiJM0gpmlTLwG=$(E{szcC5#ls9@B z1_q*cAnhU;4pP#Q!O+M(V&vsbcJRM2B2;*=1MJ&#Q0OU`X^PQjPr#xLg%u(>BXAaR zUEVMOoP_jU2NRo6-tJo*hm>3%$bZ4Abuph$ZtqD&#Y(N?$1^eoX9`m_a;qL5>J=>1 zhD`5!;lf-pqI#9cNN3c4qcAzRf(GyDXc=QqwFw>Xli1!>S&)Und`JZKf~w;TQQFB@YBXr9P}>rnIz6MUkH6^~9XXNJi%U{WFiE z$}?@9uBVwF53s1ZDa$s7=4B6wwt{<5ibU6eQSpQ5oZt#6bBPkYG#L%1Lo-bcjx9|k zdKAhhS%weC@o^E0j)3g8LOVoT!zY5$T8@ZA_r9nDf?9_csAt3UVND3|9xCKs_E1@+%Q6wjYUq6`^8{olm9Ej3ux@_nrv%j0!C5c!Lnf#QOdNIV98 zC3X*A0x)WS{%LN$mdH7{7Nwy+pUV8w=$IlbAaT(WntaTYrV5igMMCbTuw0mc<$ zc(4o|Du(Pln^G$?*tJIzs<0>40|!ZMP#6gu`7~*Ty1qdObDsP0RBE=iF+uup929cs!9wHzcfc2_b!fY2b|oIDYo>oWn`_7z;r{@oLV43I2i zNy5fqw|(KO3`MOf=y5q|Up(I|{O9i~_fG@_zIyeF)wFKL>I_=#1fLKxw+N0DPVW}| zyCWe9@87?VMQ74>umhh+@bu5Y#BA(Yc#C+}Mw&dZBWUWsB7Q9!I{VHOwDNmjkX8;) zLqK{MA~luZhQc>vj$)gG6_kaBj+z?TRxe;5Q)$S+O25?baHMU|IJTNAO`gLcXSiPw zoh=bl1o=53%dFqLaCY=Dd<)VIqGTws96n>*i23@a+=`K~5p;w~!0uH+SSgctQr-&f zHkKAT!8q{A7b^fcwj}UMz`lK};SZQ(Tud_Fw<)6}lsB5FyUHh>5?@6lB#7K}GNHa7 z7*FX_ASl8lxCzlVNY+`GU&3k^-eh$peKOGEw}S{mN#a+5Cu&Y`Y=`Jb0<@22%ZYgB z7n71!A1vie#hS-%*<5VdIzErHZ(_Jgw%%-HbSS7Q=7Qeg!-v&sd&z#q1z}Qy!#CJl zm4Wtfk@y$HzMHZ;RMHM6s#}C-+IC$3@H&7{X{T5*MOpv;e!2wWbwYD_F}MJ29_}cB z$2SsPh(=VxrT|p~^4ERL3c$8=y%?TTj%K#kPa(t~;n9c_$tbu4?-yn??iaoY$$u|V zYc)+hf4ai9;3ghs{ib;`mw^krH}R{1571V1(L40Hh-@M~s%qODe|zKNV&tjAyo@6t zZ`@ci{sAXRO2wqq!kAQ(Vt>V`{g;$&Z6Xl`&^7i<5Jd1=Ch|dT8y?z&;$v&a11k>! z4&+HyLLJb*^bc^Ym5R?Yj zKErN)EPR3UMcP&k`wM&hM0?skGGdRl zlWBomEEy{S(7xt{iI5dvw3FKSiYmM(<*QivXHs0c}rwD=B zPR$%~`3$3t!@T5y1IiHEkX&3mb%{yuErn)jghEo*Y3iEM`>wNpJ61^XMpk!84kFUsXdVDmuI-;r7Vc0REcy6N?}Mg z@=^@9qQV&21#X9gKca%#$S~7>fm&%7{^Rv{U^t`0L?ZUXN3M&L`$nQ|z7?-(>;94N zsgpi8Xjj-?;c7Ngn$w(f(_zv$sy_qI&nM$L{$w1dR4U1R1Q1jzGzS-iADKZ6%RvY0 z*!K^87t*3;G7fs=Qz(Iuv@+(78GfG+Hf?|}R$3aif_Dj9Tie-4R3aoUJi5&h-2ex5 zk&C*I=vCo`N|=Qrf?R#^hOnpViCVkhLG^~dqzq(SH#`$h$Sg$MJq4$CHGu4auxw)R z#x7^!SzL4%XuOXFt>y=OuW>Wx7MkK&ctd%>ZC&Cc`T z=G@AR6yvR5QZ0zX2*BDHtUgw7!&-+Le~^XBnMnSeyEtc zj`$ehl>yjXKlg`JCQPm~9%`vPG_i#8m8X4}hmye!m%FPg0k@#riI}m4hBm`t3xV1Q zK8w^`gc_a2oXzdfL_#09mk{cZg^T7Jfsg~)=MUdyxnA*Z8x@%QLOzk zFs6tku1&JJmVxsf&~8ER$!oUr+5`IP*5~gxa`09+_he^}C0C+sXq*cMEBeT_HI-N` zc!|;yCt*2COQNhLqccIDyAj><V0?piS1r=rALoWeCMee@w{51GpumJe1p~A@X3MkytQz_g#L*2-HK&EJRUEvqWPs=56tfvm~k>}#yLIxI9vwFeu;(R zBF#oFZ*D_cWB|ypuP&Am5*H7cbqs)eL;tXh3m8FKTBn1=tlVg98->(+PIRQ~WH!mg=ZyaQIdgm*-`C7v@#Gk~er?W!M}1pw-km#3 zKyF0p&Db8xXneb6@l&RD?Z0aqfnthsyW-%c{>R<^F@T+0ZoaYcS1LbRfzgDz87sAJnpt_{dkQ#V5`iZVQafx8( zzVHXB@h0INiZ^eHQ=VbRQ1!R_)A@jgf_0=G?H3ThAui6El$3M>QyA)d^@*U-$j*3p zVM0JU+;k=JOvh zB+tx>o$|m>agOHc2o2^hsJrhm}&|!Cy3$k)1Lv=|4HrK~D*UG{3FI zjP2wV!D73zupHLp@ovQl=HoM|5*}&)ehjXUv?nID=oLPda1cVHcn4=!Y%MO_*GmrZ z{bQBYnUEBQurX@bM&SJThEg2Cl0`T#>sO2}VU9Y3R5_QvzDu*6^iEe}Zj~?lgBXpw z*ncQ7easXmU&y`A?4^k->61j|rLmv{&Y4XVv73zP`Svb7-S&+(P4~<1;$PAUytn z(>FoZ+KokUHNJltg%}a~SFS$(pPTUR?c1w}KEVue1L#8gmt`nMzvE8MyMs>}-C%ab zb<9`7MnrF*JamxTW1@H3Br|Hj_G0$5Xs;vUicXw9eH;hXYxK$SOSP_E!CIdbq6@BsS+2NrznG>swr^HQaJy9Xy-Jxo_9)Lvr#1so!FX)3A z7=k1n?L#N0hCB{Z5G}kNmJb}O>1N0#77DjB^L(AdYMd^TDQaJ7 z;d;Ri11waBqkt^g6gH*}(OHJYnMjFRLrbo zi>t7eJ-{N2L@Vj)?*1NfZ)d2m9ympmS5=ij*ZCSy3f%o~+uGPfL`42TpjLy&4>rEd zl!RNBOS$wk**0vrgABT?tgJ8M7t=60YxCO82aVQ3LVpJk(3|q|HE3s!T)w;)>Iy!X zec-%njH6Qx60_w&gsD3UqO9y}@@??CZAP;@9Um=$E8W*oD1~P4KA?#xyiV4QUsN#G zcOk=yOHNMON2M+SNB0($=NT21yVy!N`1u*YD3{>jIDfWXQ(?0uV^UL2j@Qd}H>4hP9FyIKFQN7SsKwvQ%oN6}y@rj9=vWr-;ooiZ{vm&Q)-)*PJ)*?(Xh{1o|xoQ=;Hq z3DMM+?Ck8m=5%fpQ0EQ={p^oV{)SP|?rkdg!6kg3yX^9M(yNVfR_%7nZ%$>+ zXvt$&*FN@CT+yY=mUY5S;;a~b4CtkjhK4I3qYFrE`O{c9U;jm6Cw_VGCyLvnCa$%@ zE`55D&%T`_@0@(q6$zM|U*iA8EWkEVOC551EMD%)(f+mZDEXZDWnx7G!iD!v zmu`!&=vfx3NPE_fMj)r3w|sxH!9neLHS>Ax%YP;|h%oLZmzaF91Wu++{oE|M@mrjW zCM8w#nXli`sN`#!Nu129_D4m0PJ8s6d3$y6Z7Z5j>)YjICRrtE@#)D|42_-m*owaU z9{0DbmZmTi>8NS_I=;(XVYa$BnfAB2Lj7g`8g&*LolmzbuWY&Zo@ry7c3{!pw@EeG z&eG9PJ=ZhIe3F~yQ)H3O`8$DEMrZ`Klo@Pvmapxp?$fRRvBdcZ2WP`7x%9UT8rM#r zCs%#(_d55LRNU2!chO{WRdFl2qxp=}{*um94L?EOjnDE9Ef{TxXJ%4(KXflr#qBLu z7vF9`(`Ap2%Y#@40Z6i>_D}vodjG z;T*g zmPz>i?q@V9^E14@#`?E&ZMXh@`f4*vqMq)ANsZw?sqy94wAk{*-LBSbe5+t_CwMp@ z#sXo&Cdx*LK^xbTQquj;M_$jQ;hvMSdf9p(nvYWZ?qu(zzZJ@Uv`Wb-MeC+hztODk z+%^nyS()@sUVWWK{;GB!<|Eg5&;9#G?%*tR%d)DW(4K!({b@Th$1C4QjVoCmC3UrC zOhzbu>J#|d*eCEuSWR_S_`)U~X1X*MI&qu(kG}i0-!-z|{i?71?a~Gba2%Vdcd(;> zFn>hnF6#o{r~#}f?rltepNQ!Q8YXo*{8{qt@z3CGkNC!0l(V=V)z|-VPtz#ARYIs&`XKKn;RXKvEU;l9*!{_bQ&Rxq)G#D^u`Ep`Y0dxeU+Wirwvlc~~tTARg=t}=EYoYF^-`A8Qorry^sD>Y zp1CZseJ^zFy!l-^s)_h1gZfnDlOdY~hD^0sX=*$IRls9AQSeOU2UR{}mbNeXEnS`n|(w_#iCw4iERlkxs;ef|7)2n%n5R<0O_8$@RTESdVrjU4E_(4ifbm0ey|UJf3Kj-WSxN~GqUQ6@Fo zhkqH1mYVx$(t;FCP2TbL_`6D()jzJCN2BP)RqhB+2$f2lTe)NT`T2%qzyp+TNQin8 z9Lx;^&=cV74<@rnaG&j^snqMi3kQJTFftB{h|d0lc1BzJUPm2=F)tC*F&!EDge#B9zGoLNr%b zz>jw-4x~3Z`QJeGK(I$(6XfR+$HEDWpO_)E#w(iZ4gwZH6Y=O#igqKKUwj;h6??|k zL0}5DX>k$={#jW~Z8sVXGJ(U=);6={xJjy8RLRGo=?h>_zns<3_;RV2k(4~BeD06Q zayxPdb=Y~cvf7`ibbst~_u=a&zpWxe9J<{?=HKy)ND3Z}yj6I1-JJPj=~Jy#hO-kV zzJDv<@N3?1YVuCG)zx`Jk)M@@O_L3VA`*KQH{5bi^N?cO-?D8^FJoQ%KJ7a~<&(5R zWD>jFggh>n?@&Rk7lB=Vs z8AOJ|WVUU?xA`ENT1^|3y%%s^70n0T(u$PejaA!pT=xfO@W zK-Y{pU=15!gG~~~CqUkTQq(QY7W@7uixkNBo}Nc|r`QnU7k;5ue;6FB9qMoS`%t#7 z)9hes6`2f)+8xgz94t`U#-BQH@NYfMH{2H3Hzqb!<>Js?=f(NZq5p2N)R<35=#A-# zRSAVJPZYmpnwr#C{{A(0ua$w`qru={szX>4cXXJ$x6kQq0j>-y%rx~4OZO?v3Yl~Kg2z+1}+>ew4V$zC2FwdB*M zcKc|3Xira!V8(mkBts3> zxl2hHRpP`9QM~p!{&CvQl22pnSSR4zJv^Mmeht?4G%ZOmuE5gaZ^Fm`wcf>4FXgyV z=UNCg$KN`F1R?_E!|zv-fL`X*rhUK^*zNmv*lclFm4F?KKez(jtReOmwW0b;0vni_ zcTt(6J`jtw4T+kT=6Z4fns1eW*E`n&oWp(!NQlHLoy18R-}WF=-r%7t30cNm(uj;s z$g5LDUz7g^yjSmtY%OJm*b_qOmuo+m==xu59Jw_qW>e>(7=6}9vZ<-*+qZ9#Jhc$_ zVkRCFgEu}=Ot`mVv=69TO@+0piUuMn3&grgWiDhTcPX^Jz|leQ{=v$oRF|N ziQi5lIOf8AWTQYJt%o%aGz0Y6b(gms_w;!>Q35Yyu-S!wwP}3&e&tk!e=npT^ksCU zFOA)yWYrV9`JrP^pv{s2Kc5X_S_!kgFK8RE#9qi1N2)x$$*W53i7s=VicJ|AQkgn8 zXx=myKeS;kILhj~`h$y&UPD5w5=Lgs{Y!V$jCMWi3tpArl9D`W9@N@D#gd*2m<~`* z(ycuOH>Xl6+C;%!5UE9J;-GGeB4pm77JQor=YMX44RyZSB70*>V+M+actaw=?iM0B z1$bQRQiyL6NON7>Dagm`2Ur=rv6fu*k~3q=-@lh(GuTc=ImLl?TF4L#&CM1^CEX>a zILb}VpIM}@RNJ={$EXU}(+*F^Twb!~HhC^xOW~M$p%{F~GSc2l^9ifp1&kx7DtiyU z+Ie-~Dze?=u6RqN`BW+(JLTxMr$sDa4Y3$D6TUlyrZ%OY?h)cmBsF7!3|hOezO6bt+qH9Q8T%6rM~5KV z+Q-o%`Xl`X+w#iJV8ancvF{!4Cd)l`Xk(`lV{hlNJhG=d+PP-*LLsNf@2^Luw0kE_ zS|@OD#58K6NV#rNky?zI-Fy6+ax>D!Hy(dJ%^(9YmufkLDVlWaUP&u3YWO>^qEb=z zs``^bVfK#P)KMT6ExvY`R#Z2IQW^!rSwlyno6)+CM^I=CM+FHZ=pTLpwyGt6_*|Xj zpY@Ys2?+^nDTHsaX~yY8Px%9kV6ed10t<*#DR3DZ&;*LxDEx!N-d!nmzc| z5(s1N18&M4+AMHsJs_oL^(McNW!9;`Fdd+ScQ78bMgvQ)uIdDX+q+CMon&=z|FH$Fh96f(FyylX$krA@#$?ST` zn}4oSif}*zkhqkpgDABMf#Vb5hT#YTjD%87tvf0zstH+ICv#D zyb2Bvga>J7NFxbkAkB@VRg4Ml(JFO6g0!`D=~58?W0;L(9m9S9td9+4y~#h)ROYj6+nE1rDvB zzkbD923r{NZN3V*0dfG=W4$M(=%50}S)DvDwtaii%TI91))j(nb;P5orr7}+@SIRE z4F%rTooQM_W-ZO|Z2;j}f#aH%QvBh=d6EZ_><}|?&AsimgL`hS7)3+(w$#reTFPzA zer?f}m0k}-4Rsx66s)Jz2~#yT9LmH1jm<<_V;kn_Nl!wS01U!%_ojb{-fz6GhL-XQ z`9QfJ*&l;vRTW8&(A>ZWW!m*#?G48#6om?>DlGUQ5kdgaHkj`3#K*_i-|X&LI79gg z{(1$4)bfJn!5lLds9Ig!+=@{P-A9JTS0tVk!whs4R^(YQCh5TmY0TAtDh{J$Y?}K;O-9@~FXLt6pcV`v!X;xE0HJvGEeka9T`$(biF&iF>vY-i#Um-r% z92LW-t*hqysM}e8UYjj6@|bl#ueopcj-C&e`|^I%B>C&dTeg6YNVv7W9kRXj?h2zZ zvt&lDJw+sili=A3OOOdi3!F2~Qak>j)BG$;02w`$Q{lh!i44e#Um#CuVzRD(!Gn}; zqnmBDOy6;w8D||01=&opii(PU-HwiquVME_?jj52Dm08Zs5St55Hy!k^<0%8Rth&Q zo1LGxcZ6c5+q$@<3)*GC?P+d5eZ#}W6=x$x)F$(D2pBa$*e`*9&B`>_)d92x9uQSV z5^Gfkgak4Wx@rLF!g>ZG{d)tKo0pFdZE6#2CPpzcO>b*!87YGvv$2mjW~wd;d{Zx+ zW=0S75NQ=iB3X$vC5=}GG~h|d{8Q*9<>q!h;~G~z?FdZ{3)CppSbw7XyGktq(@RUM zZ1U`zIZR`4=gv`=<%UytK5yNn(J{Jo_0#qhp}riZRdSoek2?`fkq3 z2jp8hYTP7U>+ZdK5ukM_x4~hEkJp`5Yn)TDJ!Q~_&wJzy(=x2x{zS9GGRnnORmsiX zr*QgGo*CU-vwC%Pq|6$@lgiroMaNWBm>@5?j}~h^NpaZ1c413B9Eb;CC25ElKNJNW z1G)0x@4y>y;HfedltP8Po96sUoq8iDv7Cjq%V`mu?u-rL8TRwd7-553=>jPH0->B6 z61U=3*p>9ha?5|t5c;U*P=3fNgkT#C^)hP|4(c?{Jo_@ZF823t_d8iGt`^OkB-ysz zwX04&F@1~Y)5~B_x{s2cZa>ct+K;Zel#_p_X_--RW@i5HN^S+0*I$pir00)v5FO_Z z6aP<8xmX4wVIOe)3aHq~n#6|x4l-R#dGJKA5hmwugKnd=tSoM9+MJAH6NeTHQ^P3G zB0fSU$(wiYqGZc6VA!6UX-ueboIYG*t@Nlj$?t&AxSa--Ax;aCBE-#B}k}1~%fU7Ds>sAB+1R1Y9Kc zK+~{{@)N#rZHd-4h+M-!s8hxRf$&5r|QK(86RTBfO*- zI@GI>r;j_NKYqLhtRfyq?f4^<2|TbHi1lqc@+Df{1pPvGxK)eb)pZ9EP1x(rqSrV{ z_=};0-?lR&IAo)Rn$Q&_u+K_f{dyP!ytCRHt$DlZwP*)$7Lmspl3^Ok#(f$FW9$2Y z%CLY;y_cNKi;5_rJ+Ki^4*4yVS7>p@r=+k5c9H9zZmN#$wanzV%D>6r9+QsG6qUSH z<}lCk1y_*WF3fQvz-JhMt0mSnQWy+?()PQ2a(<+A00A$Ui7qhz^MTZ%Gz*r;-JKJ> z`M)#HF!=XK(T&s5|A)RWCaStR z#tF!UuM9s(9y;K`x<}A3TR0zenb1cuz`9t97ob4C&gei6kl%&n3d!kPn}elp`d{3& zW9q9^M6F4U!zb-a4H@w{37VfYCTf+R-(ZQz*IPdFhc&RgtnRQx>u2>)6m;VwWmQL# zP6M|4l55M0C{`C7c9HPx-T?epfBY3+WwncKf-6RNaunfW+0BRuO5&X)7I-N=- zeKp1asCEAbaGV3?jy@OVwmjgjHknmREGLKwOK&(ZEb$9FE{3XM{ zfPYs>oH&QTk(@-oXjsF6!a#>U$g>GHdMXv)bgyj+JU5l9HuJW;TpkTV{Wy}hsL%^BFU>HTGnnHIFq=Th#juco8ZU2{-E*yh)2)HG@W78Eqe69yFs-{>%&y z-Q1YaqM@$nvsA8~|AIYEUK zecYj>w5FYZ^m38Vs-f&-)EU-**9BEtehyz_7xon1lG53IFPyo`f2jUPGf!K0fx_zp zH!RZx=od7f&aIEWpCLcF+$K?KE3$3{P%!<-wp+$Puk= z8TQ12lf(UixUc!j7$DU8X`H{4<;F?%BydBN7fNMBNdd!|a@uidNqiV$3mjLjTzMF1 z8`xX2pUrmjIyn~>N=bt3<_bWj8Y@hgk?rze%LBpH(a|v47 z`U6OJ>BHKmOU}Nayxw!TX=|S0t8K zgdGfcYOt)BnX)1jI#0_ zOgu9g5WVqpJJdGyP93<+Yh(M@Se^g<>6qItBwjVlP05M1IEW?M~i@YgqVfBSX^ zI3iU@Xd}r%uy?<5y1Ru@VK*bmSl2sC(sS}T9``5Jq+VM4p^Y7%ikZPXCMHJKqC9l% zaoJW8Q8~{=JRY!oR_(7^4t^{9pL<0l{`eM)Z{RSUX7}P)&;_xM#>kS#6!QrHBEa>g$H-G0ejFicKCThT9}U2e%^3IfDy{(=Md?$8}B2NUEz- ziO)S$Ff%MhItrm~G<(hnSCn&{s)w|0P;U={nBtu1H}f5KWVADc4nxhtLmvr$6$f9S zRCNW@vl5;IweYSrDsInm>dAH>9BSKNw+abxGQ==ac1eJRFbpI+L(~i>k&sPWC3ra^ zA{*~OJM$g{oyLHD-=>?<97=RJ3NE0AhlAqqi4!Za2`qi~?fD( z4oOLNoWA!2u2v5d!z3 zqxYQJ&8X)%t{Q?!lGnkI+TqLQ`+?cUGt#f5idKdOK670nL-ULRU8&oY@!FvSn;BOu z{aW^m-ZF9Drrn%;T&q(eocEp+7SEMjT~(93qp)=;fAEeMyH7l1c%-!bUgM5?!o#H* zcu@nmX9!kT4OE;$Du2YC*B!uiMoK#(a)NqCRkIOtiC@s88USRyfgXWE!69+jlU?FU zSvvp?sQ*+tyl%yVPCti1UpMekX;j?SJ3#yh{cpJm>N-+}!k`$dXaTOYKA4$qIV~(l zx{yJB1s}PDLJl+C5rlN}!(&7GY)t9F@p1z%QE#Kov~lBk?6w51h;QANc~(vBK6rNA z$7i5mkqo}#6;y3`@C~hNwBx<7;L>i`yE{FdW;rn3_CCVXzoBA4Q9w_+@4mji z59S2;L{m(g8L+T2vBou7_xDvn8qrjsbMDJ;M;`HbEvRUB@r`b;2k_=CFH;6Ml>|6z zE-6J`^43@OIC_>rfQRKo&|$aTMLTb6(wtf{cF)K5ngcSHP~_ShKmtotb1;}n2AxOsj95J zflN{1VPs-jinu^RStd+Ihu=Di_w)+`=FS8Bxq&IR)$j%2T7Ls0^d-lJ8)d}MgL-@Ar}MIECpVrt ze_yZWnDhDkS1Uj5rY$~jrFgBYrt_~-;Zu4HBDXWwBdwHtHJ#h&thsb~D9s~T+Jj3U z1=hC&x*2h#$fqjB)f^dYZGC=e{Pss3@1hOPB1W4|)#TZ@l`@<%`1`XAO*@2->ugEe z&G|_A7oY8=geR)9{BJoaOo`)fwH)6cOkV2s*(&gQ!u=n`4Pwo=A{Tc3=OIri_K*8kr==db#?nTT{2O;yXOyxjvF zvtmxhT>_8#*xxh!qs_YB=Uz~K)byb4h3jT_8`ihAEUN7mk1N-Zr!QY`Jxuls@}kyCGWqwrW$-?W$LH@WK`YF%C?Q;YrSEnB)<{vQ(I1v> s{MVIX5E1WGI}JQIt+PYH;U&0ez0@A^-pY diff --git a/assets/images/social/changelog/0.10.7.png b/assets/images/social/changelog/0.10.7.png deleted file mode 100644 index 1939bf476cd25890d8e466858552aa837a127959..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41404 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 diff --git a/assets/images/social/changelog/0.12.0.png b/assets/images/social/changelog/0.12.0.png deleted file mode 100644 index a7dcbcc1eafdd4ec3edb1b6846c871b9206f6f05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45579 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 Sk#i(Zq^y*ZWain6fBX+%s34L6 diff --git a/assets/images/social/changelog/0.12.2.png b/assets/images/social/changelog/0.12.2.png deleted file mode 100644 index f810ec6e0f62aa7c5e7e39dd7617975975a56b06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54719 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

    F3DETVi4c(l zW6_P~D0l%Khd!EQRg3%#oLAF~zB1pEq=~+YK-sjgD>fU_0UiUu9H!9~ zE^AEIPNr%hjjl1kDbvx~ov0jR2vO0L&Zt?2rF)@n;v>TZB&B2b@YN`jIHK z%{iOZk0QH*c3_uEe1y)PlQIoyrrCB8YU+)Q!JaiGq@t6om{x_XOJE~ITl!j;{rmR^ z4})B&va`PlB1FYwdB7)&)~wgmBzwklcI1Nyb3o60`Wl2^cH+~3>Y|dj))`8%J{Wbo z%G#YMqdX?{M=7G{Q2fAmS0FH$ef@S!dj1?z`Ut%;_`{8wbD*m)T7#Wo~RE&7!;&7+j>6x<$rquKY!fRKkwJo=9fBiNObE{6!1XPH)>`T6r_ zj?0is;33pKDk;g>YQC2EYq6-W--Z#iZzt4Po598_nXi6uIF{T5CCTjfWC4)0KH?sQn|JY*E>ks-LEFOLf-*o9 z4eP4{jY7yGhE8Cd_V_*y6TfibG9WK+Ydguvuz1{DVf+6jnOVSJ}R#y*a5W3#b3F=#FvG3X=GNDIN zC#q6J0PBf9P2-P6n@E_d{-z?LgZJ)o0mW(Oq;d|c&0p05t`9b#^orJMW%yrIQ}v%@ z<>neSAKAbEEUDUH^z3yEJ=3iFWE_6~IO{(4^AXE;+eOm1PowO;H{FEXV0a117#v5A z=~|Jc`H4;ChfQHPc_Ayda4pR%K0dxaLACBIlWJ94nhS~=*cvJaT0m%72-QC^v zEo}fkFdW#0bbw2@>irg^yHim(t$Uppl8rYSTuuAC3s4Fwpk3=+)|!6fSIa3XOdCqG z3sO&h=L7&OAt{-PS5V5aF(&l0;oTEpHXNr0Ska-~#Pdh_ZPnK9pnnUygk6~SC|4!Q zM%$4mL~OL*o-(9^y$l`(cXU(wK+q(1r~+yq&ohV^)Zc<`OAGdG$r3MTjUTL9zrA|l z*ki4`byUK$B3IW9=~d}vK}Ug37pChBQo$}nNCbrS3kcy#nH@L@gs0t9T55+PTWe<7 zloY1fYYxfUkcMP6%)|X*$I+{20Ib*n^Xi9A+WfkzimnOBb5nk<8`@CFVC`*Qzz#j^ z4^a4GvDTaL$K$D58D^@n+Jy!8Q{QX)A5$bSkLeQasWq?Rb} z%g@i>$ZQD#FL+op*Dn1Ag+cvS;`^Rw#RVwpN$T@skSOr|FXtq59h;(|AxYG{5#JbA z2Vx2gRx;HHtfqVAIu|H!sa8FbY^b7!g;iop8sN*0tTE^jhHIn2%o1*eteo$o2YuT$ zpJH=UTUrqvs;kf`s(^|G2Dvd!$XU(a5u$VJX~H*?mJgQ4oig?AFLxX=n_L~>ys`Y3 zP$?9^9`Kz4Hs44Wl0g!Fj{T^`uh7`PM9auC{@dVkBGof3V10Q_O}_AC>o|a&;8FHL zwCl2;i;8&7>}_rR0q}O8?vvuqKLpW|DWjyMqyjzV#;|SQ0k;jnkLEP}Mj?~HOZU8t z3>_jxXBc0Z-lA+q8bIuAuuGQI79_gm0h+D3_OirtMm=)sRP*oj6fM_T0|MuCyN0Q0 zm(ub9-|bXih(aDr(;Q^H$?5ozJ8{)B&M4&{|7x)l3H3!g%>~7bLuOc~aDLnaSk82sgb~U`{aGf#4p@b3nu>8^s)l$76KXr!IuCAY zi033cK}v7eb{#x=^m0GJKsca*`zH`jlH%gx{gn>jvph=Z>FKYbMGo#Ft-AY2CIJ60 zi}Pq9&38E=PX>3n!ph)oRs@NSzb_jAsyv7{X212uoyX7EyRk*p!|s=`H<$EHU9L+D zGw%5_?d|OY=;?wduDm?{sdG%gtofB-Bb<$9<<@{sIW$(}AJn+2YU`qR?*M`=7CT&N ziTkamhNuemNobN!yF~m|MI*Bp7HBi}H$nfeKUGhEfB&RQ-!By~K_dmkQt{fl z7vZCs@2F@kW9n-0uN103K^RQ|w1VXa6e|qsRP3r!4!4R|wv`^RAqDU43@Yk!`gPl@F21viLH!6W!C*8b7 z$^Khp&YGU;J<)W9j6K~j(}%AvN^%><>j+e7$yH+>_j?Nwm3rm#T>GUcdSy$*}$ zmkdu$!+Xi2dFJq6Lh|O#QzCcGm>uo?BT3C2Xw6P5UbWH9&20*;dK^kFloW#svS z%=zIrR7}x18(#tx^Fa+v#>k(tvNB>b6DVXv{MCdNeLo=K_;YYD-lB(Kaw6h64>-jg0*emh&Cx19kokkqs&b-XKFo zssD3TGM2DMb1zdb5&V5}26Z3~N`773Ia8=PHicWG>N|>kzO}jx^z=j#TqsxqgzKM~ znW-?7#HZ}-4H)Ctu*bg01d`~v6DyA#I&{I>duY-Rnd{uSb2f}YJGMCB z`8ZTlFA#+fQRe^d-8&oFER800_38_o;qQthd5=v_)-%(HZQ*45?V`9=7RA@+Rtee; z_*oQUr3p(<+K{a~cCcz`Y02l^z7-34thLZh8vu;{%YZLe6^@}jkfcz1 zdf-a(5wf=+5Ev0g82m`!5eBcoaNsdwm}y9c*XGgC_wj9Q>SYKD1;qJt&qTR>!QT^f;#wOywC74;VD;AniEn__+L z+&w;%`pZ}a9{#|ZaED$dLd~FE?4K5aSS1~LN^Ws}LKY>ca@#N}Ibf{tK-4nv^ISCw=-TUjObn?)gg5G*?^;6|v#zRIwirqQkv zuL?xTaKNK*P#C31j0r7OTSjSFx4QJ3Q*;@o^4*pSpzK~D>M@c-aR+DaC7ej}9Mg-jg-tsp zf&co```_E1XoekGZBn`4t=AO}_jK@w=@xCL(@_@E?MJnCFfbU}wj)*X>wlubrWD`j z>KA2y1MnwgY)V$=*9LQR8Uo69aOcDb_#MWNoSQ%IH8`}) z@$))$++`h~aa6&Q)wZoZ$kME%52dAgV5ST18MwjCO;A@%kXVmF#9%#qSdITH4w-L% zYsvH7Ml~9Z9P^f5H>a6Z3KynB6i1(@!J${gH=2vYEN;JQN#XkSH{j+&zvtQ~tECw} z|Bk&s?K+>8W8LT3pa&ZDw1PJC_AMS__HZ%Q#`dlK*L}L<=j6)pr@tEF14q=(1(B3S z){`O{#gaw#}kT;0WgC z9qeV=Qpu%5fouA4CS`i@&!Uo0u5nX?_;ziaNdz;vngCIkB^h4?AW#I7;2^;0@ui7j}$rA;Cv2? zElm2h^_3@toV1jL_1U&+7&1(0h-E?ls{{@L(MbyrW9a+q4~d%8e!|H|uG{34&hJsyW-+1T-XZ$s!@?Mt{Xg_Qq28Pot{60FKZ%;X+VfvU1!pZ2T0W zjcVS<%qZj#MG{rL)oKYRdF^$gE&}v50LRg{xw}cq$S8>|&8HEtFfZ~BuF|LI#n`yj z863F541LeGj``$tITmi3cQ~w(l(#c{#UmBlx<{kD`EHdwuTV-rd@!&)FbE#EyaYCCWTgD)V0*Jq}|JnjQBso)U*z z5O19}#r6=&mP!3PIrr^rA-6W+@=3P<<$AqY)OjSkuO9R&Z@x$@(b9;+ z?fg@-1D@PE**Q6J2*N>&KE#@TL_~z9m!jC+3*J=C<%pD-Spva?AOn?hx?pHHUevTp_2bqpfSGU9GA$B` zur#50MUu@Hj>akAv3T_5r_7d+iPbpOK9t4@n{y&Mzyj416}IlX3LK=$U~;Q&p7@QX zdC>C&D50VmJp%90x0^XG`NDVrK&l9T<3?4+{+gRM%cL$`L&f1#8*&BLwn?bc{0Uw* z9+E-)uU|LfI~1Z8wZ1vRo42hDRgF8t}}(U@`U0 z@AVWR_=mc>{&gOlRoTY1w6ysY+?mCZs0drPZ$Cu1XVg)c3Acgn1`*+nh!AvJ%-bX8 zs(}h{nD~XzQ3?qSAAx2g8Y3 zt^lXW6ECkoICoI%J;82j;c&7Nl2_?fes?#%R?$KQ%Ki_O29#3)v4zr!Lg zsQTED8MrkDCxzD?h!@8$li`%`QxVYnqEWlLCg)S7Dv`L=KG{AeX)IL}4GsqjNZ&@z zmBl3`@j&jUM4IZ?{!0|(I4H*}QTnsDUQl|9(ZP2>ng+LJ;4+Ryu$~sFN(kr0l#J3% zO)}#4c!)9KuE8Bd7a0XKWFeztAd2_+c^4pW!;R}<7=cKvsCj#d*>B4Wk-X{erkHCC zqHoF1%j-_75{1`tF7`%lzVr0Y_P}kNNW7S?Fm8rj5Z- zEo^&#PU#yH-G`f+E9myoUf(fzfs;rCU&9DwW(j0MW5r8`TF@CLiV)2 zdhyJ(H@h-dn<&nc-I>Dy6;B0M++j#E#aR%8#z1r=qVF5BASs~}^|;Sdt^&)34UKqt zz;pH7F?*r<`t|EKe&xpgNJd+F)a{^w6u!x;)iUM-Ex3bF3n z_wg)~NGuVRW93;XqV}Wh{)LNk6=#{2Q7ceL^b9j8VU ze73G&qmK#*D1ouDr-*_yCNjwygULfu1)^Cuf1X2Xu|FelX1YGpQk&=ldoWT#rr<O1VDGUi>FxP2c9f$Tn!*2$TlGWihUTaVd!yu+K6r$by`V0-F--LX6{} zS*`x6mqu$@Ay_;4*{`vHbf1 zrddKlcZZI_Kn03%KU`t*?k>ctkHvX`6VSpRNWd%#G(U|4WY3$oZ-)cU2k{t00*(=X z&tKC3`d?57tO)4sTf9Lvz#`!XJXS{Jf9Ub4FfR(C3p^S%6cETt90w4>NJ%AM0@hm+ z#4jso_s-#APSjQSa@dI_80b+Dod?-t3>F;4kE~2asG3TmNw2Elp(O$Z$iF}w87X9s zViWbP)DkZ_Hjv0u>kI0l*fcy}F1B-VIc1 zHQp^jN|hOg>0n739Qt4j-bfOmLF~c+jQg?dfslZn$V;M?I7pOj!e-+EBl@$m_693M z*%h8?wI-_?s~8^u%J__s-i7e~(&Czw;G*_vYogXnh2#%%3AA3N1L7ah3Q(`yH7F4|H?R)#gH_ z)AUfyp1Puzls7;+D=Yvi;Zw@;Mh8b1z!^m_e%s+8RK;=*sEF28e2l;TQ z$Lb%|Z7a{&y^}-EN;5Ojlm} z`S~HsZa2IR({$#gW$|FOj9tJ7>M5Qr3s@e&l>Eq0$Su^Cb9!>}+Ie?+IdEdf%|ePW zB!p=K`h^6;{`ck?|Lg4=Pr$j*#_|KskCc{qVg?46Vl^|Mv_ERYFND z=@q4^N%_JBqItM2Oo7;NX@q~<2U{+Mk=@r_r&~5~=j~gwd9NP`-e!Y&q88$)L}78< zy}){@%%XAGC>Al%Q*opskUJ1b-Q)32SB`%0e|{*0<-{TfayO-7kH%(-`LF8NsYX?M zW3Rrx*Vao$0*5*ZwXIzg-`)yaP4^N$FCigJjQt(>tAZDbBPr=?;SNw~Q3A9Q>r>kIzI|#ZW0O_UZE4*+C z&huj>?$2jr;iu=ptp@$zpt~yqt1KoWV^F=uVHxs352N|D&+&!@snzJro&xu`^^Kz` z!d&I4A>Iv5#&mares4dw<|V&rz%yncfg(b4OX6|~eTa~TZrlb{Y5%aP`|bV*NDZdcPI3dKs@c>k)eI6vsuWj zff$RSh>}SbTrLpuHFJ$qPaZi(kg2Z-lKBN_`v*w_N`eFPoai#iR4$oGtHtDwF|si6 zgTUu%Q=%X#fp6{s8^APuVq&%twkJZcix=*+fZ9c@a!~DYWy0?gqU1(_tRa*ju~&*~ z+lPp{ug((vI21>XLOd8Z91O97Pb`iYjSJ4NRmS48KD0h7B8*uUWZLCGX5FLxxWsV2MZm zz(y1Yp+V_+3&aAC2zmki(ihVCo6&RxccC9@=`UHTv(b3}n6`Az^45<@LJE+o4~0`@ zJ{*!w1jBO?C}q;4>_(xMp#PPK@1(5&yBr^=$4kxb=fa zkK&iDSgkUjb{x7Lq2!dfZ&-NYnu%1uLTXRP3ABpqc{u-3OrxJAlWZZH}Lu;Pq_mw zqF&pUC=HB?Z3iLr-Oml;N223+2-r?wQ+YtE@_Jf0bJC+qVYeX%>L3Q+~b71q=Zb z6ijKUCXpF#l8x!jkiJsSCS!6ZjXD6-?PCXUVvnKin>l}1Zld31-}A?hQwEanEw7@w$22v+_yb31Z(@@<;3QXE^(ka&Z zG0TR5XE&hd8yP{qIsrwzSg85bHOMP?iZB-@+>wb$m)Kl}*N-WPovh`Q$ z4YP>gNH!p`*_4Q2sG%GnBzl}1#OP_~KPhBNsPN7dRz`ooYiq3c|Gcm3Oq;!J$)*h( z6j&wwN+<33jB76xfBia8IRo273!kf9o(z%hsi#B3KPqg4iLZM8F7u8Z{;_Z5O)#u@ znU$5*xN@paR?NU;Q~q))oFAM8=^ETX1d%jdA|@$$Ibkk=a-!rJliuY;GVd}Ach8J~ zS47x)6%<_po>C?m-(rA%cPcaHdUC8?P)37-i@f`w(ubS|LDB1s{dS-C8Nvk%GU39p zf=$3M3A-Rcgy)Q20)RROpt_$Hk0Lt&W-!P4d)gg?`l^lIL$^e1dS~^L2h}i;sfb1I z&BCy^61T{!9dNwWwFN*EpxX4w|My#-OmLH4YbJm!PqBk^jENre=spKz7F$NvrV4SX zfde1aFwr#sWqDLaFp>fBl%;v4Z+PJdo{*TkXgFS<<4*9B<^-Lsmth20zTG^^N&(EC z>?#BtjwibW35()%ef%T0H6Uftsjl#>J{v|<$xmeA(kj7R==wEQ$(>HX*UwUFB7-n zzvL6Z7)NE*Rwyz&&eBqc4j(SRvup)D`_Wq>d`E!NiF|4pLF7-+%=8hoF#C3I5W1$* zC+3VB4`{?JqwDPiOBa4vk`1rp*{gj+`}WUOWe|V?IKJ~eVlCv;?;T;^;tjUFzvk^D z!wAHap^2v(IWKVY7&U95M#q1xW7m4}7)q`xe>4df*rF=KT2iu8;{b&|orYH8kEV3@ z>0S(=M#7QHl)=a*|D}3%C<@REO@1V`4``LoxgE!}4E7Elv(1|}1%Ox^^sGbeY#SVc zI;p4fsZS2JDt~2dmxkZB(#c%_Gf7)bZ;J56;IK;&$0f}frGngD@~0K)Hjvn!VbcrK zjR2sNKpN`?$L~(5Kr5_sczenoGnD<{RUF#d+T_wDikl+#Gq;y}W32dxZ;vsh4BcDb zgx(Y;XVVN+J9YkcBzjvK8F~a!V$_huM9fV8P7<|r1!g52Mn+EYtSQ|7WPU*^JOIqW zZqXPKqUonCAo_^KeV6Dcnm7Iy09AIljYzvlO-2F?9wsChV5C}DgenF_zg3T+;m6X2 z@wFslI?buX){u;ikO`Gr_EmqnXqcb9abuasARpaF=|AgV-&Y-<%Kzs4{OV{r0Jp$o z{4LKn_APmhkFqC$bqW2?N6Q=gx?AaatT-Dh#6Bi>xy;_8(-&EkZx%qNpxB{)c#M3s z$$$o9nz00MYRBf>fe9-Z8GLnf0m5OJRIsK;GfJ)rF^qt{h72%V5&SHgwRhm(;dq2B z8IH%`4KB!0O45j>UK->&omR?4FngEWN2`0JEzLml<^g4^p(_BxB&5lW&5k$>09O5X z=Rx_lz@>itUi-Ov0KxF^O{HJ#z-8+(Pkc?N^+;o3ZCUZ)*3EVxI#O%i8vImtY1!_AF~UL zm>e!w`N(=8$nnM6AN0T|HDs>qZ5K<^#!;(0yR2dzAto%BW%igp zaFl(dhKUhzw<$+8!g#;2l>)1>kKD7O?K&%tNq}E>zR?L&Cf8p87t4^?WfYJ0pE8Z} zPniZIW|DzB5(s^kSh?Y5^!gpgZe*~CxwiJM`K>}w0vS@J#$dths-TG&>6~40BnWg* z@AX$?;)NJxleWFUT_YwrZc~**b!*Ifa4iZb8ea&_3 zED!J{LqNnk>0J91RzzY`cb)BF^!Qqrt2c=AMCil#i4Tg%F+Ol0`U6D&-H&yCDOWmtA3(GDGH=8E5g2PU4KG|am-$I5bX z0wfsbYTadL7rp%DS=Qdu0qtRr&{*BPdU#HDtWG_C1Kpj3r+843gTYXBCuX*nr^o`r z(X;DN!bMv4yNz)njL7&CB+Mg-<_wzi#g_u+!HB|Aj9(tm($Z4OZ^TG61Z6Iqtw0)cP=^rZ=|(88X)!t zsFK~Vdk5_zmvCU{`{3J)&wb!S`Fnv6?v1MaEhBWJVxVM)&W5xO35*dZQj=yL(K#h` z_=f>ZaOE#oLW6yur$+426^qX5LT9X$P0QqXWG*?z=MAd<0xi3TKErW4m6kTwu@eR3<_iKAUZ2ZdOa@35xM zZJV1Mxp0EUY-sp-s#+K<5MNWwryRnq#nAAHG`OnoN@EPIINkH z*bID*JegQSEejySNYN+IIdc&;5t@f2E)4s`WTYuucWagYAeef>aNIp3 zLYe+|U@HB=?~@=&$i1I`5p2n!19Phqz|rA~7i1d@xU3^%GDXV+9_y=+*>a+a40@Vx z2I=gBCxt))%MP*sqrMpj?g{;g1jM8Fm7a_E<3}Y-kdC z1VM$_Zyg<-XYqlN!zs9Elu{T#T%m2BFT=mb7h%DOi=hHHr~kjlY>a4|8<2o}ASzVg zR?{eCIC)%WgRp;A?D3HiKHc8RFw;JcwAG&MKP(;XDe!bOpABlhI687Xygbfp@b#<) zyvb>8J~0<}M}aI29!4VlpSaxi7)JslFq&zyj@mowX>&h-cUUn}r;r^LgO*nwR$}@V zT<}KB@K&?q21R`Wxo>ya9zT8+q^U_wS0^kH9E4n6@Z}Z!_c`<#fDXxXa4$i) z5jyId;6WZG$3`M8AEd;lvLX;)Xg%YoCE>E+tLZ)l9n}eX(5}3&sG307SNIL(Citfv z=XCz}uuNJ-tExEQigYla#4*LVL!goyhQ)4F?^~m9V6jK}V+WM!cT_EKff(G|ov$6f zu&@vX3XY78bUNM;brh=rx%~4*%o6%XnVGX|afelg6K)ASwPF>AZ!>&&z1oSGG#YQ# zP9!&7WUu}V*9dWGy7#_}Lx#ciJZkpr>^V>Y_$=EsEZXy8smYMYHo4sMX1b-Z%uUGV z*9$|Z|HIy!N9EYA|HF5Y%*ha<;zmlP6iFHkMGDRHNTXDUN^^v66)6ppiUvyaOmn6t zO`1zZNok~c?)N!8&;I_tYrSi|f4u*_Yi(=qwQY0{*L7a!c^seV!0}Av7%-wZ03FF* zb-xjL1P4lu6tOaT5ZwB75c=e`-1{5j)aBE}_w11-z00H+9=T;JH8@}Rf6-m_t0pHI z&-07sMm;-y#F5HjyM#Yq%>K*%>!zx(jFAV*eBv5x2so%kxps|ye?z};df0~vODNmR z@u)J`Q6gDMlSlu*-Tz#}`|;{$#9D`NiKouM>+yzTfj%Sw*edLw4gRcDQZEuw4>L0p z^~&E9+y(54plRjylh@@)E(y#W)dR%fj`TTyWb|mEfC#*hJ2z5(uWA}-Wq;!7iG!}u zq=t4=1T-7z$S92ff$jbeEXVTO8=~blw_RVjgx>8Lgl)!XhMqd>xz5{Mv&rZ<-4E@H z42r-*v%THRVI6=&REn^@XeP^(iK&V(X2krBlV#U?7b4|u-C#D>pu3Ja$7xd~lGKt@ zuw1F6@D>1%XV|0@3!MJd?9yGQC2qG`q`tq#u;mv%^cRa^2=|9hR92=#yIC=Tr{dQF zbs-%qM9+2ZkB5mP!asC<`qlO9rGYgZnwGut78Y(`kG)Tmxp5=? zE3A8IRS3T{X=>a?s%(;8VZrA05wB@kW#jvS-=pRrp0dN!@~1ji5$n>0>%!1S6K!L24{F40rX}>0 z9dTGTCxWL}KHtTj0O$cxg#f#W2U+Nl2ly$HONYceb4Az74MWJhtkn(ghN{tD!g&T@ z2n){Kt%uD0O~L_*w9tbGtE({XGPI9L#vX6fGmJ(KZ&za-XHecmb_ z9Q?%mOz@BkqxhU&BlrfWRMHJVVGsxsVzptA(``rs@v{RZ-CQi+423^m6)ViVz2 zq@+mM=CO-*^#s)5Jl+Eis&1eQ5u&(h{-~8r9P&}tl@hzkY{m!J^Xd{^3zt#~c{g52 z1dgr%cBD)zh+kigI0UPb&?mEW3lU$&2+50VfwD!l)upGBE$*io;${9y(g~p(+@g*j z=))SS554@Crv3vA?$Sdx__CawoK`z7_SeU~0@Ls%v>&|2Yk&yygV**@%fP1FeMLjn z)crO6&_KW_r0)ldNg=nUgBZ;5xcraC8E832>)!Dn1;jvrjsznmq${&Y@R~*RMG%xHSI=c!Qy<<5Ywb9 zVgi%4`-LPWUAf2L?FzMK=xcmX=`OVxh2!Uf1*M^k(#{(M1VGZCUJs(0j+QorCQ_XQ zM4ibKgnv{7c9te#RlC|ro z-YY0sX%=iqUzXVmUsK%d`}uHUGVtg=jO86?-3sBw48jFeu?4+`N{8fHIv_Yi74$U^w6AvFR6BS+jr-HQggwLSCkgrK!}+jJDT;=mE;V#{Y7o$>qQ_8&up!MX5s!)1!A8j4N9x%Bg7?jT zHt)iw68jyxS{7angPL4fZW3MuC0PWqQhaaY#VRIjx_QZ?o#p`6SRObcV&rdZ*`y{` zQaxG~zRE=eFq-3ZBbCNJq%B=y-~+BjTqE@e9XW(!7_Vyi=ZR0*O338@0e!n@m;WFl z!1Pc4Q7ArV0LH6eHxSyMgvZew=gdBYJ9S=zgd;fC@_*y{I|ONnkMT@M+ZT z_17iKz7*W_*><=x;t$jlzyEV_#&K~%ulU@<14q1Q_1B@Mc?~U73|wV+9@Jv--Qxh2 zl88U;L+3#Pyd2tS2{XLx*|X`QuF(tmKeeo1c}1tnf-TWu3bkJl>C+N}t2!=gC#q~> zj!b|C4icF2P(|w_{;9F=8pOZBzvj~V|9Q5;icocvcF}7VKv?a=U@`80vx%@T*@p9= z(~y`SQ*LvCRw&tFfJ7eto3hMO@Cm&QR?;3cGyy~-1t^yoiZOt|p#Cc<%~2=m!LobB zvPJ%hpt0=B;^aHgUQ;dEO;_+(J<2=M=j5mYH9HBx04@{n5DE^LT~xUo6er4EdM#nWPo)c*16tvx>CYhcBCPI3++T!>-M{vmq$owL?;(-ZO_Bfh*i$v6#*Cz~)*7WV$Vg6r4&{YoK; z6<6}c1BZ^7@_&A%C$D{iLfgVmeY1?oJ zVbdV6ya>{>-uX^8tpt~V44a_aD*g-o3CX%?J00D65s0u-jxAP{u@?d(ds*aBFmvL8 z6t2iXL=ocXvym-R|FThgA1ZNNOkQxqLh(2EQ2ijzM7@~Z#_=N0sB}G4iH!prV7-8g zt*lP0x%}v1 zCh3{P^>Js#hShA1t5aLYtAlYbA0P-7+r@=H91a%O;A@N3&B-K=JFDvmnlRazeAbG1 zLdQ~G;ib;NlR|DPI^g$beKx~GMhFw)&4S+Z*~FrQ{;Czrmp=kv-6}SWW+w^}Nna4U zM-2J)&%BA|1n49e9=pu)Ha+xF0XWlIGM?B&!eEc?UTBWT8IS(zt%6d>bPyC*Cu>>! zNT*Y6Dy{^nnn-LbJOu{5P3SND0GgZuDnSC9s#Bz;@b&gV-|7blY@1*^_6Sfu`$$dd zHPhO^R=}~$3a3N3B*8#gNOC!XXv(U?M~Nq&glAx%9UPfnisky@*Q#sGTRi|z{(Kxr z_*N9;p<$-x#Gy)TfPLue0~3!w{fWNS9JTS*{pRh+(r7z?4`f_o`v&e>JP>hUn@P%K zT-Kg?EZ}+w^5OycbR|zdClV*gOo@ODFWD>vSS0AYRRUKK_u+#SNm2xW?h1DK`KyID z7nvs)Kh`FTB=4#`oJaB(XMil%<3vm->rzCOZjQ6$HALt@<3jdA*jvD zUSiEZeC+I<^2Nm^0{;J>3;^BwpTxz*Nn!w0fE!|=suCOhEJTJ%U}VZGOmUIL;1c3H zAX^Z6#P#qm5#Ip_S@c_{Au%oDwpT|IjOdNt9oV}4!TX$nHRJ-eBCt5~J7g3tQNmXKz0?x^McE~8idFEp{cklGV6(Sw7zy!hSJ?5r0S8rZyYERt@p zgaq**L8-)fNwTM41h%#9L)Zt-Uj&9(l4k%0xc94D5&cKSCJwzg^tJ-@mksDBZWgneTlWE7mk00x8xp`@$zlbYQE)yU@FDMjUH}1jOhxP>PLkrfCtF(7AS}(R1iG1&kh&ISybY56(jQa+>7L1CYG;888>67yvCY z==P&#;6t6^(z!Sb#GJr}Z_3Z3c^;2+?_`%03iwuYxv-dDS1=|dXt9^Y0uVKJWY$I;E(61|y zh>})*JbXkJN8~&N4OUT6$(|>374SU*(5;>!K_oZ|vJGKzk%M-p8z7rn4<^A-MxVPO z;(g#9#DQeC1CIZUJ{!V~fWdi-&K`A&3?#)-&|(mdCGL7}YgQ7O%A!_4f=hm$_;z5e;dF>5&|u<3_~)`P z|Gg}0YoJjg=VvrLleQsU0If$*ZkM6p9TXzieJ-ht)}WW!91&JBE2iDDC*cqNmJ^1M5jed-^wg7@Y)kXJ#I}O#40jJ`*TG<3-#n~p1Cf-BRKQK zX5vU;${I((k*S{=3~upv>D4$PWj!#+s1N60?O-jsXtcy==mfW$qJzOJLf}NBk;FLT znXzA_#o|UOscY@wOs1=#(cvY7RESv%(~C$61h~hNJq>j62y)U(a4-|~bK3Q&UHli^Zbn$EN|8 zAp?lz&}+NC<~+zge!Dap5Lp({oG_g5? z<#~({!1PSC|7D;ic2cSQxxa5qccG^3M_%!11i>5ODY72@d5-8YNm5AjB|6GC0XS|S zX%)T(00U>dWJ93CB$-ACa7h+d;qBg;C>Q6e;3Y44$-K;p`2myzayd`mt6s4{qT_5d~@E=X_zBcHZi>2;YOhz`;tPbq0Y zNlqDAxo8;u@bI;ypM&;*B$Jom{m5TJOJ$5F2QBsE)z`VuHj#FeFs6Xp$lNVZGwCzu zUm(kqrX&kzM-(uar_LbD-~l9<4frI;42dFfXOD&O`MUZ-u9)r%Tb|lVMWinvy*V zkM`bnce{4`)1x;D1IZN)pkN}!#*CM(V}0hpBo?>~v@=F{b+QCVpaHb8W#AEag8fqK zc_cfm6)L(20O>D$g)t#SL4>O>Dg5wI&#_ZpJlpK`n*7vFerApLTsk#izg8?e;S{@i z!}i9^1*Z}jG*>4b=|GAt4$U{&^0sqho~ zVzqkGQtU2_54Ax%hHqg_pgcU*vKWMd2c{g`{|_|m@;U9|;8sX54pFmUk3WJmA!5#g zwJ30?sbS$WOUk^{fe}%QQd3Qen;|##`gaJVfY!tzF$>CCp9}&tVVEtBk9ru&0+dKQ z-IpSPY)b`M?r}^BemSp?mRsd@-C_t-Mp_8*B(XtCvawhPvDgJ;pf-CoZcm2YD#_~R z-c$treipfWc=T0_jEq`t5~2$fRfOeb2>&sT0eVmai*~Ve^n8B^l)u) z0X8O4$SH7fNZ?mrBhZ4QmahI>ikqF@Cj0 z1iEz<`00Ee2m!jmmx7R1=CBVA9H8RROZiFLYdbnMTd#fb3Jd{Gem6`@I9g|MlcqbC=J)S+pQQQa;pXtDS3SeEF&Os`_fW7 zJ78E|WuaZQc~{c=K$k$05x1T7y!;OB4*;pL8i*(3(qa$HJwQMHE>OU4NUrbLz>!V{ z)Bw=Hzru;hGq{-H@|@Hr+yM*xEwLP7N|H2j(Vy7lpH1wXhhn6$?ImEbSI#v3e5bc$ zFb0BmFgy*LPZi*_3TzBs2;4=FLIr zVoH)a@ImpA>28f=PTS!78XRB&fGhur^C6gAfS+FkWHqY5A#3#>>(RwwPrg*(Z8y+V z6JdA(n<}0h60>BLQ&8aA;;2Go|2~K0R%&RGU4aBjVpo7hRG4FwWD(-DQN+HWEX$pN z+O@cS$>mPO&fqm9roOosFGxaHaEZekB7@M0e9UX&iY7FEm*K1c7Z+CoZ4BdP#DxPf zl<2Y#zxKlmkyWPJpHgk~F|P&5~}09Aet>l6Ur?AD9r8Ko!} z{u#7g2YS8M^D;m>LY~UT7PvOsj|Kez9*5_NSh2%Pc8&+t*7e`!>oUC&nq^!dIkS+c zk#b@apVmRXBor28AQqk|L<6KxKigb7r8VC>M}`+d1+Ii0Oa)`&gu|COF!1iGT%|pd zYV4xz8YVisJ$d|%>~LP%xWmPYD#nC)LI>bgFjwJB2vUW0kwCh`(sdpVoIwepk)}D* zC_PDzHgZ)IWn))MhBs*yVk3ZVFAmRVl;tpHZ$-0b;8_Rj+nzozV)a#o z@eX8OLHgpXDP0__mt_CIpP>rlm0b!7YOMdvY*Nc&?)#paMlq); zfx-7#w3Pp>FlNJlmzXP}l5t7M_|4)>GBXG_T2}hhDJTZ4#BJxISyp{%J-xVEJMkRx z3@G&t_a}LH6mLkdv-C_}$J)E$9`H znXf(>kYB4KNP^5LU(dmj6yjde(SHaFMFv~Ws1#wETSS$85_xLSyfQOmSfp+CEH;-| zB3(uVheh^vVYBLE5KinsHiu>yeu-?QR(kOWC4vv5_Y%II6PvVr~K?R`ZbB)B| zU~@%NCWT-aX({RPP{A)~Uo+Hv43Ff-!G#A2-1yI1=~`9})w_Lx>Y4H$Y{N+M@S zniomD!e(PxdB!WFIEb(KcciySxaHRJ2ItW1Aw{qtwF~@s29V6rjpy(YN-kNFn~7Jx zG#J}|Z~l5k)L4_XrEFUu*~G-_zA2(v-GJ=E*S_XhGVlcL#XzpFhQsGz|B?DJJSZsCiMk@nB1!;gfS${(~fO9b+6i6-lNv};<8L^Us}&G2X7I6!N);|Mq6h_ z5AJ#>%BTc!X|scl_UP!&U9kAC!~2N(wX=qxO0NCf+~REVA(s-m(J) z8wQ^4Lg6asNIeUs4OcY#>|NgR4lHsO-^ESIN}KC5v+6i{xALV<$KWQ?XoMh)e`<(j zkAZ_~h)#Pa@t?BVEv(v-25H`FoHT#z@)vH zj!aGB>OhX@pZl4_ZjWG)kFBlRi0Dpe^);YE7m-*i`Wrlisnzc7jpb|Y?O zrEl;bp^H9-b0}|+IKGp*c+@4dsQ3B~@yutNPyGyNpUYejtDr?z(up^0SI=Z`Y?woL zfmJ5`VP^iym_*w6(>6GhF?>p3GzO%P4CFY7+Ak+!$@(XmGJFkD>MH9G4E=MjhlBDY zaIXc6+nQGxZAM{8;wUa5HlD=Z6UhU~g+pW(@d9fVpxYrM97sF>(Z_piPLB7Ti3%QD zxcG7pwt51Epz-y^vI>U4C}1N1h=Bi;p`G7NrJlgX zKqmfxK1wW}c_p!ipOf>`>#x#3Qudak6F&|SB`@)2e@v2}ck3AnTlh8J%NXu0v6MC8 zY_K3nRUm;6WNwta)ACGJWVaA~9~nWt74txeNoOG`Z}y?jYuQ=KLXNW18JXpL8&|A5 zv6(yK#_s1b%28en8qqoNCH>Tk$2EDMN4&Gr@Z^e!*&(Bu{X#05!B^qL3cg#9)}3$= z3?9jK{qWYLWOwjcP9y&gJIN~9A@Rx2!L2_lg?hqfKWvZ}QEdcDQv-no-gh->U@0hr z6kvJ9+?RKpibnIshxzytnzHdoETc$ItWv*bvbe8bVqonv-A0qNt>8s*={cy9nJ% zm$2+q3H71KyGOG11568S$3|a>Aa;aOmcPJb9vbiw>I5&yD`Vx|bKA&wh04O4?I;V{ zf0w%%?=>qe>`Z+&t6L>`z6snzjTkYcFTaa|-UISt;`DNkAHzOwQAQ@bmVEv!1vTQj z?c2Sv%mC1Q!~PLa^JBfSi3$Bw*X`%L-lulK$3R0P3>0W7TKO#p&DOz=^Y>3+jC0=Z zcnOQ>9$MI)M~-X-*SY`8bu(ZB()(?NgoJQ{uX)w7mLfU#dkJt40qCR2UeHwFDv3az z@71Xd`jIHM2P(5TC8eT1tm0LN)JE8Lpy?Kt^LOBCg(%#07g*7Q6(SYW2Qkqiy2bFX zy5kc?0L6@f_OPWZ`YQkC=ihD%b8*Fd&{s(4Z_nn_Nr;~f5}Hju%2k!!o@u!aV|Q+O zusbYA`)~I3%>fMNTFZRg)>as?c=yqtMBtP54Z7nTx*nrj`79*9v=fIg*++3vA=m_&{DW0F3qlg4G@$=h>FB?+HDI2x#dp)D` z)`#V1uZwEfd`nH0ho9ayuGyKS7#lT~hIVz&h;I-{eGEhuyA^%BH>!&1^M@*S{(JYX z@T=>U0~@^jo8`pj)QJdl>=!M%K^(03phMIqC^|3IzZBw!`&F77c$KXEPk&BnXpV#Z@d{JMyAC^qyFzlYs`jslvW1_|*ImGJQsHt3wzc1+kJp^D;q<79y@ z;D%~szvX0gfIT+ALjX@F9r*Uu{QUeFPkZW|Y~W8cIuth|PYS)F8;*+b_3xAou#R{F zEq;LusF8hx+vM|;?<(T>Hb<~T??UX0f18*0QY>rnYp(qU0A1==Hl$chUdf;S^zxa_ zoDUkt&D!c{Lg?mFI4BGSFX`RT=ha%K@9SUa{`}8#NvUfm8C9uoovUB}w!DL;TEWrs z$h+X{$~rpRDI2$zM;!#_gmeWyB!nG6X0^>+T&v>&QSAcpZq4D3i078Vk5l}ebN8rU zZ8ZFLKBK(3N?E<3r_8zTHSesd{lw+dk{q6fy875#ZDMj&rQ_35p_ML#Fr03qcj?B> zn@tbLOWxCbtUL4}cyMUoPiNU+ci&}AD%E-oXR;1)H~?WHb@WSZZT*KYh)%f%?JwM1 z>&YN)6r?!-SecI%xurF%ntd0q@0QTL51~Js;RmDP`7uCK`UEzqTCxIG;fem(&fWy8 z38fG?PpHcp$`n=<9R(($^%w%+4PY;BbCepShl~_4WRvveD{8<;QjJWFEvuJ>+&P2o z(d~AM!oZ-M@$^OIhWYYf=O#9hoWxtVQ?3DYyoZz25FleoMMcIL1>}w~W0&1^%KI2( zBUgdLMZJ6}TDRY{@?3+*C9;bVb%*v9Sd9kHXK}^>snu;AUvx#%+Cs(kbl&DYdrP*^qmf@Y z?oO$D0y`bQmWz?8!EJ(o`+PPwz<@Nrr%d-qE^Ox`#?d zh27WHBj+fOF+l5mZx^QlHPfchPDT1+%aVotDm#q$zG^4XS2Ht{obC$4Cn!3(m$@JR zY?6i|uH6J`Ot2#sdIbQgE((W8OZ~XNH|(mJB-V`wjV5*K6agCRei6((vWAPrOB%C| zW6n349VC;!ND{@M#LU~PPWTO#iou?@FP7unYfir4PNPBL5?d!KciDaXKqKelGeFk& zdPc;ILhu(ow8}?pgeICtCgdSTlGq>L7yAI60umY1dIJQRbQw}w%7CRxNg3fH^|`D# zHiQ$*COi}d%?fKsS}zK0!Qa8V)aSSy20)m*Vw2vQ)lfYiK1dzVuN-)vC=nJKTi$GA z`2dxF>@b<$ApLU~Jy7T(^4*T)hKpRcB0*PRGdyV}=$fL*E}sj}woJtFRb0^&JP3v~fOL~Tuv+5&?ijfVE>!;n+I zsqwYJEWIW2&qPvmTHBhtJ_ht$FikYxx_X)WwbKz_w*3zBe5c=JwJ4}1g4hzQM|*qw z&hBniBbPHP;<0hRUJ-!S`wVy_+(bGZ*FR&`Cz;OZ>4ni~TOOPuzE&d>lh;WXhBL+- z@`!-RauK)*iIgO;d`4Jnrv$_w?yLz#IHFd4~{ujMhe43KGB5z`J;1{#NLC zkLK1h-ZT!(jlV|Lt`+fwx=k3yy92mawSYeD{R?4IKlIH3WhL5Of_=7tHNB+lf^}lt z(ir~-c%K)I_VJ=G3?a>Ywb-YKz1d+knXHQ#?v_Ak%A3x$5Q(RG@YvW5^0)Zz%w(SI z2Ik`R8pdq}&)PhAj^0uYvsrTtgzL+|v`L0ObOw^?sp>u|rnbh!Yg2o92QKL?pjX5^6FJHctRZ|NzGBuThfht?yi#C8|iqopx z=KrpyHyc*)nznQg^dC*DQkyvNZNNqKYbHgwwC{WiOAslGX_cnSRGcB}W1J`(##TpkRHv>G#iEEW>n zixIg2hEi zuzHM6o=hqDfn=kN%*7l2E|+GHww<@S2eOx~bm5biliT3+k&3f@zn~-xrUq46NwF#d7}{#<8#_Wfk+ z2MJJfamgnEJvbMPYn7A5ievMx+gw70TU;0_V{oK4aU?fiXx74*eM#kz`kuko$}o9K zu_TAA=)=R9tb%Jsz7=$%am45E91bL8Un6E^JJ-&f^v{cWO1yq|vnvTB={CDN`B~dg zB|CqjDAUpFeB}lLTfA5L$X=ni7fr4Dgo+N(6-ZzHT5C-4NTkv5if_MkEOGy1y5jVD znTdDJUH;eX?xfAC0;zMBK%B9%l!YTdZt*hrqN@epb__}Vu!h0q7&4QuBEr>1LG?6F zf{S>%1%l5`f#}+od{^qnz%^Nwt!1;*q!YtbU~hUNoIV z)UzVC16xqu(>*TzQBBNGm;rGN28!R%3Up%aZu%-4krN_R%&ln5HQaOZ*f9#8T@T#d zF^riC9s2(L7TCw<=-BY~8erADw9n(FC8~@Cmq~<>h zII14lWye=q?PLz<7TNQ9b>fVZjGWy2(;UusKn(8?6kHEl>JxyPYUr$?>3(M+YzW(& z2o6<-+*N4H`ul~pE6;cA6Kq>8#Gcchx?W34E6eEDbO#Dl%X?~}?;{(h~^$Z~Rjx&zz6b!MB6DXw&Q%60M9fx}Gg%Q%*9 zy?lH%=abR1$v=V(N)PWkZCH5e`f6S+zAt)P^_#DF#k~8&a^mkxqBtrn=vcn=;q=il z)%h2-mkcVa?wnE|X|(R&)x_K2%7Y=}Do&2~zpmJzf$ufTk(eCqzU?*x`=m}wpVvT|K-#j$(}%knGH5jks%3;%g5>g!_?K9Y>OS+|mp z-CDkbUSqXA!y?y*IN5ctm)3is-$pV{#-8Qa{klsnRqRQgA7@lJ(a3g@#ymi z@VI*4mA-NK`ZsmzM>4dfN zC%UvZXqK*sv7e#Wni8XX!ne+gfhFzOXVxv7*dFdpxW_dRbi$62Ga2if{MzT%$+7ff z6^CCq6T)l1vA^r+9@1FiJbLSQW4q5(@0yY`60a)d+Su-EF%{gUJDkhxueO|B?K5d%Eve}BbLxsrd`7;jj)!(`X~g<(q#>)Lf2zp(Jl7MP_?RZiJV9qQiO zn=ZOs>3dT7X}5N7iqGvG*&zbAr2koXD$M?p4m$Q`ZVzjkW6b?;vunr}87_U$94j*V ze!JPmRVPFxJRj|!w|G6(-NJHnAFJ6R)~P;khEkrqt*YZ^4ajPWmt=l$${jHMMZjeN zZ5xAX%noh=feZc|z|TXBnShSF@%yx0i?X~p19K7n<-X`dVDquM4sG{yGBK;Q6{&r| zX)mxI`%{PiJpUDIF*d6&{K+|#QC>P_S~x6ho%@sFj$`AQJA40pGL31UbFm5Y_~fmn zwM1*#ROHL7+ppO6^i1l(PSS>0k_w>9+q zE0--D>*aHqy2w}hU<)ZkYr^AuTkgb ztXu_?g{j%LPKPUp^qA75y%_cM)+U)3Q7B9g80gqdR3_77vev52ldXw-V#spXfqc>) zJdg$oX?*zASMU+;JzPU1V4bLxwWhBb8EcY7i2xj0fP>ANnEgSBHv`gF09*_dAS@mpC+2X9=A zy>nPf#r{d*%m$Rp^yI^$_`wvM$kY&JE3n;nBDiGa<%==JR3U2bnM?T4N-{Fbk%jaS zb%$X`zOz|JzBmjsiZI3DTNQ+|K~cBg>AI-Iim zd0AG$$m!-f*TrEs^niT&8n(z|w<2m{eb*1%O*%b&BChs(uzA&Udj;)~5thfyk_AWC zUQ*|Omv;X89q(sL7*^hhP(69MhI+Kvd&*yO(e6Y|6>vsEehNw_@4AuE} z5##U4$zqfwf8eO4 zEY`%B>H3(YdoNYBpR10mnQ7+j(Nei`?`Qq{>VsSxFC2fstd?-#-RrOJ)fVyxD`&(7 z#eJ1K7!{f9J5N36zj;Q0rOgO|nDxg;>2`0Vgw z+YOnjW$UfBKJpLqI(ywDxJ5fjPn?)4L~QytrlzJo^7Xw1PSg<99iTz0;0{;7zsZ

    PSCqdePWTssH68KJla?c^f2;w)(Xl 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 J)B`r>{|DZaa2Nmp diff --git a/assets/images/social/changelog/0.16.1.png b/assets/images/social/changelog/0.16.1.png deleted file mode 100644 index 9fcb8f8415c84ec49bbcfcd33b7ec0653ea02b43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51681 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

    (xs-Z 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 diff --git a/assets/images/social/changelog/0.16.4.png b/assets/images/social/changelog/0.16.4.png deleted file mode 100644 index cbd1e7176b26c0f207533a59607483ce3d18e1a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55578 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 diff --git a/assets/images/social/changelog/0.17.0.png b/assets/images/social/changelog/0.17.0.png deleted file mode 100644 index 62e507bc470524d08feb7648dbeebe91ca272495..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50240 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 z 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ⅆ9l#O}#%*M}-x_9rO-CTIFYreME)BahEgBsJ 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

    8R4U|+ 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 diff --git a/assets/images/social/changelog/0.2.png b/assets/images/social/changelog/0.2.png deleted file mode 100644 index 62402f065c9918ccf93794d3f4e7e6db6efa5f84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43292 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�Rkx{Om3e-PeKxv5 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 diff --git a/assets/images/social/changelog/0.9.1.png b/assets/images/social/changelog/0.9.1.png deleted file mode 100644 index 643f7965e5383160a87e4784faef0ccd44582252..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47206 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 TLytBPUHLg_IjQ*5I`{q;cQ*hl diff --git a/assets/images/social/changelog/archive/2023.png b/assets/images/social/changelog/archive/2023.png deleted file mode 100644 index e2a85aa72c5f489c531dd9a3d4d4ac2d7bdeba08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29454 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 diff --git a/assets/images/social/changelog/index.png b/assets/images/social/changelog/index.png index f53bc6feced6d2ee921c79096244b139d28c31b6..4e242b20e228e24fc14130139f97196ca0606b3e 100644 GIT binary patch literal 29393 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 M!+v{~^}(P14FC|~2><{9 literal 33223 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�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 IfiqYC4IpterT_o{ diff --git a/assets/images/social/changelog/page/2/index.png b/assets/images/social/changelog/page/2/index.png deleted file mode 100644 index f53bc6feced6d2ee921c79096244b139d28c31b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33223 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�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 IfiqYC4IpterT_o{ diff --git a/assets/stylesheets/extra.css b/assets/stylesheets/extra.css index 8757c398..2e14e256 100644 --- a/assets/stylesheets/extra.css +++ b/assets/stylesheets/extra.css @@ -1082,9 +1082,9 @@ html .md-footer-meta.md-typeset a:is(:focus,:hover) { display: none; } - .md-tabs__item:nth-child(5) { + /**.md-tabs__item:nth-child(5) { display: none; - } + }*/ .md-tabs__item:nth-child(6) { padding-right: 0.7rem; @@ -1109,7 +1109,7 @@ html .md-footer-meta.md-typeset a:is(:focus,:hover) { visibility: visible; } - .md-tabs__item:nth-child(3) .md-tabs__link:after { + .md-tabs__item:nth-child(3) .md-tabs__link:after, .md-tabs__item:nth-child(4) .md-tabs__link:after { content: url('data:image/svg+xml,'); line-height: 14px; margin-left: 5px; diff --git a/blog/2023/03/13/gcp-support-just-landed/index.html b/blog/2023/03/13/gcp-support-just-landed/index.html index c09e8332..f3255d05 100644 --- a/blog/2023/03/13/gcp-support-just-landed/index.html +++ b/blog/2023/03/13/gcp-support-just-landed/index.html @@ -4,10 +4,10 @@ Redirecting... - + - - + + Redirecting... diff --git a/blog/2023/04/11/introducing-dstack-hub/index.html b/blog/2023/04/11/introducing-dstack-hub/index.html deleted file mode 100644 index 609dcaa5..00000000 --- a/blog/2023/04/11/introducing-dstack-hub/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - Redirecting... - - - - - - -Redirecting... - - diff --git a/blog/2023/05/22/azure-support-better-ui-and-more/index.html b/blog/2023/05/22/azure-support-better-ui-and-more/index.html index b5940307..04044170 100644 --- a/blog/2023/05/22/azure-support-better-ui-and-more/index.html +++ b/blog/2023/05/22/azure-support-better-ui-and-more/index.html @@ -4,10 +4,10 @@ Redirecting... - + - - + + Redirecting... diff --git a/blog/2023/07/14/lambda-cloud-ga-and-docker-support/index.html b/blog/2023/07/14/lambda-cloud-ga-and-docker-support/index.html index 2628d6c6..d97e9e56 100644 --- a/blog/2023/07/14/lambda-cloud-ga-and-docker-support/index.html +++ b/blog/2023/07/14/lambda-cloud-ga-and-docker-support/index.html @@ -4,10 +4,10 @@ Redirecting... - + - - + + Redirecting... diff --git a/blog/2023/08/07/services-preview/index.html b/blog/2023/08/07/services-preview/index.html index 7f545720..724e6a01 100644 --- a/blog/2023/08/07/services-preview/index.html +++ b/blog/2023/08/07/services-preview/index.html @@ -4,10 +4,10 @@ Redirecting... - + - - + + Redirecting... diff --git a/blog/2023/08/22/multiple-clouds/index.html b/blog/2023/08/22/multiple-clouds/index.html index 154b1d47..4790817f 100644 --- a/blog/2023/08/22/multiple-clouds/index.html +++ b/blog/2023/08/22/multiple-clouds/index.html @@ -4,10 +4,10 @@ Redirecting... - + - - + + Redirecting... diff --git a/blog/2023/10/18/simplified-cloud-setup/index.html b/blog/2023/10/18/simplified-cloud-setup/index.html index a4ad8433..17f825cf 100644 --- a/blog/2023/10/18/simplified-cloud-setup/index.html +++ b/blog/2023/10/18/simplified-cloud-setup/index.html @@ -4,10 +4,10 @@ Redirecting... - + - - + + Redirecting... diff --git a/blog/2023/10/31/tensordock/index.html b/blog/2023/10/31/tensordock/index.html index e60ca9d5..6ef9c892 100644 --- a/blog/2023/10/31/tensordock/index.html +++ b/blog/2023/10/31/tensordock/index.html @@ -4,10 +4,10 @@ Redirecting... - + - - + + Redirecting... diff --git a/blog/2023/11/21/vastai/index.html b/blog/2023/11/21/vastai/index.html index 7f37739b..f77d31bc 100644 --- a/blog/2023/11/21/vastai/index.html +++ b/blog/2023/11/21/vastai/index.html @@ -4,10 +4,10 @@ Redirecting... - + - - + + Redirecting... diff --git a/blog/2023/12/22/disk-size-cuda-12-1-mixtral-and-more/index.html b/blog/2023/12/22/disk-size-cuda-12-1-mixtral-and-more/index.html index 43a0edb0..5c527134 100644 --- a/blog/2023/12/22/disk-size-cuda-12-1-mixtral-and-more/index.html +++ b/blog/2023/12/22/disk-size-cuda-12-1-mixtral-and-more/index.html @@ -4,10 +4,10 @@ Redirecting... - + - - + + Redirecting... diff --git a/blog/2024/01/19/openai-endpoints-preview/index.html b/blog/2024/01/19/openai-endpoints-preview/index.html index 12756479..fc7f9c96 100644 --- a/blog/2024/01/19/openai-endpoints-preview/index.html +++ b/blog/2024/01/19/openai-endpoints-preview/index.html @@ -4,10 +4,10 @@ Redirecting... - + - - + + Redirecting... diff --git a/blog/2024/02/08/resources-authentication-and-more/index.html b/blog/2024/02/08/resources-authentication-and-more/index.html index 87c46620..2663dcee 100644 --- a/blog/2024/02/08/resources-authentication-and-more/index.html +++ b/blog/2024/02/08/resources-authentication-and-more/index.html @@ -4,10 +4,10 @@ Redirecting... - + - - + + Redirecting... diff --git a/blog/archive/2024/index.html b/blog/archive/2024/index.html index 410c9256..28462edd 100644 --- a/blog/archive/2024/index.html +++ b/blog/archive/2024/index.html @@ -326,17 +326,16 @@ +

  • + + + - -
  • - - Changelog - -
  • - + + @@ -1248,180 +1247,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -1925,8 +1742,8 @@

    Intr diff --git a/blog/archive/say-goodbye-to-managed-notebooks/index.html b/blog/archive/say-goodbye-to-managed-notebooks/index.html index 7ffc58be..c1bcf5e2 100644 --- a/blog/archive/say-goodbye-to-managed-notebooks/index.html +++ b/blog/archive/say-goodbye-to-managed-notebooks/index.html @@ -324,17 +324,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1244,180 +1243,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -1952,8 +1769,8 @@

    Say hello to cloud dev environments diff --git a/blog/dstack-sky/index.html b/blog/dstack-sky/index.html index f1f894c4..b45c2ad1 100644 --- a/blog/dstack-sky/index.html +++ b/blog/dstack-sky/index.html @@ -324,17 +324,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1248,180 +1247,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -2058,8 +1875,8 @@

    What is dstack Sky? Docs - Examples - Changelog + Examples + Changelog Blog diff --git a/blog/index.html b/blog/index.html index 96f9f91e..da61d2ae 100644 --- a/blog/index.html +++ b/blog/index.html @@ -15,7 +15,7 @@ - + @@ -328,17 +328,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1250,180 +1249,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -1925,8 +1742,8 @@

    Introducin diff --git a/changelog/0.10.5/index.html b/changelog/0.10.5/index.html index 7b84ebbf..d97e9e56 100644 --- a/changelog/0.10.5/index.html +++ b/changelog/0.10.5/index.html @@ -1,2040 +1,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dstack 0.10.5: Lambda integration, Docker support, and more - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Redirecting... + + + + - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - - - - - - - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - -

    dstack 0.10.5: Lambda integration, Docker support, and more

    -

    In the previous update, we added initial integration with Lambda Cloud. With today's release, this integration has -significantly improved and finally goes generally available. Additionally, the latest release adds support for -custom Docker images.

    - - -

    Lambda Cloud

    -

    In this update, we've added a possibility to create Lambda Cloud projects via the user interface.

    -

    -

    All you need to do is provide your Lambda Cloud API key, and specify an S3 bucket and AWS credentials -for storing state and artifacts.

    -

    Learn more →

    -

    Once the project is configured, feel free to run dev environments and tasks in Lambda Cloud using the dstack CLI.

    -

    Custom Docker images

    -

    By default, dstack uses its own base Docker images to run -dev environments and tasks. These base images come pre-configured with Python, Conda, and essential CUDA drivers. -However, there may be times when you need additional -dependencies that you don't want to install every time you run your dev environment or task.

    -

    To address this, dstack now allows specifying custom Docker images. Here's an example:

    -
    - -
    type: task
    -
    -image: ghcr.io/huggingface/text-generation-inference:0.9
    -
    -env:
    -  - MODEL_ID=tiiuae/falcon-7b
    -
    -ports:
    - - 3000
    -
    -commands: 
    -  - text-generation-launcher --hostname 0.0.0.0 --port 3000 --trust-remote-code
    -
    - -
    - -
    -Existing limitations -

    Dev environments require the Docker image to have openssh-server pre-installed. If you want to use a custom Docker -image with a dev environment and it does not include openssh-server, you can install it using the following -method:

    -
    -
    type: dev-environment
    -
    -image: ghcr.io/huggingface/text-generation-inference:0.9
    -
    -build:
    -  - apt-get update
    -  - DEBIAN_FRONTEND=noninteractive apt-get install -y openssh-server
    -  - rm -rf /var/lib/apt/lists/*
    -
    -ide: vscode
    -
    -
    -
    -

    The documentation and examples -are updated to reflect the changes in the release.

    -

    Give it a try

    -

    Getting started with dstack takes less than a minute. Go ahead and give it a try.

    -
    - -
    $ pip install "dstack[aws,gcp,azure,lambda]" -U
    -$ dstack start
    -
    - -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file + +Redirecting... + + diff --git a/changelog/0.10.7/index.html b/changelog/0.10.7/index.html index ce567517..724e6a01 100644 --- a/changelog/0.10.7/index.html +++ b/changelog/0.10.7/index.html @@ -1,1993 +1,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dstack 0.10.7: Services - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Redirecting... + + + + - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - - - - - - - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - -

    dstack 0.10.7: Services

    -

    Until now, dstack has supported dev-environment and task as configuration types. Even though task -may be used for basic serving use cases, it lacks crucial serving features. With the new update, we introduce -service, a dedicated configuration type for serving.

    - - -

    Consider the following example:

    -
    - -
    type: task
    -
    -image: ghcr.io/huggingface/text-generation-inference:0.9.3
    -
    -ports: 
    -  - 8000
    -
    -commands: 
    -  - text-generation-launcher --hostname 0.0.0.0 --port 8000 --trust-remote-code
    -
    - -
    - -

    When running it, the dstack CLI forwards traffic to 127.0.0.1:8000. -This is convenient for development but unsuitable for production.

    -

    In production, you need your endpoint available on the external network, preferably behind authorization -and a load balancer.

    -

    This is why we introduce the service configuration type.

    -
    - -
    type: service
    -
    -image: ghcr.io/huggingface/text-generation-inference:0.9.3
    -
    -port: 8000
    -
    -commands: 
    -  - text-generation-launcher --hostname 0.0.0.0 --port 8000 --trust-remote-code
    -
    - -
    - -

    As you see, there are two differences compared to task.

    -
      -
    1. The gateway property: the address of a special cloud instance that wraps the running service with a public - endpoint. Currently, you must specify it manually. In the future, dstack will assign it automatically.
    2. -
    3. The port property: A service must always configure one port on which it's running.
    4. -
    -

    When running, dstack forwards the traffic to the gateway, providing you with a public endpoint that you can use to -access the running service.

    -
    -Existing limitations -
      -
    1. Currently, you must create a gateway manually using the dstack gateway command -and specify its address via YAML (e.g. using secrets). In the future, dstack will assign it automatically.
    2. -
    3. Gateways do not support HTTPS yet. When you run a service, its endpoint URL is <the address of the gateway>:80. -The port can be overridden via the port property: instead of 8000, specify <gateway port>:8000.
    4. -
    5. Gateways do not provide authorization and auto-scaling. In the future, dstack will support them as well.
    6. -
    -
    -

    This initial support for services is the first step towards providing multi-cloud and cost-effective inference.

    -
    -

    Give it a try and share feedback

    -

    Even though the current support is limited in many ways, we encourage you to give it a try and share your feedback with us!

    -

    More details on how to use services can be found in a dedicated guide in our docs. -Questions and requests for help are -very much welcome in our Discord server.

    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file + +Redirecting... + + diff --git a/changelog/0.11.0/index.html b/changelog/0.11.0/index.html index 172fa316..4790817f 100644 --- a/changelog/0.11.0/index.html +++ b/changelog/0.11.0/index.html @@ -1,2093 +1,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dstack 0.11.0: Multi-cloud and multi-region projects - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Redirecting... + + + + - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - - - - - - - - - - - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - -

    dstack 0.11.0: Multi-cloud and multi-region projects

    -

    The latest release of dstack enables the automatic discovery of the best GPU price and availability across multiple -configured cloud providers and regions.

    - - -

    Multiple backends per project

    -

    Now, dstack leverages price data from multiple configured cloud providers and regions to automatically suggest the -most cost-effective options.

    -
    - -
    $ dstack run . -f llama-2/train.dstack.yml --gpu A100
    -
    - Configuration       llama-2/train.dstack.yml
    - Min resources       2xCPUs, 8GB, 1xA100
    - Max price           no
    - Spot policy         auto
    - Max duration        72h
    -
    - #  BACKEND  RESOURCES                      SPOT  PRICE
    - 2  lambda   30xCPUs, 200GB, 1xA100 (80GB)  yes   $1.1
    - 3  gcp      12xCPUs, 85GB, 1xA100 (40GB)   yes   $1.20582
    - 1  azure    24xCPUs, 220GB, 1xA100 (80GB)  yes   $1.6469
    -    ...
    -
    -Continue? [y/n]:
    -
    - -
    - -

    The default behavior of dstack is to first attempt the most cost-effective options, provided they are available. You -have the option to set a maximum price limit either through max_price in .dstack/profiles.yml or by using ---max-price in the dstack run command.

    -

    To implement this change, we have modified the way projects are configured. You can now configure multiple clouds and -regions within a single project.

    -

    -
    -

    Why this matter?

    -

    The ability to run LLM workloads across multiple cloud GPU providers -allows for a significant reduction in costs and an increase in availability, -while also remaining independent of any particular cloud vendor.

    -
    -

    We hope that the value of dstack will continue to grow as we expand our support for additional cloud GPU providers. -If you're interested in a specific provider, please message us on Discord.

    -

    Custom domains and HTTPS

    -

    In other news, it is now possible to deploy services -using HTTPS. -All you need to do is configure a wildcard domain (e.g., *.mydomain.com), point it to the gateway IP address, and then -pass the subdomain you want to use (e.g., myservice.mydomain.com) to the gateway property in -YAML (instead of the gateway IP address).

    -

    Other changes

    -

    .dstack/profiles.yml

    -
      -
    • The project property is no longer supported.
    • -
    • You can now use max_price to set the maximum price per hour in dollars.
    • -
    -

    dstack run

    -

    Using the dstack run command, you are now able to utilize options such as --gpu, --memory, --env, --max-price, -and several other arguments to override the profile settings.

    -

    Lastly, the local backend is no longer supported. Now, you can run everything using only a cloud backend.

    -

    The documentation is updated to reflect the changes in the release.

    -
    -

    Migration to 0.11

    -

    The dstack version 0.11 update brings significant changes that break backward compatibility. If you used prior dstack -versions, after updating to dstack==0.11, you'll need to log in to the UI and reconfigure clouds.

    -

    We apologize for any inconvenience and aim to ensure future updates maintain backward compatibility.

    -
    -

    Give it a try

    -

    Getting started with dstack takes less than a minute. Go ahead and give it a try.

    -
    - -
    $ pip install "dstack[aws,gcp,azure,lambda]" -U
    -$ dstack start
    -
    - -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file + +Redirecting... + + diff --git a/changelog/0.12.0/index.html b/changelog/0.12.0/index.html index b2131867..17f825cf 100644 --- a/changelog/0.12.0/index.html +++ b/changelog/0.12.0/index.html @@ -1,2089 +1,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dstack 0.12.0: Simplified cloud setup, and refined API - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Redirecting... + + + + - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - - - - - - - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - -

    dstack 0.12.0: Simplified cloud setup, and refined API

    -

    For the past six weeks, we've been diligently overhauling dstack with the aim of significantly simplifying the process -of configuring clouds and enhancing the functionality of the API. Please take note of the breaking -changes, as they necessitate careful migration.

    - - -

    Cloud setup

    -

    Previously, the only way to configure clouds for a project was through the UI. Additionally, you had to specify not only -the credentials but also set up a storage bucket for each cloud to store metadata.

    -

    Now, you can configure clouds for a project via ~/.dstack/server/config.yml. Example:

    -
    - -
    projects:
    -- name: main
    -  backends:
    -  - type: aws
    -    creds:
    -      type: access_key
    -      access_key: AIZKISCVKUKO5AAKLAEH
    -      secret_key: QSbmpqJIUBn1V5U3pyM9S6lwwiu8/fOJ2dgfwFdW
    -
    - -
    - -

    Regions and other settings are optional. Learn more on what credential types are supported -via Clouds.

    -

    Enhanced API

    -

    The earlier introduced Python API is now greatly refined.

    -

    Creating a dstack client is as easy as this:

    -
    from dstack.api import Client, ClientError
    -
    -try:
    -    client = Client.from_config()
    -except ClientError:
    -    print("Can't connect to the server")
    -
    -

    Now, you can submit a task or a service:

    -
    from dstack.api import Task, Resources, GPU
    -
    -task = Task(
    -    image="ghcr.io/huggingface/text-generation-inference:latest",
    -    env={"MODEL_ID": "TheBloke/Llama-2-13B-chat-GPTQ"},
    -    commands=[
    -        "text-generation-launcher --trust-remote-code --quantize gptq",
    -    ],
    -    ports=["80"],
    -)
    -
    -run = client.runs.submit(
    -    run_name="my-awesome-run",
    -    configuration=task,
    -    resources=Resources(gpu=GPU(memory="24GB")),
    -)
    -
    -

    The dstack.api.Run instance provides methods for various operations including attaching to the run, -forwarding ports to localhost, retrieving status, stopping, and accessing logs. For more details, refer to -the reference.

    -

    Other changes

    -
      -
    • Because we've prioritized CLI and API UX over the UI, the UI is no longer bundled. -Please inform us if you experience any significant inconvenience related to this.
    • -
    • Gateways should now be configured using the dstack gateway command, and their usage requires you to specify a domain. - Learn more about how to set up a gateway.
    • -
    • The dstack start command is now dstack server.
    • -
    • The Python API classes were moved from the dstack package to dstack.api.
    • -
    -

    Migration

    -

    Unfortunately, when upgrading to 0.12.0, there is no automatic migration for data. -This means you'll need to delete ~/.dstack and configure dstack from scratch.

    -
      -
    1. pip install "dstack[all]==0.12.0"
    2. -
    3. Delete ~/.dstack
    4. -
    5. Configure clouds via ~/.dstack/server/config.yml (see the new guide)
    6. -
    7. Run dstack server
    8. -
    -

    The documentation and examples are updated.

    -

    Give it a try

    -

    Getting started with dstack takes less than a minute. Go ahead and give it a try.

    -
    - -
    $ pip install "dstack[all]" -U
    -$ dstack server
    -
    -
    - -
    -

    Feedback and support

    -

    Questions and requests for help are very much welcome in our -Discord server.

    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file + +Redirecting... + + diff --git a/changelog/0.12.2/index.html b/changelog/0.12.2/index.html index c8b3f771..6ef9c892 100644 --- a/changelog/0.12.2/index.html +++ b/changelog/0.12.2/index.html @@ -1,1978 +1,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dstack 0.12.2: TensorDock integration - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Redirecting... + + + + - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - - - - - - - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - -

    dstack 0.12.2: TensorDock integration

    -

    At dstack, we remain committed to our mission of building the most convenient tool for orchestrating generative AI -workloads in the cloud. In today's release, we have added support for TensorDock, making it easier for you to leverage -cloud GPUs at highly competitive prices.

    - - -

    Configuring your TensorDock account with dstack is very easy. Simply generate an authorization key in your TensorDock -API settings and set it up in ~/.dstack/server/config.yml:

    -
    - -
    projects:
    -- name: main
    -  backends:
    -  - type: tensordock
    -    creds:
    -      type: api_key
    -      api_key: 248e621d-9317-7494-dc1557fa5825b-98b
    -      api_token: FyBI3YbnFEYXdth2xqYRnQI7hiusssBC
    -
    - -
    - -

    Now you can restart the server and proceed to using the CLI or API for running development environments, tasks, and services.

    -
    - -
    $ dstack run . -f .dstack.yml --gpu 40GB
    -
    - Min resources  1xGPU (40GB)
    - Max price      -
    - Max duration   6h
    - Retry policy   no
    -
    - #  REGION        INSTANCE  RESOURCES                     SPOT  PRICE
    - 1  unitedstates  ef483076  10xCPU, 80GB, 1xA6000 (48GB)  no    $0.6235
    - 2  canada        0ca177e7  10xCPU, 80GB, 1xA6000 (48GB)  no    $0.6435
    - 3  canada        45d0cabd  10xCPU, 80GB, 1xA6000 (48GB)  no    $0.6435
    -    ...
    -
    -Continue? [y/n]:
    -
    - -
    - -

    TensorDock offers cloud GPUs on top of servers from dozens of independent hosts, providing some of the most affordable -GPU pricing you can find on the internet.

    -

    With dstack, you can now utilize TensorDock's GPUs through a highly convenient interface, which includes the -developer-friendly CLI and API.

    -
    -

    Feedback and support

    -

    Feel free to ask questions or seek help in our -Discord server.

    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file + +Redirecting... + + diff --git a/changelog/0.12.3/index.html b/changelog/0.12.3/index.html index b5466ae5..f77d31bc 100644 --- a/changelog/0.12.3/index.html +++ b/changelog/0.12.3/index.html @@ -1,1977 +1,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dstack 0.12.3: Vast.ai integration - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Redirecting... + + + + - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - - - - - - - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - -

    dstack 0.12.3: Vast.ai integration

    -

    dstack simplifies gen AI model development and deployment through its developer-friendly CLI and API. -It eliminates cloud infrastructure hassles while supporting top cloud providers (such as AWS, GCP, -Azure, among others).

    -

    While dstack streamlines infrastructure challenges, GPU costs can still hinder development. To address this, -we've integrated dstack with Vast.ai, a marketplace providing GPUs from independent hosts at -notably lower prices compared to other providers.

    - - -

    With the dstack 0.12.3 release, it's now possible use Vast.ai alongside other cloud providers.

    -
    - -
    $ dstack run . --gpu 24GB --backend vastai --max-price 0.4
    -
    - #  REGION            INSTANCE  RESOURCES                       PRICE
    - 1  pl-greaterpoland  6244171   16xCPU, 32GB, 1xRTX3090 (24GB)  $0.18478
    - 2  ee-harjumaa       6648481   16xCPU, 64GB, 1xA5000 (24GB)    $0.29583
    - 3  pl-greaterpoland  6244172   32xCPU, 64GB, 2xRTX3090 (24GB)  $0.36678
    -    ...
    -
    -Continue? [y/n]:
    -
    - -
    - -

    By default, it suggests GPU instances based on their quality score. If you want to, you can control the maximum price.

    -

    Configuring Vast.ai for use with dstack is easy. Log into your Vast AI account, click Account in the sidebar, -and copy your API Key.

    -

    Then, go ahead and configure the backend:

    -
    - -
    projects:
    -- name: main
    -  backends:
    -  - type: vastai
    -    creds:
    -      type: api_key
    -      api_key: d75789f22f1908e0527c78a283b523dd73051c8c7d05456516fc91e9d4efd8c5
    -
    - -
    - -

    Now you can restart the server and proceed to using dstack's CLI and API.

    -

    If you want an easy way to -develop, train and deploy gen AI models using affordable cloud GPUs, -give dstack with Vast.ai a try.

    -
    -

    Feedback and support

    -

    Feel free to ask questions or seek help in our -Discord server.

    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file + +Redirecting... + + diff --git a/changelog/0.13.0/index.html b/changelog/0.13.0/index.html index bae227f4..5c527134 100644 --- a/changelog/0.13.0/index.html +++ b/changelog/0.13.0/index.html @@ -1,2048 +1,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dstack 0.13.0: Disk size, CUDA 12.1, Mixtral, and more - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Redirecting... + + + + - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - - - - - - - - - -
    - -
    - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - -

    dstack 0.13.0: Disk size, CUDA 12.1, Mixtral, and more

    -

    As we wrap up this year, we're releasing a new update and publishing a guide -on deploying Mixtral 8x7B with dstack.

    - - -

    Configurable disk size

    -

    Previously, dstack set the disk size to 100GB regardless of the cloud provider. Now, to accommodate larger language -models and datasets, dstack enables setting a custom disk size using --disk in dstack run or via the disk -property in .dstack/profiles.yml.

    -

    Default Docker image

    -

    With dstack, whether you're using dev environments, tasks, or services, you can opt for a custom Docker image (for -self-installed dependencies) or stick with the default Docker image (dstack pre-installs CUDA drivers, Conda, Python, -etc.).

    -

    We've upgraded the default Docker image's CUDA drivers to 12.1 (for better compatibility with modern libraries).

    -
    -

    nvcc

    -

    If you're using the default Docker image and need the CUDA compiler (nvcc), you'll have to install it manually using -conda install cuda. The image comes pre-configured with the -nvidia/label/cuda-12.1.0 Conda channel.

    -
    -

    Mixtral 8x7B

    -

    Lastly, and most importantly, we've added an example on deploying Mixtral 8x7B as a service. This guide allows you to -effortlessly deploy a Mixtral endpoint on any cloud platform of your preference.

    -

    Deploying Mixtral 8x7B is easy, especailly when using vLLM:

    -
    - -
    type: service
    -
    -python: "3.11"
    -
    -commands:
    -  - conda install cuda # (required by megablocks)
    -  - pip install torch # (required by megablocks)
    -  - pip install vllm megablocks
    -  - python -m vllm.entrypoints.openai.api_server
    -    --model mistralai/Mixtral-8X7B-Instruct-v0.1
    -    --host 0.0.0.0
    -    --tensor-parallel-size 2 # should match the number of GPUs
    -
    -port: 8000
    -
    - -
    - -

    Once the configuration is defined, goahead and run it:

    -
    - -
    $ dstack run . -f llms/mixtral.dstack.yml --gpu "80GB:2" --disk 200GB
    -
    - -
    - -

    It will deploy the endpoint at https://<run-name>.<gateway-domain>.

    -

    Because vLLM provides an OpenAI-compatible endpoint, feel free to access it using various OpenAI-compatible tools like -Chat UI, LangChain, Llama Index, etc.

    -

    -

    Check the complete example for more details.

    -

    Don't forget, with dstack, you can use spot instances across -different clouds and regions.

    -

    Feedback and support

    -

    That's all! Feel free to try out the update and the new guide, and share your feedback with us.

    -

    For updates or assistance, join our Discord.

    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file + +Redirecting... + + diff --git a/changelog/0.14.0/index.html b/changelog/0.14.0/index.html index 9aad7027..fc7f9c96 100644 --- a/changelog/0.14.0/index.html +++ b/changelog/0.14.0/index.html @@ -1,2015 +1,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dstack 0.14.0: OpenAI-compatible endpoints preview - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Redirecting... + + + + - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - - - - - - - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - -

    dstack 0.14.0: OpenAI-compatible endpoints preview

    -

    The service configuration deploys any application as a public endpoint. For instance, you can use HuggingFace's -TGI or other frameworks to deploy custom LLMs. -While this is simple and customizable, using different frameworks and LLMs complicates the integration of LLMs.

    - - -

    With dstack 0.14.0, we are extending the service configuration in dstack to enable you to optionally map your -custom LLM to an OpenAI-compatible endpoint.

    -

    Here's how it works: you define a service (as before) and include the model property with -the model's type, name, format, and other settings.

    -
    type: service
    -
    -image: ghcr.io/huggingface/text-generation-inference:latest
    -env:
    -  - MODEL_ID=mistralai/Mistral-7B-Instruct-v0.1
    -port: 80
    -commands:
    -  - text-generation-launcher --port 80 --trust-remote-code
    -
    -
    -# Optional mapping for OpenAI-compatible endpoint
    -model:
    -  type: chat
    -  name: mistralai/Mistral-7B-Instruct-v0.1
    -  format: tgi
    -
    -

    When you deploy the service using dstack run, dstack will automatically publish the OpenAI-compatible endpoint, -converting the prompt and response format between your LLM and OpenAI interface.

    -
    from openai import OpenAI
    -
    -client = OpenAI(
    -    base_url="https://gateway.<your gateway domain>",
    -    api_key="none"
    -)
    -
    -completion = client.chat.completions.create(
    -    model="mistralai/Mistral-7B-Instruct-v0.1",
    -    messages=[
    -        {"role": "user", "content": "Compose a poem that explains the concept of recursion in programming."}
    -    ]
    -)
    -
    -print(completion.choices[0].message)
    -
    -

    Here's a live demo of how it works:

    -

    -

    For more details on how to use the new feature, be sure to check the updated documentation on services, -and the TGI example.

    -

    Migration guide

    -

    Note: After you update to 0.14.0, it's important to delete your existing gateways (if any) -using dstack gateway delete and create them again with dstack gateway create.

    -

    Feedback

    -

    In case you have any questions, experience bugs, or need help, -drop us a message on our Discord server or submit it as a -GitHub issue.

    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file + +Redirecting... + + diff --git a/changelog/0.15.0/index.html b/changelog/0.15.0/index.html index 779f637a..2663dcee 100644 --- a/changelog/0.15.0/index.html +++ b/changelog/0.15.0/index.html @@ -1,2116 +1,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dstack 0.15.0: Resources, authorization, and more - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Redirecting... + + + + - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - - - - - - - - - -
    - -
    - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - -

    dstack 0.15.0: Resources, authorization, and more

    -

    The latest update brings many improvements, enabling the configuration of resources in YAML files, requiring -authorization in services, supporting OpenAI-compatible endpoints for vLLM, and more.

    - - -

    Resource configuration

    -

    Previously, if you wanted to request hardware resources, you had to either use the corresponding arguments with -dstack run (e.g. --gpu GPU_SPEC) or use .dstack/profiles.yml.

    -

    With 0.15.0, it is now possible to configure resources in the YAML configuration file:

    -
    - -
    type: dev-environment
    -
    -python: 3.11
    -ide: vscode
    -
    -# (Optional) Configure `gpu`, `memory`, `disk`, etc 
    -resources:
    -  gpu: 24GB
    -
    - -
    - -

    Supported properties include: gpu, cpu, memory, disk, and shm_size.

    -

    If you specify memory size, you can either specify an explicit size (e.g. 24GB) or a -range (e.g. 24GB.., or 24GB..80GB, or ..80GB).

    -

    The gpu property allows specifying not only memory size but also GPU names -and their quantity. Examples: A100 (one A100), A10G,A100 (either A10G or A100), -A100:80GB (one A100 of 80GB), A100:2 (two A100), 24GB..40GB:2 (two GPUs between 24GB and 40GB), etc.

    -

    It's also possible to configure gpu as an object:

    -
    - -
    type: dev-environment
    -
    -python: 3.11
    -ide: vscode
    -
    -# Require 2 GPUs of at least 40GB with CUDA compute compatibility of 7.5
    -resources:
    -  gpu:
    -    count: 2
    -    memory: 40GB..
    -    compute_capability: 7.5
    -
    - -
    - -

    Authorization in services

    -

    Previously, when deploying a service, the public endpoint didn't support authorization, -meaning anyone with access to the gateway could call it.

    -

    With 0.15.0, by default, service endpoints require the Authorization header with "Bearer <dstack token>".

    -
    - -
    $ curl https://yellow-cat-1.example.com/generate \
    -    -X POST \
    -    -d '{"inputs":"&lt;s&gt;[INST] What is your favourite condiment?[/INST]"}' \
    -    -H 'Content-Type: application/json' \
    -    -H 'Authorization: "Bearer &lt;dstack token&gt;"'
    -
    - -
    - -

    Authorization can be disabled by setting auth to false in the service configuration file.

    -

    OpenAI interface

    -

    In case the service has model mapping configured, -the OpenAI-compatible endpoint requires authorization.

    -
    from openai import OpenAI
    -
    -
    -client = OpenAI(
    -  base_url="https://gateway.example.com",
    -  api_key="<dstack token>"
    -)
    -
    -completion = client.chat.completions.create(
    -  model="mistralai/Mistral-7B-Instruct-v0.1",
    -  messages=[
    -    {"role": "user", "content": "Compose a poem that explains the concept of recursion in programming."}
    -  ]
    -)
    -
    -print(completion.choices[0].message)
    -
    -

    Model mapping for vLLM

    -

    Last but not least, we've added one more format for model mapping: openai.

    -

    For example, if you run vLLM using the OpenAI mode, it's possible to configure model mapping for it.

    -
    type: service
    -
    -python: "3.11"
    -env:
    -  - MODEL=NousResearch/Llama-2-7b-chat-hf
    -commands:
    -  - pip install vllm
    -  - python -m vllm.entrypoints.openai.api_server --model $MODEL --port 8000
    -port: 8000
    -
    -resources:
    -  gpu: 24GB
    -
    -model:
    -  format: openai
    -  type: chat
    -  name: NousResearch/Llama-2-7b-chat-hf
    -
    -

    When we run such a service, it will be possible to access the model at
    -https://gateway.<gateway domain> via the OpenAI-compatible interface -and using your dstack user token.

    -

    Feedback

    -

    In case you have any questions, experience bugs, or need help, -drop us a message on our Discord server or submit it as a -GitHub issue.

    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file + +Redirecting... + + diff --git a/changelog/0.15.1/index.html b/changelog/0.15.1/index.html index 782880bb..b47b699e 100644 --- a/changelog/0.15.1/index.html +++ b/changelog/0.15.1/index.html @@ -1,2070 +1,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dstack 0.15.1: Kubernetes integration - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Redirecting... + + + + - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - - - - - - - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - -

    dstack 0.15.1: Kubernetes integration

    -

    In addition to a few bug fixes, the latest update brings initial integration with Kubernetes (experimental) and adds the -possibility to configure a custom VPC for AWS. Read below for more details.

    - - -

    Configuring a Kubernetes backend

    -

    With the latest update, it's now possible to configure a Kubernetes backend. In this case, if you run a -workload, dstack -will provision infrastructure within your Kubernetes cluster. This may work with both self-managed and managed clusters.

    -
    -Prerequisite -

    To use GPUs with Kubernetes, the cluster must be installed with the -NVIDIA GPU Operator.

    -
    -

    To configure a Kubernetes backend, you need to specify the path to the kubeconfig file, -and the port that dstack can use for proxying SSH traffic. -In case of a self-managed cluster, also specify the IP address of any node in the cluster.

    -
    -
    -
    -

    Here's how to configure the backend to use a self-managed cluster.

    -
    -
    projects:
    -- name: main
    -  backends:
    -  - type: kubernetes
    -    kubeconfig:
    -      filename: ~/.kube/config
    -    networking:
    -      ssh_host: localhost # The external IP address of any node
    -      ssh_port: 32000 # Any port accessible outside of the cluster
    -
    -
    -

    The port specified to ssh_port must be accessible outside of the cluster.

    -

    For example, if you are using Kind, make sure to add it via extraPortMappings:

    -

    -
    kind: Cluster
    -apiVersion: kind.x-k8s.io/v1alpha4
    -nodes:
    -- role: control-plane
    -  extraPortMappings:
    -  - containerPort: 32000 # Must be same as `ssh_port`
    -    hostPort: 32000 # Must be same as `ssh_port`
    -
    -
    -
    -
    -

    Here's how to configure the backend to use a managed cluster (AWS, GCP, Azure).

    -
    -
    projects:
    -- name: main
    -  backends:
    -  - type: kubernetes
    -    kubeconfig:
    -      filename: ~/.kube/config
    -    networking:
    -      ssh_port: 32000 # Any port accessible outside of the cluster
    -
    -
    -

    The port specified to ssh_port must be accessible outside of the cluster.

    -

    For example, if you are using EKS, make sure to add it via an ingress rule -of the corresponding security group:

    -
    aws ec2 authorize-security-group-ingress --group-id <cluster-security-group-id> --protocol tcp --port 32000 --cidr 0.0.0.0/0
    -
    -
    -
    -
    -
    -

    NOTE:

    -

    While dstack supports both self-managed and managed clusters, if you're using AWS, GCP, or Azure, it's generally -recommended to corresponding backends directly for greater efficiency and ease of use.

    -
    -

    Specifying a custom VPC for AWS

    -

    If you're using dstack with AWS, it's now possible to configure a custom VPC via ~/.dstack/server/config.yml:

    -
    - -
    projects:
    -- name: main
    -  backends:
    -  - type: aws
    -    vpc_name: my-custom-vpc
    -    regions: [us-west-2, eu-west-1]
    -    creds:
    -      type: default
    -
    - -
    - -

    In this case, dstack will attempt to utilize the VPC with the configured name in each region. If any region lacks a VPC -with that name, it will be skipped.

    -
    -

    NOTE:

    -

    All subnets of the configured VPC should be public; otherwise, dstack won't be able to manage workloads.

    -
    -

    Feedback

    -

    Have questions or need help? Drop us a message on our Discord server. -See a bug? Report it to GitHub issues.

    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file + +Redirecting... + + diff --git a/changelog/0.16.0/index.html b/changelog/0.16.0/index.html index 9d9059bb..8ab45069 100644 --- a/changelog/0.16.0/index.html +++ b/changelog/0.16.0/index.html @@ -1,2042 +1,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dstack 0.16.0: Pools - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Redirecting... + + + + - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - - - - - - - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - -

    dstack 0.16.0: Pools

    -

    Previously, when running a dev environment, task, or service, dstack provisioned an instance in a configured -backend, and upon completion of the run, deleted the instance.

    -

    In the latest update, we introduce pools, a significantly more efficient way to manage -instance lifecycles and reuse instances across runs.

    - - -

    dstack run

    -

    Now, when using the dstack run command, it tries to reuse an instance from a pool. If no ready instance meets the -requirements, dstack automatically provisions a new one and adds it to the pool.

    -

    Once the workload finishes, the instance is marked as ready (to run other workloads). -If the instance remains idle for the configured duration, dstack tears it down.

    -
    -

    Idle duration

    -

    By default, if dstack run provisions a new instance, its idle duration is set to 5m. This means the instance waits for a -new workload for only five minutes before getting torn down. -To override it, use the --idle-duration DURATION argument.

    -
    -

    dstack pool

    -

    The dstack pool command allows for managing instances within pools.

    -

    To manually add an instance to a pool, use dstack pool add:

    -
    - -
    $ dstack pool add --gpu 80GB --idle-duration 1d
    -
    - BACKEND     REGION         RESOURCES                     SPOT  PRICE
    - tensordock  unitedkingdom  10xCPU, 80GB, 1xA100 (80GB)   no    $1.595
    - azure       westus3        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673
    - azure       westus2        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673
    -
    -Continue? [y/n]: y
    -
    - -
    - -

    The dstack pool add command allows specifying resource requirements, along with the spot policy, idle duration, max -price, retry policy, and other policies.

    -

    If no idle duration is configured, by default, dstack sets it to 72h. -To override it, use the --idle-duration DURATION argument.

    -
    -Limitations -

    The dstack pool add command is not yet supported for Lambda, Azure, TensorDock, Kubernetes, and VastAI backends. Support -for them is coming in version 0.16.1.

    -
    -

    Refer to pools for more details on the new feature and how to use it.

    -

    Why does this matter?

    -

    With this new feature, using the cloud can be a lot more predictable and convenient:

    -
      -
    1. Now, you can provision instances in advance and ensure they are available for the entire duration of the project. - This saves you from the risk of not having a GPU when you need it most.
    2. -
    3. If you reuse an instance from a pool, dstack run starts much faster. - For example, you can provision an instance and reuse it for running a dev environment, task, or service.
    4. -
    -

    Feedback

    -

    Have questions or need help? Drop us a message on our Discord server. -See a bug? Report it to GitHub issues.

    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file + +Redirecting... + + diff --git a/changelog/0.16.1/index.html b/changelog/0.16.1/index.html index 4c761511..d974270e 100644 --- a/changelog/0.16.1/index.html +++ b/changelog/0.16.1/index.html @@ -1,2005 +1,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dstack 0.16.1: Improvements to dstack pool and bug-fixes - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Redirecting... + + + + - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - - - - - - - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - -

    dstack 0.16.1: Improvements to dstack pool and bug-fixes

    -

    The latest update enhances the dstack pool command introduced earlier, -and it fixes a number of important bugs.

    - - -

    Improvements to dstack pool

    -

    The dstack pool command, that allows you to manually add instances to the pool, -has received several improvements:

    -
      -
    • The dstack pool add command now works with all VM-based backends (which means all backends except vastai - and kubernetes).
    • -
    • The dstack pool add command now accepts the arguments to configure the spot policy - (via --spot-auto, --spot, --on-demand) and idle duration (via --idle-duration DURATION). - By default, the spot policy is set to on-demand, while the idle duration is set to 72h.
    • -
    -

    Didn't try dstack pool yet? Give it a try now. It significantly improves the predictability and convenience of using -cloud GPUs.

    -

    Bug-fixes

    -

    The major bug-fixes include:

    -
      -
    • The 0.16.0 update broke the vastai backend (the dstack run command didn't show offers).
    • -
    • If you submitted runs via the API, the default idle duration was not applied, leading to instances staying in the pool - and not being automatically removed.
    • -
    • dstack couldn't connect to the instance via SSH due to a number of issues related to not properly handling the user' - s default SSH config.
    • -
    • When connecting to a run via ssh <run name> (while using the default Docker image), - python, pip, and conda couldn't be found due to the broken PATH.
    • -
    -

    All of these issues have been fixed now.

    -

    Feedback

    -

    Have questions or need help? Drop us a message on our Discord server. -See a bug? Report it to GitHub issues.

    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file + +Redirecting... + + diff --git a/changelog/0.16.4/index.html b/changelog/0.16.4/index.html deleted file mode 100644 index 82ce29f0..00000000 --- a/changelog/0.16.4/index.html +++ /dev/null @@ -1,2004 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dstack 0.16.4: CUDO Compute integration - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - - - - - - - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - -

    dstack 0.16.4: CUDO Compute integration

    -

    On our journey to provide an open-source, cloud-agnostic platform for orchestrating GPU workloads, we are proud to -announce another step forward – the integration with CUDO Compute.

    - - -

    CUDO Compute is a GPU marketplace that offers cloud resources at an -affordable cost in a number of locations. Currently, the available GPUs include A40, RTX A6000, -RTX A4000, RTX A5000, and RTX 3080.

    -

    To use it with dstack, you only need to configure the cudo backend with your CUDO Compute -project ID and API key:

    -
    - -
    projects:
    -- name: main
    -  backends:
    -  - type: cudo
    -    project_id: my-cudo-project
    -    creds:
    -      type: api_key
    -      api_key: 7487240a466624b48de22865589
    -
    - -
    - -

    Once it's done, you can restart the dstack server and use the dstack CLI or API to run -workloads.

    -
    - -
    $ dstack run . -b cudo 
    - #  BACKEND  REGION       RESOURCES              SPOT  PRICE
    - 1  cudo     no-luster-1  25xCPU, 96GB, 1xA6000  no    $1.17267
    -                          (48GB), 100GB (disk)
    - 2  cudo     no-luster-1  26xCPU, 100GB, 1xA6000  no   $1.17477
    -                          (48GB), 100GB (disk)
    - 3  cudo     no-luster-1  27xCPU, 100GB, 1xA6000  no   $1.17687
    -                          (48GB), 100GB (disk)
    -    ...
    - Shown 3 of 8 offers, $1.18737 max
    -
    - Continue? [y/n]:
    -
    - -
    - -

    Just like with other backends, the cudo backend allows you to launch dev environments, run tasks, and deploy -services with dstack run, and manage your pool of instances via dstack pool.

    -
    -Limitations -

    The dstack gateway feature is not yet compatible with cudo, but it is expected to be supported in version 0.17.0, -planned for release within a week.

    -

    The cudo backend cannot yet be used with dstack Sky, but it will also be enabled within a week.

    -
    -

    Haven't tried dstack yet? You're very welcome to do so now. With dstack, -orchestrating GPU workloads over any cloud is very easy!

    -

    Feedback

    -

    Have questions or need help? Drop us a message on our Discord server. -See a bug? Report it to GitHub issues.

    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/changelog/0.17.0/index.html b/changelog/0.17.0/index.html index 752fe19c..bd3ab445 100644 --- a/changelog/0.17.0/index.html +++ b/changelog/0.17.0/index.html @@ -1,2086 +1,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dstack 0.17.0: Service auto-scaling, and other improvements - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Redirecting... + + + + - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - - - - - - - - - -
    - -
    - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - -

    dstack 0.17.0: Service auto-scaling, and other improvements

    -

    The latest update previews service replicas and auto-scaling, and brings many other improvements.

    - - -

    Service auto-scaling

    -

    Previously, dstack always served services as single replicas. While this is suitable for development, in production, the -service must automatically scale based on the load.

    -

    That's why in 0.17.0, we extended dstack with the capability to configure the number of -replicas as well as the auto-scaling policy.

    -
    - -
    type: service
    -
    -python: "3.11"
    -env:
    -  - MODEL=NousResearch/Llama-2-7b-chat-hf
    -commands:
    -  - pip install vllm
    -  - python -m vllm.entrypoints.openai.api_server --model $MODEL --port 8000
    -port: 8000
    -
    -replicas: 1..4
    -scaling:
    -  metric: rps
    -  target: 10
    -
    -# (Optional) Enable the OpenAI-compatible endpoint
    -model:
    -  format: openai
    -  type: chat
    -  name: NousResearch/Llama-2-7b-chat-hf
    -
    - -
    - -

    The replicas property can be set either to a number or to a range. In the case of a range, the scaling property is -required to configure the auto-scaling policy. -The auto-scaling policy requires specifying metric (such as rps, i.e. "requests per second") and its target -(the metric value).

    -

    Regions and instance types

    -

    Also, the update brings a simpler way to configure regions and instance types.

    -

    For example, if you'd like to use only a subset of specific regions or instance types, -you can now configure them via .dstack/profiles.yml.

    -
    - -
    profiles:
    -  - name: custom
    -    default: false
    -
    -    regions:
    -      - us-east-1
    -      - us-east-2
    -
    -    instance_types:
    -      - p3.2xlarge
    -      - p3.8xlarge
    -      - p3.16xlarge
    -
    - -
    - -

    Then you can pass it to dstack run with --profile custom. Alternatively, you can set default to true, and then -dstack run will apply it automatically.

    -

    If you don't want to define a profile, you can use the --region and --instance-type options directly -with dstack run.

    -

    Environment variables

    -

    Previously, environment variables had to be hardcoded in the configuration file or passed via the CLI. The update brings -two major improvements.

    -

    Firstly, it's now possible to configure an environment variable in the configuration without hardcoding its value. -Secondly, dstack run now inherits environment variables from the current process.

    -

    Together, these features allow users to define environment variables separately from the configuration and pass them to -dstack run conveniently, such as by using a .env file.

    -
    - -
    type: task
    -
    -python: "3.11"
    -
    -env:
    -  - HUGGING_FACE_HUB_TOKEN
    -  - HF_HUB_ENABLE_HF_TRANSFER=1
    -
    -commands:
    -  - pip install -r fine-tuning/qlora/requirements.txt
    -  - tensorboard --logdir results/runs &
    -  - python fine-tuning/qlora/train.py --merge_and_push ${{ run.args }}
    -ports:
    -  - 6006
    -
    -resources:
    -  gpu: 16GB..24GB
    -
    - -
    - -

    Now, if you run this configuration, dstack will ensure that you've set HUGGING_FACE_HUB_TOKEN -either via HUGGING_FACE_HUB_TOKEN=<value> dstack run ..., dstack run -e HUGGING_FACE_HUB_TOKEN=<value> ..., -or by using other tools such as direnv or similar.

    -

    Feedback

    -

    Have questions or need help? Drop us a message on our Discord server!

    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file + +Redirecting... + + diff --git a/changelog/0.18.0/index.html b/changelog/0.18.0/index.html index 18be9588..badd3b9c 100644 --- a/changelog/0.18.0/index.html +++ b/changelog/0.18.0/index.html @@ -1,2099 +1,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - dstack 0.18.0: RunPod integration, multi-node tasks, and more - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Redirecting... + + + + - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - - - - - - - - - - - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - -

    dstack 0.18.0: RunPod integration, multi-node tasks, and more

    -

    The latest update adds RunPod integration, previews multi-node tasks for AWS, GCP, and Azure, and includes other improvements.

    - - -

    RunPod integration

    -

    The update adds the long-awaited integration with RunPod, a distributed GPU cloud that offers GPUs at affordable prices.

    -

    To use RunPod, specify your RunPod API key in ~/.dstack/server/config.yml:

    -
    projects:
    -- name: main
    -  backends:
    -  - type: runpod
    -    creds:
    -      type: api_key
    -      api_key: US9XTPDIV8AR42MMINY8TCKRB8S4E7LNRQ6CAUQ9
    -
    -

    Once the server is restarted, go ahead and run workloads:

    -

    -
    -

    NOTE:

    -

    If you're using a custom Docker image, its entrypoint cannot be anything other than /bin/bash or /bin/sh. -See the issue for more details.

    -
    -
    -

    NOTE:

    -

    The runpod backend supports on-demand instances only. Spot instance support coming soon.

    -
    -

    Multi-node tasks

    -

    Another major change with the update is the ability to run multi-node tasks over an interconnected cluster of instances.

    -

    Simply specify the nodes property for your task (to the number of required nodes) and run it.

    -
    type: task
    -
    -nodes: 2
    -
    -commands:
    -  - git clone https://github.com/r4victor/pytorch-distributed-resnet.git
    -  - cd pytorch-distributed-resnet
    -  - mkdir -p data
    -  - cd data
    -  - wget -c --quiet https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
    -  - tar -xvzf cifar-10-python.tar.gz
    -  - cd ..
    -  - pip3 install -r requirements.txt torch
    -  - mkdir -p saved_models
    -  - torchrun --nproc_per_node=$DSTACK_GPUS_PER_NODE 
    -     --node_rank=$DSTACK_NODE_RANK 
    -     --nnodes=$DSTACK_NODES_NUM
    -     --master_addr=$DSTACK_MASTER_NODE_IP
    -     --master_port=8008 resnet_ddp.py 
    -     --num_epochs 20
    -
    -resources:
    -  gpu: 1
    -
    -

    Currently supported providers for this feature include AWS, GCP, and Azure. For other providers or on-premises servers, file the corresponding feature requests or ping on Discord.

    -

    Optional commands

    -

    One more small improvement is that the commands property is now not required for tasks and services if you use an image that has a default entrypoint configured.

    -
    type: task
    -
    -image: r8.im/bytedance/sdxl-lightning-4step
    -
    -ports:
    -  - 5000
    -
    -resources:
    -  gpu: 24GB
    -
    -

    Server output

    -

    The update also improves the output of the dstack server command:

    -

    -

    GCP permissions

    -

    Last but not least, we've made the permissions required for using dstack with GCP more granular.

    -
    compute.disks.create
    -compute.firewalls.create
    -compute.images.useReadOnly
    -compute.instances.create
    -compute.instances.delete
    -compute.instances.get
    -compute.instances.setLabels
    -compute.instances.setMetadata
    -compute.instances.setTags
    -compute.networks.updatePolicy
    -compute.regions.list
    -compute.subnetworks.use
    -compute.subnetworks.useExternalIp
    -compute.zoneOperations.get
    -
    -

    Feedback

    -

    You're welcome to give the new release a try and share your feedback. If you encounter any bugs, report them directly -via issues, or on our Discord.

    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file + +Redirecting... + + diff --git a/changelog/0.2/index.html b/changelog/0.2/index.html index 6b0c8714..f3255d05 100644 --- a/changelog/0.2/index.html +++ b/changelog/0.2/index.html @@ -1,2063 +1,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - dstack 0.2: GCP integration - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Redirecting... + + + + - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - - - - - - - - - - - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - -

    dstack 0.2: GCP integration

    -

    With the release of version 0.2 of dstack, it is now possible to configure GCP as a remote. All features that were -previously available for AWS, -except real-time artifacts, are now available for GCP as -well.

    - - -

    This means that you can define your ML workflows in code and easily run them locally or remotely in your GCP account.

    -

    dstack automatically creates and deletes cloud instances as needed, and assists in setting up the environment, including -pipeline dependencies, and saving/loading artifacts.

    -

    No code changes are required since ML workflows are described in YAML. You won't need to deal with Docker, Kubernetes, -or stateful UI.

    -

    This article will explain how to use dstack to run remote ML workflows on GCP.

    -

    Prerequisites

    -

    Ensure that you have installed the latest version of dstack before proceeding.

    -
    - -
    $ pip install dstack --upgrade
    -
    - -
    - -

    By default, workflows run locally. To run workflows remotely, e.g. on a GCP account), you must configure a -remote using the dstack config command. Follow the steps below to do so.

    -

    1. Create a project

    -

    First you have to create a project in your GCP account, link a billing to it, and make sure that the required APIs and enabled for it.

    -
    cloudapis.googleapis.com
    -compute.googleapis.com 
    -logging.googleapis.com
    -secretmanager.googleapis.com
    -storage-api.googleapis.com
    -storage-component.googleapis.com 
    -storage.googleapis.com 
    -
    -

    2. Create a storage bucket

    -

    Once the project is set up, you can proceed and create a storage bucket. This bucket -will be used to store workflow artifacts and metadata.

    -
    -

    NOTE:

    -

    Make sure to create the bucket in the sane location where you'd like to run your workflows.

    -
    -

    3. Create a service account

    -

    The next step is to create a service account in the created project and configure the -following roles for it: Service Account User, Compute Admin, Storage Admin, Secret Manager Admin, -and Logging Admin.

    -

    Once the service account is set up, create a key for it and download the corresponding JSON file -to your local machine (e.g. to ~/Downloads/my-awesome-project-d7735ca1dd53.json).

    -

    4. Configure the CLI

    -

    Once the service account key JSON file is on your machine, you can configure the CLI using the dstack config command.

    -

    The command will ask you for a path to the key, GCP region and zone, and storage bucket name.

    -
    - -
    $ dstack config
    -
    -? Choose backend: gcp
    -? Enter path to credentials file: ~/Downloads/dstack-d7735ca1dd53.json
    -? Choose GCP geographic area: North America
    -? Choose GCP region: us-west1
    -? Choose GCP zone: us-west1-b
    -? Choose storage bucket: dstack-dstack-us-west1
    -? Choose VPC subnet: no preference
    -
    - -
    - -

    That's it! Now you can run remote workflows on GCP.

    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file + +Redirecting... + + diff --git a/changelog/0.7.0/index.html b/changelog/0.7.0/index.html deleted file mode 100644 index cdb62751..00000000 --- a/changelog/0.7.0/index.html +++ /dev/null @@ -1,2059 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dstack 0.7.0: Introducing dstack server - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - - - - - - - - - -
    - -
    - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - -

    dstack 0.7.0: Introducing dstack server

    -

    Last October, we open-sourced the dstack CLI for defining ML workflows as code and running them easily on any cloud or -locally. The tool abstracts ML engineers from vendor APIs and infrastructure, making it convenient to run scripts, -development environments, and applications.

    - - -

    Today, we are excited to announce a preview of Hub, a new way to use dstack for teams to manage their model development -workflows effectively on any cloud platform.

    -

    How does it work?

    -

    Previously, the dstack CLI configured a cloud account as a remote to use local cloud credentials for direct requests to -the cloud. Now, the CLI allows configuration of Hub as a remote, enabling requests to the cloud using user credentials -stored in Hub.

    -
    sequenceDiagram
    -  autonumber
    -  participant CLI
    -  participant Hub
    -  participant Cloud
    -  %  Note right of Cloud: AWS, GCP, etc
    -  CLI->>Hub: Run a workflow
    -  activate Hub
    -      Hub-->>Hub: User authentication
    -      loop Workflow provider
    -        Hub-->>Cloud: Submit workflow jobs
    -      end
    -  Hub-->>CLI: Return the workflow status
    -  deactivate Hub
    -  loop Workflow scheduler
    -    Hub-->>Cloud: Re-submit workflow jobs
    -  end
    -

    The Hub not only provides basic features such as authentication and credential storage, but it also has built-in -workflow scheduling capabilities. For instance, it can monitor the availability of spot instances and automatically -resubmit jobs.

    -

    Why does it matter?

    -

    As you start developing models more regularly, you'll encounter the challenge of automating your ML workflows to reduce -time spent on infrastructure and manual work.

    -

    While many cloud vendors offer tools to automate ML workflows, they do so through opinionated UIs and APIs, leading to a -suboptimal developer experience and vendor lock-in.

    -

    In contrast, dstack aims to provide a non-opinionated and developer-friendly interface that can work across any -vendor.

    -

    Try the preview

    -

    Here's a quick guide to get started with Hub:

    -
      -
    1. Start the Hub application
    2. -
    3. Visit the URL provided in the output to log in as an administrator
    4. -
    5. Create a project and configure its backend (AWS or GCP)
    6. -
    7. Configure the CLI to use the project as a remote
    8. -
    -

    For more details, visit the Hub documentation.

    -

    What's next?

    -

    Currently, the only way to run or manage workflows is through the dstack CLI. There are scenarios when you'd prefer to run -workflows other ways, e.g. from Python code or programmatically via API. To support these scenarios, we plan to release soon -Python SDK and REST API.

    -

    The built-in scheduler currently monitors spot instance availability and automatically resubmits jobs. Our plan is to -enhance this feature and include additional capabilities. Users will be able to track cloud compute usage, and manage -quotes per team via the user interface.

    -

    Lastly, and of utmost importance, we plan to extend support to other cloud platforms, not limiting ourselves to AWS, -GCP, and Azure.

    -

    Contribution

    -

    You are encouraged to report any bugs, suggest new features, and provide feedback to improve Hub -through GitHub issues.

    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/changelog/0.9.1/index.html b/changelog/0.9.1/index.html index e301e5c5..04044170 100644 --- a/changelog/0.9.1/index.html +++ b/changelog/0.9.1/index.html @@ -1,2027 +1,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dstack 0.9.1: Azure integration - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Redirecting... + + + + - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - - - - - - - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - - - - - - - - - - - -

    dstack 0.9.1: Azure integration

    -

    At dstack, our goal is to create a simple and unified interface for ML engineers to run dev environments, pipelines, and -apps on any cloud. With the latest update, we take another significant step in this direction.

    - - -

    We are thrilled to announce that the latest update introduces Azure support, among other things, making it incredibly -easy to run dev environments, pipelines, and apps in Azure. Read on for more details.

    -

    Azure support

    -

    Using Azure with dstack is very straightforward. All you need to do is create the corresponding project via the UI and -provide your Azure credentials.

    -

    dstack-hub-create-azure-project.png

    -
    -

    NOTE:

    -

    For detailed instructions on setting up dstack for Azure, refer to the documentation.

    -
    -

    Once the project is set up, you can define dev environments, pipelines, and apps as code, and easily run them with just -a single command. dstack will automatically provision the infrastructure for you.

    -

    Logs and artifacts in UI

    -

    Secondly, with the new update, you now have the ability to browse the logs and artifacts of any run through the user interface.

    -

    dstack-run-artifacts.png

    -

    Better documentation

    -

    Last but not least, with the update, we have reworked the documentation to provide a greater -emphasis on specific use cases: dev environments, -tasks, and services.

    -

    Try it out

    -

    Please note that when installing dstack via pip, you now need to specify the exact list of cloud providers you intend to use:

    -
    - -
    $ pip install "dstack[aws,gcp,azure]" -U
    -
    - -
    - -

    This requirement applies only when you start the server locally. If you connect to a server hosted elsewhere, -you can use the shorter syntax:pip install dstack.

    -
    -

    Feedback

    -

    If you have any feedback, including issues or questions, please share them in -our Discord community or file it as -a GitHub issue.

    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file + +Redirecting... + + diff --git a/changelog/archive/2023/index.html b/changelog/archive/2023/index.html deleted file mode 100644 index 9798f211..00000000 --- a/changelog/archive/2023/index.html +++ /dev/null @@ -1,2506 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2023 - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - -
    -
    -
    - - - - - - - -
    -
    -
    - - - - - - - -
    -
    -
    -

    2023

    -
    - - - -
    -
    - - -
    -
    -

    dstack 0.12.3: Vast.ai integration

    -

    dstack simplifies gen AI model development and deployment through its developer-friendly CLI and API. -It eliminates cloud infrastructure hassles while supporting top cloud providers (such as AWS, GCP, -Azure, among others).

    -

    While dstack streamlines infrastructure challenges, GPU costs can still hinder development. To address this, -we've integrated dstack with Vast.ai, a marketplace providing GPUs from independent hosts at -notably lower prices compared to other providers.

    - - - - - -
    -
    - -
    -
    - - -
    -
    -

    dstack 0.12.2: TensorDock integration

    -

    At dstack, we remain committed to our mission of building the most convenient tool for orchestrating generative AI -workloads in the cloud. In today's release, we have added support for TensorDock, making it easier for you to leverage -cloud GPUs at highly competitive prices.

    - - - - - -
    -
    - -
    -
    - - -
    -
    -

    dstack 0.12.0: Simplified cloud setup, and refined API

    -

    For the past six weeks, we've been diligently overhauling dstack with the aim of significantly simplifying the process -of configuring clouds and enhancing the functionality of the API. Please take note of the breaking -changes, as they necessitate careful migration.

    - - - - - -
    -
    - - - -
    -
    - - -
    -
    -

    dstack 0.10.7: Services

    -

    Until now, dstack has supported dev-environment and task as configuration types. Even though task -may be used for basic serving use cases, it lacks crucial serving features. With the new update, we introduce -service, a dedicated configuration type for serving.

    - - - - - -
    -
    - - - -
    -
    - - -
    -
    -

    dstack 0.9.1: Azure integration

    -

    At dstack, our goal is to create a simple and unified interface for ML engineers to run dev environments, pipelines, and -apps on any cloud. With the latest update, we take another significant step in this direction.

    - - - - - -
    -
    - -
    -
    - - -
    -
    -

    dstack 0.7.0: Introducing dstack server

    -

    Last October, we open-sourced the dstack CLI for defining ML workflows as code and running them easily on any cloud or -locally. The tool abstracts ML engineers from vendor APIs and infrastructure, making it convenient to run scripts, -development environments, and applications.

    - - - - - -
    -
    - -
    -
    - - -
    -
    -

    dstack 0.2: GCP integration

    -

    With the release of version 0.2 of dstack, it is now possible to configure GCP as a remote. All features that were -previously available for AWS, -except real-time artifacts, are now available for GCP as -well.

    - - - - - -
    -
    - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/changelog/archive/2024/index.html b/changelog/archive/2024/index.html deleted file mode 100644 index 507ee39e..00000000 --- a/changelog/archive/2024/index.html +++ /dev/null @@ -1,2378 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2024 - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - -
    -
    -
    - - - - - - - -
    -
    -
    - - - - - - - -
    -
    -
    -

    2024

    -
    - - - - - - - - - -
    -
    - - -
    -
    -

    dstack 0.16.0: Pools

    -

    Previously, when running a dev environment, task, or service, dstack provisioned an instance in a configured -backend, and upon completion of the run, deleted the instance.

    -

    In the latest update, we introduce pools, a significantly more efficient way to manage -instance lifecycles and reuse instances across runs.

    - - - - - -
    -
    - -
    -
    - - -
    -
    -

    dstack 0.15.1: Kubernetes integration

    -

    In addition to a few bug fixes, the latest update brings initial integration with Kubernetes (experimental) and adds the -possibility to configure a custom VPC for AWS. Read below for more details.

    - - - - - -
    -
    - -
    -
    - - -
    -
    -

    dstack 0.15.0: Resources, authorization, and more

    -

    The latest update brings many improvements, enabling the configuration of resources in YAML files, requiring -authorization in services, supporting OpenAI-compatible endpoints for vLLM, and more.

    - - - - - -
    -
    - -
    -
    - - -
    -
    -

    dstack 0.14.0: OpenAI-compatible endpoints preview

    -

    The service configuration deploys any application as a public endpoint. For instance, you can use HuggingFace's -TGI or other frameworks to deploy custom LLMs. -While this is simple and customizable, using different frameworks and LLMs complicates the integration of LLMs.

    - - - - - -
    -
    - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/changelog/index.html b/changelog/index.html index 304b9708..b7e7e612 100644 --- a/changelog/index.html +++ b/changelog/index.html @@ -15,10 +15,6 @@ - - - - @@ -29,7 +25,7 @@ - Changelog - dstack + Blog - dstack @@ -89,7 +85,7 @@ - + @@ -97,7 +93,7 @@ - + @@ -119,7 +115,7 @@
    - + Skip to content @@ -169,7 +165,7 @@
    - Changelog + Blog
    @@ -327,20 +323,17 @@ - +
  • + + - -
  • - - Changelog - -
  • - + + @@ -1248,36 +1241,57 @@ - +
  • + + + + + Changelog + + + + + + + +
  • + + - - + + + + + + + + -
  • +
  • - + -
  • + + + - - +
    +
    +
    + + + +
    +
    +
    + + + +
    - - - - - - - - - -
    -
    -
    -

    Changelog

    -
    - - - - - - - - - -
    -
    - - -
    -
    -

    dstack 0.16.0: Pools

    -

    Previously, when running a dev environment, task, or service, dstack provisioned an instance in a configured -backend, and upon completion of the run, deleted the instance.

    -

    In the latest update, we introduce pools, a significantly more efficient way to manage -instance lifecycles and reuse instances across runs.

    - - - - - -
    -
    - -
    -
    - - -
    -
    -

    dstack 0.15.1: Kubernetes integration

    -

    In addition to a few bug fixes, the latest update brings initial integration with Kubernetes (experimental) and adds the -possibility to configure a custom VPC for AWS. Read below for more details.

    - - - - -
    -
    - -
    -
    - - -
    -
    -

    dstack 0.15.0: Resources, authorization, and more

    -

    The latest update brings many improvements, enabling the configuration of resources in YAML files, requiring -authorization in services, supporting OpenAI-compatible endpoints for vLLM, and more.

    - - - - -
    -
    - -
    -
    - - -
    -
    -

    dstack 0.14.0: OpenAI-compatible endpoints preview

    -

    The service configuration deploys any application as a public endpoint. For instance, you can use HuggingFace's -TGI or other frameworks to deploy custom LLMs. -While this is simple and customizable, using different frameworks and LLMs complicates the integration of LLMs.

    - - - - -
    -
    - - - -
    -
    - - -
    -
    -

    dstack 0.12.3: Vast.ai integration

    -

    dstack simplifies gen AI model development and deployment through its developer-friendly CLI and API. -It eliminates cloud infrastructure hassles while supporting top cloud providers (such as AWS, GCP, -Azure, among others).

    -

    While dstack streamlines infrastructure challenges, GPU costs can still hinder development. To address this, -we've integrated dstack with Vast.ai, a marketplace providing GPUs from independent hosts at -notably lower prices compared to other providers.

    - - - - -
    -
    - - - - - - - - - - -
    -
    + + @@ -2460,8 +1627,8 @@

    dstack diff --git a/changelog/page/2/index.html b/changelog/page/2/index.html deleted file mode 100644 index 02e45d2b..00000000 --- a/changelog/page/2/index.html +++ /dev/null @@ -1,2380 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Changelog - dstack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    -
    - - - -
    -
    -
    - - - - - - - -
    -
    -
    - - - - - - - -
    -
    -
    -

    Changelog

    -
    - -
    -
    - - -
    -
    -

    dstack 0.12.2: TensorDock integration

    -

    At dstack, we remain committed to our mission of building the most convenient tool for orchestrating generative AI -workloads in the cloud. In today's release, we have added support for TensorDock, making it easier for you to leverage -cloud GPUs at highly competitive prices.

    - - - - - -
    -
    - -
    -
    - - -
    -
    -

    dstack 0.12.0: Simplified cloud setup, and refined API

    -

    For the past six weeks, we've been diligently overhauling dstack with the aim of significantly simplifying the process -of configuring clouds and enhancing the functionality of the API. Please take note of the breaking -changes, as they necessitate careful migration.

    - - - - - -
    -
    - - - -
    -
    - - -
    -
    -

    dstack 0.10.7: Services

    -

    Until now, dstack has supported dev-environment and task as configuration types. Even though task -may be used for basic serving use cases, it lacks crucial serving features. With the new update, we introduce -service, a dedicated configuration type for serving.

    - - - - - -
    -
    - - - -
    -
    - - -
    -
    -

    dstack 0.9.1: Azure integration

    -

    At dstack, our goal is to create a simple and unified interface for ML engineers to run dev environments, pipelines, and -apps on any cloud. With the latest update, we take another significant step in this direction.

    - - - - - -
    -
    - -
    -
    - - -
    -
    -

    dstack 0.7.0: Introducing dstack server

    -

    Last October, we open-sourced the dstack CLI for defining ML workflows as code and running them easily on any cloud or -locally. The tool abstracts ML engineers from vendor APIs and infrastructure, making it convenient to run scripts, -development environments, and applications.

    - - - - - -
    -
    - -
    -
    - - -
    -
    -

    dstack 0.2: GCP integration

    -

    With the release of version 0.2 of dstack, it is now possible to configure GCP as a remote. All features that were -previously available for AWS, -except real-time artifacts, are now available for GCP as -well.

    - - - - - -
    -
    - - - - - - - - - - -
    -
    - - - -
    - - - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/concepts/dev-environments/index.html b/docs/concepts/dev-environments/index.html index 6219c03b..1885bddf 100644 --- a/docs/concepts/dev-environments/index.html +++ b/docs/concepts/dev-environments/index.html @@ -332,17 +332,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1462,180 +1461,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -2325,8 +2142,8 @@

    What's next? Docs - Examples - Changelog + Examples + Changelog Blog diff --git a/docs/concepts/pools/index.html b/docs/concepts/pools/index.html index b7e9f377..a8533cce 100644 --- a/docs/concepts/pools/index.html +++ b/docs/concepts/pools/index.html @@ -332,17 +332,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1404,180 +1403,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -2163,8 +1980,8 @@

    List instances Docs - Examples - Changelog + Examples + Changelog Blog diff --git a/docs/concepts/services/index.html b/docs/concepts/services/index.html index 2b6008d7..91c8f399 100644 --- a/docs/concepts/services/index.html +++ b/docs/concepts/services/index.html @@ -332,17 +332,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1520,180 +1519,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -2583,8 +2400,8 @@

    What's next? Docs - Examples - Changelog + Examples + Changelog Blog diff --git a/docs/concepts/tasks/index.html b/docs/concepts/tasks/index.html index 3f99cd9c..9d02c6d1 100644 --- a/docs/concepts/tasks/index.html +++ b/docs/concepts/tasks/index.html @@ -332,17 +332,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1456,180 +1455,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -2369,8 +2186,8 @@

    What's next? Docs - Examples - Changelog + Examples + Changelog Blog diff --git a/docs/index.html b/docs/index.html index 1a22f3d6..85ce46e3 100644 --- a/docs/index.html +++ b/docs/index.html @@ -332,17 +332,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1353,180 +1352,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -2027,8 +1844,8 @@

    Where do I start? Docs - Examples - Changelog + Examples + Changelog Blog diff --git a/docs/installation/index.html b/docs/installation/index.html index a3a6f7ce..08c2e192 100644 --- a/docs/installation/index.html +++ b/docs/installation/index.html @@ -332,17 +332,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1502,180 +1501,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -2813,8 +2630,8 @@

    What's next? Docs - Examples - Changelog + Examples + Changelog Blog diff --git a/docs/quickstart/index.html b/docs/quickstart/index.html index 3522fb7a..bfd6d8bf 100644 --- a/docs/quickstart/index.html +++ b/docs/quickstart/index.html @@ -332,17 +332,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1366,180 +1365,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -2142,8 +1959,8 @@

    What's next? Docs - Examples - Changelog + Examples + Changelog Blog diff --git a/docs/reference/api/python/index.html b/docs/reference/api/python/index.html index f25026ba..fe116fe6 100644 --- a/docs/reference/api/python/index.html +++ b/docs/reference/api/python/index.html @@ -332,17 +332,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1707,180 +1706,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -5285,8 +5102,8 @@

    diff --git a/docs/reference/api/rest/index.html b/docs/reference/api/rest/index.html index fe042bd0..e22f4aff 100644 --- a/docs/reference/api/rest/index.html +++ b/docs/reference/api/rest/index.html @@ -18,7 +18,7 @@ - + @@ -327,17 +327,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1273,180 +1272,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -1820,13 +1637,13 @@

    REST API

    -
    + diff --git a/docs/reference/dstack.yml/dev-environment/index.html b/docs/reference/dstack.yml/dev-environment/index.html index 60a9d0e8..3df3d707 100644 --- a/docs/reference/dstack.yml/dev-environment/index.html +++ b/docs/reference/dstack.yml/dev-environment/index.html @@ -332,17 +332,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1879,180 +1878,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -3186,8 +3003,8 @@

    password - The password o diff --git a/docs/reference/dstack.yml/index.html b/docs/reference/dstack.yml/index.html index 6165eb75..87e0a108 100644 --- a/docs/reference/dstack.yml/index.html +++ b/docs/reference/dstack.yml/index.html @@ -324,17 +324,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1244,180 +1243,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -1807,8 +1624,8 @@

    .dstack.yml Docs - Examples - Changelog + Examples + Changelog Blog diff --git a/docs/reference/dstack.yml/service/index.html b/docs/reference/dstack.yml/service/index.html index 4c60a367..8feb85ac 100644 --- a/docs/reference/dstack.yml/service/index.html +++ b/docs/reference/dstack.yml/service/index.html @@ -332,17 +332,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -2038,180 +2037,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -3602,8 +3419,8 @@

    password - The password o diff --git a/docs/reference/dstack.yml/task/index.html b/docs/reference/dstack.yml/task/index.html index 6dc8fe63..a32ec1be 100644 --- a/docs/reference/dstack.yml/task/index.html +++ b/docs/reference/dstack.yml/task/index.html @@ -332,17 +332,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1907,180 +1906,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -3310,8 +3127,8 @@

    password - The password o diff --git a/docs/reference/profiles.yml/index.html b/docs/reference/profiles.yml/index.html index b6b76539..1337b5cf 100644 --- a/docs/reference/profiles.yml/index.html +++ b/docs/reference/profiles.yml/index.html @@ -332,17 +332,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1545,180 +1544,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -2433,8 +2250,8 @@

    duration - (Optional) The diff --git a/docs/reference/server/config.yml/index.html b/docs/reference/server/config.yml/index.html index 6b979921..80f3ec40 100644 --- a/docs/reference/server/config.yml/index.html +++ b/docs/reference/server/config.yml/index.html @@ -332,17 +332,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -2303,180 +2302,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -4195,8 +4012,8 @@

    ssh_port - (Optional) Any diff --git a/index.html b/index.html index c7a81fc8..52ed27e2 100644 --- a/index.html +++ b/index.html @@ -293,17 +293,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1223,180 +1222,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -1900,6 +1717,23 @@

    + +

    + vLLM +

    + +

    + Deploy LLMs with vLLM, an open-source serving library. + +

    +

    + +
    +
    Deployment
    +
    LLMs
    +
    +
    +

    Text Generation Inference @@ -1915,15 +1749,13 @@

    - +

    - vLLM + Ollama

    - Deploy LLMs with vLLM, an open-source serving library. - -

    + Deploy LLMs using Ollama, an open-source serving tool.

    @@ -1932,6 +1764,7 @@

    +

    Text Embeddings Inference @@ -1950,7 +1783,7 @@

    Browse all examples + class="md-button md-button-secondary small external">More examples

    @@ -2254,8 +2087,8 @@

    Community

    diff --git a/overrides/home.html b/overrides/home.html index a7593e23..08a9efb6 100644 --- a/overrides/home.html +++ b/overrides/home.html @@ -320,6 +320,23 @@

    + +

    + vLLM +

    + +

    + Deploy LLMs with vLLM, an open-source serving library. + +

    +

    + +
    +
    Deployment
    +
    LLMs
    +
    +
    +

    Text Generation Inference @@ -335,15 +352,13 @@

    - +

    - vLLM + Ollama

    - Deploy LLMs with vLLM, an open-source serving library. - -

    + Deploy LLMs using Ollama, an open-source serving tool.

    @@ -352,6 +367,7 @@

    +

    Text Embeddings Inference @@ -370,7 +386,7 @@

    Browse all examples + class="md-button md-button-secondary small external">More examples

    diff --git a/overrides/landing.html b/overrides/landing.html index ff811b1e..a6a65d2f 100644 --- a/overrides/landing.html +++ b/overrides/landing.html @@ -43,8 +43,8 @@ diff --git a/overrides/main.html b/overrides/main.html index c075d3f3..af56cd02 100644 --- a/overrides/main.html +++ b/overrides/main.html @@ -98,8 +98,8 @@ diff --git a/pricing/index.html b/pricing/index.html index 8a5dbf2b..d7df1008 100644 --- a/pricing/index.html +++ b/pricing/index.html @@ -289,17 +289,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1211,180 +1210,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -1934,8 +1751,8 @@

    FAQ

    diff --git a/privacy/index.html b/privacy/index.html index a502f5d5..4b069a5e 100644 --- a/privacy/index.html +++ b/privacy/index.html @@ -289,17 +289,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1211,180 +1210,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -1878,8 +1695,8 @@

    Children's Information

    diff --git a/search/search_index.json b/search/search_index.json index 95e8eeba..7c2eba3e 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"],"fields":{"title":{"boost":1000.0},"text":{"boost":1.0},"tags":{"boost":1000000.0}}},"docs":[{"location":"blog/","title":"Blog","text":""},{"location":"blog/archive/say-goodbye-to-managed-notebooks/","title":"Say goodbye to managed notebooks","text":"

    Data science and ML tools have made significant advancements in recent years. This blog post aims to examine the advantages of cloud dev environments (CDE) for ML engineers and compare them with web-based managed notebooks.

    "},{"location":"blog/archive/say-goodbye-to-managed-notebooks/#notebooks-are-here-to-stay","title":"Notebooks are here to stay","text":"

    Jupyter notebooks are instrumental for interactive work with data. They provide numerous advantages such as high interactivity, visualization support, remote accessibility, and effortless sharing.

    Managed notebook platforms, like Google Colab and AWS SageMaker have become popular thanks to their easy integration with clouds. With pre-configured environments, managed notebooks remove the need to worry about infrastructure.

    "},{"location":"blog/archive/say-goodbye-to-managed-notebooks/#reproducibility-challenge","title":"Reproducibility challenge","text":"

    As the code evolves, it needs to be converted into Python scripts and stored in Git for improved organization and version control. Notebooks alone cannot handle this task, which is why they must be a part of a developer environment that also supports Python scripts and Git.

    The JupyterLab project attempts to address this by turning notebooks into an IDE by adding a file browser, terminal, and Git support.

    "},{"location":"blog/archive/say-goodbye-to-managed-notebooks/#ides-get-equipped-for-ml","title":"IDEs get equipped for ML","text":"

    Recently, IDEs have improved in their ability to support machine learning. They have started to combine the benefits of traditional IDEs and managed notebooks.

    IDEs have upgraded their remote capabilities, with better SSH support. Additionally, they now offer built-in support for editing notebooks.

    Two popular IDEs, VS Code and PyCharm, have both integrated remote capabilities and seamless notebook editing features.

    "},{"location":"blog/archive/say-goodbye-to-managed-notebooks/#the-rise-of-app-ecosystem","title":"The rise of app ecosystem","text":"

    Notebooks have been beneficial for their interactivity and sharing features. However, there are new alternatives like Streamlit and Gradio that allow developers to build data apps using Python code. These frameworks not only simplify app-building but also enhance reproducibility by integrating with Git.

    Hugging Face Spaces, for example, is a popular tool today for sharing Streamlit and Gradio apps with others.

    "},{"location":"blog/archive/say-goodbye-to-managed-notebooks/#say-hello-to-cloud-dev-environments","title":"Say hello to cloud dev environments!","text":"

    Remote development within IDEs is becoming increasingly popular, and as a result, cloud dev environments have emerged as a new concept. Various managed services, such as Codespaces and GitPod, offer scalable infrastructure while maintaining the familiar IDE experience.

    One such open-source tool is dstack, which enables you to define your dev environment declaratively as code and run it on any cloud.

    type: dev-environment\nbuild:\n  - apt-get update\n  - apt-get install -y ffmpeg\n  - pip install -r requirements.txt\nide: vscode\n

    With this tool, provisioning the required hardware, setting up the pre-built environment (no Docker is needed), and fetching your local code is automated.

    $ dstack run .\n\n RUN                 CONFIGURATION  USER   PROJECT  INSTANCE       SPOT POLICY\n honest-jellyfish-1  .dstack.yml    peter  gcp      a2-highgpu-1g  on-demand\n\nStarting SSH tunnel...\n\nTo open in VS Code Desktop, use one of these link:\n  vscode://vscode-remote/ssh-remote+honest-jellyfish-1/workflow\n\nTo exit, press Ctrl+C.\n

    You can securely access the cloud development environment with the desktop IDE of your choice.

    Learn more

    Check out our guide for running dev environments in your cloud.

    "},{"location":"blog/dstack-sky/","title":"Introducing dstack Sky","text":"

    Today we're previewing dstack Sky, a service built on top of dstack that enables you to get GPUs at competitive rates from a wide pool of providers.

    "},{"location":"blog/dstack-sky/#tldr","title":"TL;DR","text":"
    • GPUs at competitive rates from multiple providers
    • No need for your own cloud accounts
    • Compatible with dstack's CLI and API
    • A pre-configured gateway for deploying services
    "},{"location":"blog/dstack-sky/#introduction","title":"Introduction","text":"

    dstack is an open-source tool designed for managing AI infrastructure across various cloud platforms. It's lighter and more specifically geared towards AI tasks compared to Kubernetes.

    Due to its support for multiple cloud providers, dstack is frequently used to access on-demand and spot GPUs across multiple clouds. From our users, we've learned that managing various cloud accounts, quotas, and billing can be cumbersome.

    To streamline this process, we introduce dstack Sky, a managed service that enables users to access GPUs from multiple providers through dstack \u2013 without needing an account in each cloud provider.

    "},{"location":"blog/dstack-sky/#what-is-dstack-sky","title":"What is dstack Sky?","text":"

    Instead of running dstack server yourself, you point dstack config to a project set up with dstack Sky.

    $ dstack config --url https://sky.dstack.ai \\\n    --project my-awesome-project \\\n    --token ca1ee60b-7b3f-8943-9a25-6974c50efa75\n

    Now, you can use dstack's CLI or API \u2013 just like you would with your own cloud accounts.

    $ dstack run . -b tensordock -b vastai\n\n #  BACKEND     REGION  RESOURCES                    SPOT  PRICE \n 1  vastai      canada  16xCPU/64GB/1xRTX4090/1TB    no    $0.35\n 2  vastai      canada  16xCPU/64GB/1xRTX4090/400GB  no    $0.34\n 3  tensordock  us      8xCPU/48GB/1xRTX4090/480GB   no    $0.74\n    ...\n Shown 3 of 50 offers, $0.7424 max\n\nContinue? [y/n]:\n

    Backends

    dstack Sky supports the same backends as the open-source version, except that you don't need to set them up. By default, it uses all supported backends.

    You can use both on-demand and spot instances without needing to manage quotas, as they are automatically handled for you.

    With dstack Sky you can use all of dstack's features, incl. dev environments, tasks, services, and pools.

    To use services, the open-source version requires setting up a gateway with your own domain. dstack Sky comes with a pre-configured gateway.

    $ dstack gateway list\n BACKEND  REGION     NAME    ADDRESS       DOMAIN                            DEFAULT\n aws      eu-west-1  dstack  3.252.79.143  my-awesome-project.sky.dstack.ai  \u2713\n

    If you run it with dstack Sky, the service's endpoint will be available at https://<run name>.<project name>.sky.dstack.ai.

    Let's say we define a service:

    type: service\n# Deploys Mixtral 8x7B with Ollama\n\n# Serve model using Ollama's Docker image\nimage: ollama/ollama\ncommands:\n  - ollama serve &\n  - sleep 3\n  - ollama pull mixtral\n  - fg\nport: 11434\n\n# Configure hardware requirements\nresources:\n  gpu: 48GB..80GB\n\n# Enable OpenAI compatible endpoint\nmodel:\n  type: chat\n  name: mixtral\n  format: openai\n

    If it has a model mapping, the model will be accessible at https://gateway.<project name>.sky.dstack.ai via the OpenAI compatible interface.

    from openai import OpenAI\n\n\nclient = OpenAI(\n  base_url=\"https://gateway.<project name>.sky.dstack.ai\",\n  api_key=\"<dstack token>\"\n)\n\ncompletion = client.chat.completions.create(\n  model=\"mixtral\",\n  messages=[\n    {\"role\": \"user\", \"content\": \"Compose a poem that explains the concept of recursion in programming.\"}\n  ]\n)\n\nprint(completion.choices[0].message)\n

    Now, you can choose \u2014 either use dstack via the open-source version or via dstack Sky, or even use them side by side.

    Credits

    Are you an active contributor to the AI community? Request free dstack Sky credits.

    dstack Sky is live on Product Hunt. Support it by giving it your vote!

    Join Discord

    "},{"location":"changelog/","title":"Changelog","text":""},{"location":"changelog/0.10.5/","title":"dstack 0.10.5: Lambda integration, Docker support, and more","text":"

    In the previous update, we added initial integration with Lambda Cloud. With today's release, this integration has significantly improved and finally goes generally available. Additionally, the latest release adds support for custom Docker images.

    "},{"location":"changelog/0.10.5/#lambda-cloud","title":"Lambda Cloud","text":"

    In this update, we've added a possibility to create Lambda Cloud projects via the user interface.

    All you need to do is provide your Lambda Cloud API key, and specify an S3 bucket and AWS credentials for storing state and artifacts.

    Learn more \u2192

    Once the project is configured, feel free to run dev environments and tasks in Lambda Cloud using the dstack CLI.

    "},{"location":"changelog/0.10.5/#custom-docker-images","title":"Custom Docker images","text":"

    By default, dstack uses its own base Docker images to run dev environments and tasks. These base images come pre-configured with Python, Conda, and essential CUDA drivers. However, there may be times when you need additional dependencies that you don't want to install every time you run your dev environment or task.

    To address this, dstack now allows specifying custom Docker images. Here's an example:

    type: task\n\nimage: ghcr.io/huggingface/text-generation-inference:0.9\n\nenv:\n  - MODEL_ID=tiiuae/falcon-7b\n\nports:\n - 3000\n\ncommands: \n  - text-generation-launcher --hostname 0.0.0.0 --port 3000 --trust-remote-code\n
    Existing limitations

    Dev environments require the Docker image to have openssh-server pre-installed. If you want to use a custom Docker image with a dev environment and it does not include openssh-server, you can install it using the following method:

    type: dev-environment\n\nimage: ghcr.io/huggingface/text-generation-inference:0.9\n\nbuild:\n  - apt-get update\n  - DEBIAN_FRONTEND=noninteractive apt-get install -y openssh-server\n  - rm -rf /var/lib/apt/lists/*\n\nide: vscode\n

    The documentation and examples are updated to reflect the changes in the release.

    "},{"location":"changelog/0.10.5/#give-it-a-try","title":"Give it a try","text":"

    Getting started with dstack takes less than a minute. Go ahead and give it a try.

    $ pip install \"dstack[aws,gcp,azure,lambda]\" -U\n$ dstack start\n
    "},{"location":"changelog/0.10.7/","title":"dstack 0.10.7: Services","text":"

    Until now, dstack has supported dev-environment and task as configuration types. Even though task may be used for basic serving use cases, it lacks crucial serving features. With the new update, we introduce service, a dedicated configuration type for serving.

    Consider the following example:

    type: task\n\nimage: ghcr.io/huggingface/text-generation-inference:0.9.3\n\nports: \n  - 8000\n\ncommands: \n  - text-generation-launcher --hostname 0.0.0.0 --port 8000 --trust-remote-code\n

    When running it, the dstack CLI forwards traffic to 127.0.0.1:8000. This is convenient for development but unsuitable for production.

    In production, you need your endpoint available on the external network, preferably behind authorization and a load balancer.

    This is why we introduce the service configuration type.

    type: service\n\nimage: ghcr.io/huggingface/text-generation-inference:0.9.3\n\nport: 8000\n\ncommands: \n  - text-generation-launcher --hostname 0.0.0.0 --port 8000 --trust-remote-code\n

    As you see, there are two differences compared to task.

    1. The gateway property: the address of a special cloud instance that wraps the running service with a public endpoint. Currently, you must specify it manually. In the future, dstack will assign it automatically.
    2. The port property: A service must always configure one port on which it's running.

    When running, dstack forwards the traffic to the gateway, providing you with a public endpoint that you can use to access the running service.

    Existing limitations
    1. Currently, you must create a gateway manually using the dstack gateway command and specify its address via YAML (e.g. using secrets). In the future, dstack will assign it automatically.
    2. Gateways do not support HTTPS yet. When you run a service, its endpoint URL is <the address of the gateway>:80. The port can be overridden via the port property: instead of 8000, specify <gateway port>:8000.
    3. Gateways do not provide authorization and auto-scaling. In the future, dstack will support them as well.

    This initial support for services is the first step towards providing multi-cloud and cost-effective inference.

    Give it a try and share feedback

    Even though the current support is limited in many ways, we encourage you to give it a try and share your feedback with us!

    More details on how to use services can be found in a dedicated guide in our docs. Questions and requests for help are very much welcome in our Discord server.

    "},{"location":"changelog/0.11.0/","title":"dstack 0.11.0: Multi-cloud and multi-region projects","text":"

    The latest release of dstack enables the automatic discovery of the best GPU price and availability across multiple configured cloud providers and regions.

    "},{"location":"changelog/0.11.0/#multiple-backends-per-project","title":"Multiple backends per project","text":"

    Now, dstack leverages price data from multiple configured cloud providers and regions to automatically suggest the most cost-effective options.

    $ dstack run . -f llama-2/train.dstack.yml --gpu A100\n\n Configuration       llama-2/train.dstack.yml\n Min resources       2xCPUs, 8GB, 1xA100\n Max price           no\n Spot policy         auto\n Max duration        72h\n\n #  BACKEND  RESOURCES                      SPOT  PRICE\n 2  lambda   30xCPUs, 200GB, 1xA100 (80GB)  yes   $1.1\n 3  gcp      12xCPUs, 85GB, 1xA100 (40GB)   yes   $1.20582\n 1  azure    24xCPUs, 220GB, 1xA100 (80GB)  yes   $1.6469\n    ...\n\nContinue? [y/n]:\n

    The default behavior of dstack is to first attempt the most cost-effective options, provided they are available. You have the option to set a maximum price limit either through max_price in .dstack/profiles.yml or by using --max-price in the dstack run command.

    To implement this change, we have modified the way projects are configured. You can now configure multiple clouds and regions within a single project.

    Why this matter?

    The ability to run LLM workloads across multiple cloud GPU providers allows for a significant reduction in costs and an increase in availability, while also remaining independent of any particular cloud vendor.

    We hope that the value of dstack will continue to grow as we expand our support for additional cloud GPU providers. If you're interested in a specific provider, please message us on Discord.

    "},{"location":"changelog/0.11.0/#custom-domains-and-https","title":"Custom domains and HTTPS","text":"

    In other news, it is now possible to deploy services using HTTPS. All you need to do is configure a wildcard domain (e.g., *.mydomain.com), point it to the gateway IP address, and then pass the subdomain you want to use (e.g., myservice.mydomain.com) to the gateway property in YAML (instead of the gateway IP address).

    "},{"location":"changelog/0.11.0/#other-changes","title":"Other changes","text":""},{"location":"changelog/0.11.0/#dstackprofilesyml","title":".dstack/profiles.yml","text":"
    • The project property is no longer supported.
    • You can now use max_price to set the maximum price per hour in dollars.
    "},{"location":"changelog/0.11.0/#dstack-run","title":"dstack run","text":"

    Using the dstack run command, you are now able to utilize options such as --gpu, --memory, --env, --max-price, and several other arguments to override the profile settings.

    Lastly, the local backend is no longer supported. Now, you can run everything using only a cloud backend.

    The documentation is updated to reflect the changes in the release.

    Migration to 0.11

    The dstack version 0.11 update brings significant changes that break backward compatibility. If you used prior dstack versions, after updating to dstack==0.11, you'll need to log in to the UI and reconfigure clouds.

    We apologize for any inconvenience and aim to ensure future updates maintain backward compatibility.

    "},{"location":"changelog/0.11.0/#give-it-a-try","title":"Give it a try","text":"

    Getting started with dstack takes less than a minute. Go ahead and give it a try.

    $ pip install \"dstack[aws,gcp,azure,lambda]\" -U\n$ dstack start\n
    "},{"location":"changelog/0.12.0/","title":"dstack 0.12.0: Simplified cloud setup, and refined API","text":"

    For the past six weeks, we've been diligently overhauling dstack with the aim of significantly simplifying the process of configuring clouds and enhancing the functionality of the API. Please take note of the breaking changes, as they necessitate careful migration.

    "},{"location":"changelog/0.12.0/#cloud-setup","title":"Cloud setup","text":"

    Previously, the only way to configure clouds for a project was through the UI. Additionally, you had to specify not only the credentials but also set up a storage bucket for each cloud to store metadata.

    Now, you can configure clouds for a project via ~/.dstack/server/config.yml. Example:

    projects:\n- name: main\n  backends:\n  - type: aws\n    creds:\n      type: access_key\n      access_key: AIZKISCVKUKO5AAKLAEH\n      secret_key: QSbmpqJIUBn1V5U3pyM9S6lwwiu8/fOJ2dgfwFdW\n

    Regions and other settings are optional. Learn more on what credential types are supported via Clouds.

    "},{"location":"changelog/0.12.0/#enhanced-api","title":"Enhanced API","text":"

    The earlier introduced Python API is now greatly refined.

    Creating a dstack client is as easy as this:

    from dstack.api import Client, ClientError\n\ntry:\n    client = Client.from_config()\nexcept ClientError:\n    print(\"Can't connect to the server\")\n

    Now, you can submit a task or a service:

    from dstack.api import Task, Resources, GPU\n\ntask = Task(\n    image=\"ghcr.io/huggingface/text-generation-inference:latest\",\n    env={\"MODEL_ID\": \"TheBloke/Llama-2-13B-chat-GPTQ\"},\n    commands=[\n        \"text-generation-launcher --trust-remote-code --quantize gptq\",\n    ],\n    ports=[\"80\"],\n)\n\nrun = client.runs.submit(\n    run_name=\"my-awesome-run\",\n    configuration=task,\n    resources=Resources(gpu=GPU(memory=\"24GB\")),\n)\n

    The dstack.api.Run instance provides methods for various operations including attaching to the run, forwarding ports to localhost, retrieving status, stopping, and accessing logs. For more details, refer to the reference.

    "},{"location":"changelog/0.12.0/#other-changes","title":"Other changes","text":"
    • Because we've prioritized CLI and API UX over the UI, the UI is no longer bundled. Please inform us if you experience any significant inconvenience related to this.
    • Gateways should now be configured using the dstack gateway command, and their usage requires you to specify a domain. Learn more about how to set up a gateway.
    • The dstack start command is now dstack server.
    • The Python API classes were moved from the dstack package to dstack.api.
    "},{"location":"changelog/0.12.0/#migration","title":"Migration","text":"

    Unfortunately, when upgrading to 0.12.0, there is no automatic migration for data. This means you'll need to delete ~/.dstack and configure dstack from scratch.

    1. pip install \"dstack[all]==0.12.0\"
    2. Delete ~/.dstack
    3. Configure clouds via ~/.dstack/server/config.yml (see the new guide)
    4. Run dstack server

    The documentation and examples are updated.

    "},{"location":"changelog/0.12.0/#give-it-a-try","title":"Give it a try","text":"

    Getting started with dstack takes less than a minute. Go ahead and give it a try.

    $ pip install \"dstack[all]\" -U\n$ dstack server\n

    Feedback and support

    Questions and requests for help are very much welcome in our Discord server.

    "},{"location":"changelog/0.12.2/","title":"dstack 0.12.2: TensorDock integration","text":"

    At dstack, we remain committed to our mission of building the most convenient tool for orchestrating generative AI workloads in the cloud. In today's release, we have added support for TensorDock, making it easier for you to leverage cloud GPUs at highly competitive prices.

    Configuring your TensorDock account with dstack is very easy. Simply generate an authorization key in your TensorDock API settings and set it up in ~/.dstack/server/config.yml:

    projects:\n- name: main\n  backends:\n  - type: tensordock\n    creds:\n      type: api_key\n      api_key: 248e621d-9317-7494-dc1557fa5825b-98b\n      api_token: FyBI3YbnFEYXdth2xqYRnQI7hiusssBC\n

    Now you can restart the server and proceed to using the CLI or API for running development environments, tasks, and services.

    $ dstack run . -f .dstack.yml --gpu 40GB\n\n Min resources  1xGPU (40GB)\n Max price      -\n Max duration   6h\n Retry policy   no\n\n #  REGION        INSTANCE  RESOURCES                     SPOT  PRICE\n 1  unitedstates  ef483076  10xCPU, 80GB, 1xA6000 (48GB)  no    $0.6235\n 2  canada        0ca177e7  10xCPU, 80GB, 1xA6000 (48GB)  no    $0.6435\n 3  canada        45d0cabd  10xCPU, 80GB, 1xA6000 (48GB)  no    $0.6435\n    ...\n\nContinue? [y/n]:\n

    TensorDock offers cloud GPUs on top of servers from dozens of independent hosts, providing some of the most affordable GPU pricing you can find on the internet.

    With dstack, you can now utilize TensorDock's GPUs through a highly convenient interface, which includes the developer-friendly CLI and API.

    Feedback and support

    Feel free to ask questions or seek help in our Discord server.

    "},{"location":"changelog/0.12.3/","title":"dstack 0.12.3: Vast.ai integration","text":"

    dstack simplifies gen AI model development and deployment through its developer-friendly CLI and API. It eliminates cloud infrastructure hassles while supporting top cloud providers (such as AWS, GCP, Azure, among others).

    While dstack streamlines infrastructure challenges, GPU costs can still hinder development. To address this, we've integrated dstack with Vast.ai, a marketplace providing GPUs from independent hosts at notably lower prices compared to other providers.

    With the dstack 0.12.3 release, it's now possible use Vast.ai alongside other cloud providers.

    $ dstack run . --gpu 24GB --backend vastai --max-price 0.4\n\n #  REGION            INSTANCE  RESOURCES                       PRICE\n 1  pl-greaterpoland  6244171   16xCPU, 32GB, 1xRTX3090 (24GB)  $0.18478\n 2  ee-harjumaa       6648481   16xCPU, 64GB, 1xA5000 (24GB)    $0.29583\n 3  pl-greaterpoland  6244172   32xCPU, 64GB, 2xRTX3090 (24GB)  $0.36678\n    ...\n\nContinue? [y/n]:\n

    By default, it suggests GPU instances based on their quality score. If you want to, you can control the maximum price.

    Configuring Vast.ai for use with dstack is easy. Log into your Vast AI account, click Account in the sidebar, and copy your API Key.

    Then, go ahead and configure the backend:

    projects:\n- name: main\n  backends:\n  - type: vastai\n    creds:\n      type: api_key\n      api_key: d75789f22f1908e0527c78a283b523dd73051c8c7d05456516fc91e9d4efd8c5\n

    Now you can restart the server and proceed to using dstack's CLI and API.

    If you want an easy way to develop, train and deploy gen AI models using affordable cloud GPUs, give dstack with Vast.ai a try.

    Feedback and support

    Feel free to ask questions or seek help in our Discord server.

    "},{"location":"changelog/0.13.0/","title":"dstack 0.13.0: Disk size, CUDA 12.1, Mixtral, and more","text":"

    As we wrap up this year, we're releasing a new update and publishing a guide on deploying Mixtral 8x7B with dstack.

    "},{"location":"changelog/0.13.0/#configurable-disk-size","title":"Configurable disk size","text":"

    Previously, dstack set the disk size to 100GB regardless of the cloud provider. Now, to accommodate larger language models and datasets, dstack enables setting a custom disk size using --disk in dstack run or via the disk property in .dstack/profiles.yml.

    "},{"location":"changelog/0.13.0/#default-docker-image","title":"Default Docker image","text":"

    With dstack, whether you're using dev environments, tasks, or services, you can opt for a custom Docker image (for self-installed dependencies) or stick with the default Docker image (dstack pre-installs CUDA drivers, Conda, Python, etc.).

    We've upgraded the default Docker image's CUDA drivers to 12.1 (for better compatibility with modern libraries).

    nvcc

    If you're using the default Docker image and need the CUDA compiler (nvcc), you'll have to install it manually using conda install cuda. The image comes pre-configured with the nvidia/label/cuda-12.1.0 Conda channel.

    "},{"location":"changelog/0.13.0/#mixtral-8x7b","title":"Mixtral 8x7B","text":"

    Lastly, and most importantly, we've added an example on deploying Mixtral 8x7B as a service. This guide allows you to effortlessly deploy a Mixtral endpoint on any cloud platform of your preference.

    Deploying Mixtral 8x7B is easy, especailly when using vLLM:

    type: service\n\npython: \"3.11\"\n\ncommands:\n  - conda install cuda # (required by megablocks)\n  - pip install torch # (required by megablocks)\n  - pip install vllm megablocks\n  - python -m vllm.entrypoints.openai.api_server\n    --model mistralai/Mixtral-8X7B-Instruct-v0.1\n    --host 0.0.0.0\n    --tensor-parallel-size 2 # should match the number of GPUs\n\nport: 8000\n

    Once the configuration is defined, goahead and run it:

    $ dstack run . -f llms/mixtral.dstack.yml --gpu \"80GB:2\" --disk 200GB\n

    It will deploy the endpoint at https://<run-name>.<gateway-domain>.

    Because vLLM provides an OpenAI-compatible endpoint, feel free to access it using various OpenAI-compatible tools like Chat UI, LangChain, Llama Index, etc.

    Check the complete example for more details.

    Don't forget, with dstack, you can use spot instances across different clouds and regions.

    "},{"location":"changelog/0.13.0/#feedback-and-support","title":"Feedback and support","text":"

    That's all! Feel free to try out the update and the new guide, and share your feedback with us.

    For updates or assistance, join our Discord.

    "},{"location":"changelog/0.14.0/","title":"dstack 0.14.0: OpenAI-compatible endpoints preview","text":"

    The service configuration deploys any application as a public endpoint. For instance, you can use HuggingFace's TGI or other frameworks to deploy custom LLMs. While this is simple and customizable, using different frameworks and LLMs complicates the integration of LLMs.

    With dstack 0.14.0, we are extending the service configuration in dstack to enable you to optionally map your custom LLM to an OpenAI-compatible endpoint.

    Here's how it works: you define a service (as before) and include the model property with the model's type, name, format, and other settings.

    type: service\n\nimage: ghcr.io/huggingface/text-generation-inference:latest\nenv:\n  - MODEL_ID=mistralai/Mistral-7B-Instruct-v0.1\nport: 80\ncommands:\n  - text-generation-launcher --port 80 --trust-remote-code\n\n\n# Optional mapping for OpenAI-compatible endpoint\nmodel:\n  type: chat\n  name: mistralai/Mistral-7B-Instruct-v0.1\n  format: tgi\n

    When you deploy the service using dstack run, dstack will automatically publish the OpenAI-compatible endpoint, converting the prompt and response format between your LLM and OpenAI interface.

    from openai import OpenAI\n\nclient = OpenAI(\n    base_url=\"https://gateway.<your gateway domain>\",\n    api_key=\"none\"\n)\n\ncompletion = client.chat.completions.create(\n    model=\"mistralai/Mistral-7B-Instruct-v0.1\",\n    messages=[\n        {\"role\": \"user\", \"content\": \"Compose a poem that explains the concept of recursion in programming.\"}\n    ]\n)\n\nprint(completion.choices[0].message)\n

    Here's a live demo of how it works:

    For more details on how to use the new feature, be sure to check the updated documentation on services, and the TGI example.

    "},{"location":"changelog/0.14.0/#migration-guide","title":"Migration guide","text":"

    Note: After you update to 0.14.0, it's important to delete your existing gateways (if any) using dstack gateway delete and create them again with dstack gateway create.

    "},{"location":"changelog/0.14.0/#feedback","title":"Feedback","text":"

    In case you have any questions, experience bugs, or need help, drop us a message on our Discord server or submit it as a GitHub issue.

    "},{"location":"changelog/0.15.0/","title":"dstack 0.15.0: Resources, authorization, and more","text":"

    The latest update brings many improvements, enabling the configuration of resources in YAML files, requiring authorization in services, supporting OpenAI-compatible endpoints for vLLM, and more.

    "},{"location":"changelog/0.15.0/#resource-configuration","title":"Resource configuration","text":"

    Previously, if you wanted to request hardware resources, you had to either use the corresponding arguments with dstack run (e.g. --gpu GPU_SPEC) or use .dstack/profiles.yml.

    With 0.15.0, it is now possible to configure resources in the YAML configuration file:

    type: dev-environment\n\npython: 3.11\nide: vscode\n\n# (Optional) Configure `gpu`, `memory`, `disk`, etc \nresources:\n  gpu: 24GB\n

    Supported properties include: gpu, cpu, memory, disk, and shm_size.

    If you specify memory size, you can either specify an explicit size (e.g. 24GB) or a range (e.g. 24GB.., or 24GB..80GB, or ..80GB).

    The gpu property allows specifying not only memory size but also GPU names and their quantity. Examples: A100 (one A100), A10G,A100 (either A10G or A100), A100:80GB (one A100 of 80GB), A100:2 (two A100), 24GB..40GB:2 (two GPUs between 24GB and 40GB), etc.

    It's also possible to configure gpu as an object:

    type: dev-environment\n\npython: 3.11\nide: vscode\n\n# Require 2 GPUs of at least 40GB with CUDA compute compatibility of 7.5\nresources:\n  gpu:\n    count: 2\n    memory: 40GB..\n    compute_capability: 7.5\n
    "},{"location":"changelog/0.15.0/#authorization-in-services","title":"Authorization in services","text":"

    Previously, when deploying a service, the public endpoint didn't support authorization, meaning anyone with access to the gateway could call it.

    With 0.15.0, by default, service endpoints require the Authorization header with \"Bearer <dstack token>\".

    $ curl https://yellow-cat-1.example.com/generate \\\n    -X POST \\\n    -d '{\"inputs\":\"&lt;s&gt;[INST] What is your favourite condiment?[/INST]\"}' \\\n    -H 'Content-Type: application/json' \\\n    -H 'Authorization: \"Bearer &lt;dstack token&gt;\"'\n

    Authorization can be disabled by setting auth to false in the service configuration file.

    "},{"location":"changelog/0.15.0/#openai-interface","title":"OpenAI interface","text":"

    In case the service has model mapping configured, the OpenAI-compatible endpoint requires authorization.

    from openai import OpenAI\n\n\nclient = OpenAI(\n  base_url=\"https://gateway.example.com\",\n  api_key=\"<dstack token>\"\n)\n\ncompletion = client.chat.completions.create(\n  model=\"mistralai/Mistral-7B-Instruct-v0.1\",\n  messages=[\n    {\"role\": \"user\", \"content\": \"Compose a poem that explains the concept of recursion in programming.\"}\n  ]\n)\n\nprint(completion.choices[0].message)\n
    "},{"location":"changelog/0.15.0/#model-mapping-for-vllm","title":"Model mapping for vLLM","text":"

    Last but not least, we've added one more format for model mapping: openai.

    For example, if you run vLLM using the OpenAI mode, it's possible to configure model mapping for it.

    type: service\n\npython: \"3.11\"\nenv:\n  - MODEL=NousResearch/Llama-2-7b-chat-hf\ncommands:\n  - pip install vllm\n  - python -m vllm.entrypoints.openai.api_server --model $MODEL --port 8000\nport: 8000\n\nresources:\n  gpu: 24GB\n\nmodel:\n  format: openai\n  type: chat\n  name: NousResearch/Llama-2-7b-chat-hf\n

    When we run such a service, it will be possible to access the model at https://gateway.<gateway domain> via the OpenAI-compatible interface and using your dstack user token.

    "},{"location":"changelog/0.15.0/#feedback","title":"Feedback","text":"

    In case you have any questions, experience bugs, or need help, drop us a message on our Discord server or submit it as a GitHub issue.

    "},{"location":"changelog/0.15.1/","title":"dstack 0.15.1: Kubernetes integration","text":"

    In addition to a few bug fixes, the latest update brings initial integration with Kubernetes (experimental) and adds the possibility to configure a custom VPC for AWS. Read below for more details.

    "},{"location":"changelog/0.15.1/#configuring-a-kubernetes-backend","title":"Configuring a Kubernetes backend","text":"

    With the latest update, it's now possible to configure a Kubernetes backend. In this case, if you run a workload, dstack will provision infrastructure within your Kubernetes cluster. This may work with both self-managed and managed clusters.

    Prerequisite

    To use GPUs with Kubernetes, the cluster must be installed with the NVIDIA GPU Operator.

    To configure a Kubernetes backend, you need to specify the path to the kubeconfig file, and the port that dstack can use for proxying SSH traffic. In case of a self-managed cluster, also specify the IP address of any node in the cluster.

    Self-managedManaged

    Here's how to configure the backend to use a self-managed cluster.

    projects:\n- name: main\n  backends:\n  - type: kubernetes\n    kubeconfig:\n      filename: ~/.kube/config\n    networking:\n      ssh_host: localhost # The external IP address of any node\n      ssh_port: 32000 # Any port accessible outside of the cluster\n

    The port specified to ssh_port must be accessible outside of the cluster.

    For example, if you are using Kind, make sure to add it via extraPortMappings:

    kind: Cluster\napiVersion: kind.x-k8s.io/v1alpha4\nnodes:\n- role: control-plane\n  extraPortMappings:\n  - containerPort: 32000 # Must be same as `ssh_port`\n    hostPort: 32000 # Must be same as `ssh_port`\n

    Here's how to configure the backend to use a managed cluster (AWS, GCP, Azure).

    projects:\n- name: main\n  backends:\n  - type: kubernetes\n    kubeconfig:\n      filename: ~/.kube/config\n    networking:\n      ssh_port: 32000 # Any port accessible outside of the cluster\n

    The port specified to ssh_port must be accessible outside of the cluster.

    For example, if you are using EKS, make sure to add it via an ingress rule of the corresponding security group:

    aws ec2 authorize-security-group-ingress --group-id <cluster-security-group-id> --protocol tcp --port 32000 --cidr 0.0.0.0/0\n

    NOTE:

    While dstack supports both self-managed and managed clusters, if you're using AWS, GCP, or Azure, it's generally recommended to corresponding backends directly for greater efficiency and ease of use.

    "},{"location":"changelog/0.15.1/#specifying-a-custom-vpc-for-aws","title":"Specifying a custom VPC for AWS","text":"

    If you're using dstack with AWS, it's now possible to configure a custom VPC via ~/.dstack/server/config.yml:

    projects:\n- name: main\n  backends:\n  - type: aws\n    vpc_name: my-custom-vpc\n    regions: [us-west-2, eu-west-1]\n    creds:\n      type: default\n

    In this case, dstack will attempt to utilize the VPC with the configured name in each region. If any region lacks a VPC with that name, it will be skipped.

    NOTE:

    All subnets of the configured VPC should be public; otherwise, dstack won't be able to manage workloads.

    "},{"location":"changelog/0.15.1/#feedback","title":"Feedback","text":"

    Have questions or need help? Drop us a message on our Discord server. See a bug? Report it to GitHub issues.

    "},{"location":"changelog/0.16.0/","title":"dstack 0.16.0: Pools","text":"

    Previously, when running a dev environment, task, or service, dstack provisioned an instance in a configured backend, and upon completion of the run, deleted the instance.

    In the latest update, we introduce pools, a significantly more efficient way to manage instance lifecycles and reuse instances across runs.

    "},{"location":"changelog/0.16.0/#dstack-run","title":"dstack run","text":"

    Now, when using the dstack run command, it tries to reuse an instance from a pool. If no ready instance meets the requirements, dstack automatically provisions a new one and adds it to the pool.

    Once the workload finishes, the instance is marked as ready (to run other workloads). If the instance remains idle for the configured duration, dstack tears it down.

    Idle duration

    By default, if dstack run provisions a new instance, its idle duration is set to 5m. This means the instance waits for a new workload for only five minutes before getting torn down. To override it, use the --idle-duration DURATION argument.

    "},{"location":"changelog/0.16.0/#dstack-pool","title":"dstack pool","text":"

    The dstack pool command allows for managing instances within pools.

    To manually add an instance to a pool, use dstack pool add:

    $ dstack pool add --gpu 80GB --idle-duration 1d\n\n BACKEND     REGION         RESOURCES                     SPOT  PRICE\n tensordock  unitedkingdom  10xCPU, 80GB, 1xA100 (80GB)   no    $1.595\n azure       westus3        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n azure       westus2        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n\nContinue? [y/n]: y\n

    The dstack pool add command allows specifying resource requirements, along with the spot policy, idle duration, max price, retry policy, and other policies.

    If no idle duration is configured, by default, dstack sets it to 72h. To override it, use the --idle-duration DURATION argument.

    Limitations

    The dstack pool add command is not yet supported for Lambda, Azure, TensorDock, Kubernetes, and VastAI backends. Support for them is coming in version 0.16.1.

    Refer to pools for more details on the new feature and how to use it.

    "},{"location":"changelog/0.16.0/#why-does-this-matter","title":"Why does this matter?","text":"

    With this new feature, using the cloud can be a lot more predictable and convenient:

    1. Now, you can provision instances in advance and ensure they are available for the entire duration of the project. This saves you from the risk of not having a GPU when you need it most.
    2. If you reuse an instance from a pool, dstack run starts much faster. For example, you can provision an instance and reuse it for running a dev environment, task, or service.
    "},{"location":"changelog/0.16.0/#feedback","title":"Feedback","text":"

    Have questions or need help? Drop us a message on our Discord server. See a bug? Report it to GitHub issues.

    "},{"location":"changelog/0.16.1/","title":"dstack 0.16.1: Improvements to dstack pool and bug-fixes","text":"

    The latest update enhances the dstack pool command introduced earlier, and it fixes a number of important bugs.

    "},{"location":"changelog/0.16.1/#improvements-to-dstack-pool","title":"Improvements to dstack pool","text":"

    The dstack pool command, that allows you to manually add instances to the pool, has received several improvements:

    • The dstack pool add command now works with all VM-based backends (which means all backends except vastai and kubernetes).
    • The dstack pool add command now accepts the arguments to configure the spot policy (via --spot-auto, --spot, --on-demand) and idle duration (via --idle-duration DURATION). By default, the spot policy is set to on-demand, while the idle duration is set to 72h.

    Didn't try dstack pool yet? Give it a try now. It significantly improves the predictability and convenience of using cloud GPUs.

    "},{"location":"changelog/0.16.1/#bug-fixes","title":"Bug-fixes","text":"

    The major bug-fixes include:

    • The 0.16.0 update broke the vastai backend (the dstack run command didn't show offers).
    • If you submitted runs via the API, the default idle duration was not applied, leading to instances staying in the pool and not being automatically removed.
    • dstack couldn't connect to the instance via SSH due to a number of issues related to not properly handling the user' s default SSH config.
    • When connecting to a run via ssh <run name> (while using the default Docker image), python, pip, and conda couldn't be found due to the broken PATH.

    All of these issues have been fixed now.

    "},{"location":"changelog/0.16.1/#feedback","title":"Feedback","text":"

    Have questions or need help? Drop us a message on our Discord server. See a bug? Report it to GitHub issues.

    "},{"location":"changelog/0.16.4/","title":"dstack 0.16.4: CUDO Compute integration","text":"

    On our journey to provide an open-source, cloud-agnostic platform for orchestrating GPU workloads, we are proud to announce another step forward \u2013 the integration with CUDO Compute.

    CUDO Compute is a GPU marketplace that offers cloud resources at an affordable cost in a number of locations. Currently, the available GPUs include A40, RTX A6000, RTX A4000, RTX A5000, and RTX 3080.

    To use it with dstack, you only need to configure the cudo backend with your CUDO Compute project ID and API key:

    projects:\n- name: main\n  backends:\n  - type: cudo\n    project_id: my-cudo-project\n    creds:\n      type: api_key\n      api_key: 7487240a466624b48de22865589\n

    Once it's done, you can restart the dstack server and use the dstack CLI or API to run workloads.

    $ dstack run . -b cudo \n #  BACKEND  REGION       RESOURCES              SPOT  PRICE\n 1  cudo     no-luster-1  25xCPU, 96GB, 1xA6000  no    $1.17267\n                          (48GB), 100GB (disk)\n 2  cudo     no-luster-1  26xCPU, 100GB, 1xA6000  no   $1.17477\n                          (48GB), 100GB (disk)\n 3  cudo     no-luster-1  27xCPU, 100GB, 1xA6000  no   $1.17687\n                          (48GB), 100GB (disk)\n    ...\n Shown 3 of 8 offers, $1.18737 max\n\n Continue? [y/n]:\n

    Just like with other backends, the cudo backend allows you to launch dev environments, run tasks, and deploy services with dstack run, and manage your pool of instances via dstack pool.

    Limitations

    The dstack gateway feature is not yet compatible with cudo, but it is expected to be supported in version 0.17.0, planned for release within a week.

    The cudo backend cannot yet be used with dstack Sky, but it will also be enabled within a week.

    Haven't tried dstack yet? You're very welcome to do so now. With dstack, orchestrating GPU workloads over any cloud is very easy!

    "},{"location":"changelog/0.16.4/#feedback","title":"Feedback","text":"

    Have questions or need help? Drop us a message on our Discord server. See a bug? Report it to GitHub issues.

    "},{"location":"changelog/0.17.0/","title":"dstack 0.17.0: Service auto-scaling, and other improvements","text":"

    The latest update previews service replicas and auto-scaling, and brings many other improvements.

    "},{"location":"changelog/0.17.0/#service-auto-scaling","title":"Service auto-scaling","text":"

    Previously, dstack always served services as single replicas. While this is suitable for development, in production, the service must automatically scale based on the load.

    That's why in 0.17.0, we extended dstack with the capability to configure the number of replicas as well as the auto-scaling policy.

    type: service\n\npython: \"3.11\"\nenv:\n  - MODEL=NousResearch/Llama-2-7b-chat-hf\ncommands:\n  - pip install vllm\n  - python -m vllm.entrypoints.openai.api_server --model $MODEL --port 8000\nport: 8000\n\nreplicas: 1..4\nscaling:\n  metric: rps\n  target: 10\n\n# (Optional) Enable the OpenAI-compatible endpoint\nmodel:\n  format: openai\n  type: chat\n  name: NousResearch/Llama-2-7b-chat-hf\n

    The replicas property can be set either to a number or to a range. In the case of a range, the scaling property is required to configure the auto-scaling policy. The auto-scaling policy requires specifying metric (such as rps, i.e. \"requests per second\") and its target (the metric value).

    "},{"location":"changelog/0.17.0/#regions-and-instance-types","title":"Regions and instance types","text":"

    Also, the update brings a simpler way to configure regions and instance types.

    For example, if you'd like to use only a subset of specific regions or instance types, you can now configure them via .dstack/profiles.yml.

    profiles:\n  - name: custom\n    default: false\n\n    regions:\n      - us-east-1\n      - us-east-2\n\n    instance_types:\n      - p3.2xlarge\n      - p3.8xlarge\n      - p3.16xlarge\n

    Then you can pass it to dstack run with --profile custom. Alternatively, you can set default to true, and then dstack run will apply it automatically.

    If you don't want to define a profile, you can use the --region and --instance-type options directly with dstack run.

    "},{"location":"changelog/0.17.0/#environment-variables","title":"Environment variables","text":"

    Previously, environment variables had to be hardcoded in the configuration file or passed via the CLI. The update brings two major improvements.

    Firstly, it's now possible to configure an environment variable in the configuration without hardcoding its value. Secondly, dstack run now inherits environment variables from the current process.

    Together, these features allow users to define environment variables separately from the configuration and pass them to dstack run conveniently, such as by using a .env file.

    type: task\n\npython: \"3.11\"\n\nenv:\n  - HUGGING_FACE_HUB_TOKEN\n  - HF_HUB_ENABLE_HF_TRANSFER=1\n\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - tensorboard --logdir results/runs &\n  - python fine-tuning/qlora/train.py --merge_and_push ${{ run.args }}\nports:\n  - 6006\n\nresources:\n  gpu: 16GB..24GB\n

    Now, if you run this configuration, dstack will ensure that you've set HUGGING_FACE_HUB_TOKEN either via HUGGING_FACE_HUB_TOKEN=<value> dstack run ..., dstack run -e HUGGING_FACE_HUB_TOKEN=<value> ..., or by using other tools such as direnv or similar.

    "},{"location":"changelog/0.17.0/#feedback","title":"Feedback","text":"

    Have questions or need help? Drop us a message on our Discord server!

    "},{"location":"changelog/0.18.0/","title":"dstack 0.18.0: RunPod integration, multi-node tasks, and more","text":"

    The latest update adds RunPod integration, previews multi-node tasks for AWS, GCP, and Azure, and includes other improvements.

    "},{"location":"changelog/0.18.0/#runpod-integration","title":"RunPod integration","text":"

    The update adds the long-awaited integration with RunPod, a distributed GPU cloud that offers GPUs at affordable prices.

    To use RunPod, specify your RunPod API key in ~/.dstack/server/config.yml:

    projects:\n- name: main\n  backends:\n  - type: runpod\n    creds:\n      type: api_key\n      api_key: US9XTPDIV8AR42MMINY8TCKRB8S4E7LNRQ6CAUQ9\n

    Once the server is restarted, go ahead and run workloads:

    NOTE:

    If you're using a custom Docker image, its entrypoint cannot be anything other than /bin/bash or /bin/sh. See the issue for more details.

    NOTE:

    The runpod backend supports on-demand instances only. Spot instance support coming soon.

    "},{"location":"changelog/0.18.0/#multi-node-tasks","title":"Multi-node tasks","text":"

    Another major change with the update is the ability to run multi-node tasks over an interconnected cluster of instances.

    Simply specify the nodes property for your task (to the number of required nodes) and run it.

    type: task\n\nnodes: 2\n\ncommands:\n  - git clone https://github.com/r4victor/pytorch-distributed-resnet.git\n  - cd pytorch-distributed-resnet\n  - mkdir -p data\n  - cd data\n  - wget -c --quiet https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz\n  - tar -xvzf cifar-10-python.tar.gz\n  - cd ..\n  - pip3 install -r requirements.txt torch\n  - mkdir -p saved_models\n  - torchrun --nproc_per_node=$DSTACK_GPUS_PER_NODE \n     --node_rank=$DSTACK_NODE_RANK \n     --nnodes=$DSTACK_NODES_NUM\n     --master_addr=$DSTACK_MASTER_NODE_IP\n     --master_port=8008 resnet_ddp.py \n     --num_epochs 20\n\nresources:\n  gpu: 1\n

    Currently supported providers for this feature include AWS, GCP, and Azure. For other providers or on-premises servers, file the corresponding feature requests or ping on Discord.

    "},{"location":"changelog/0.18.0/#optional-commands","title":"Optional commands","text":"

    One more small improvement is that the commands property is now not required for tasks and services if you use an image that has a default entrypoint configured.

    type: task\n\nimage: r8.im/bytedance/sdxl-lightning-4step\n\nports:\n  - 5000\n\nresources:\n  gpu: 24GB\n
    "},{"location":"changelog/0.18.0/#server-output","title":"Server output","text":"

    The update also improves the output of the dstack server command:

    "},{"location":"changelog/0.18.0/#gcp-permissions","title":"GCP permissions","text":"

    Last but not least, we've made the permissions required for using dstack with GCP more granular.

    compute.disks.create\ncompute.firewalls.create\ncompute.images.useReadOnly\ncompute.instances.create\ncompute.instances.delete\ncompute.instances.get\ncompute.instances.setLabels\ncompute.instances.setMetadata\ncompute.instances.setTags\ncompute.networks.updatePolicy\ncompute.regions.list\ncompute.subnetworks.use\ncompute.subnetworks.useExternalIp\ncompute.zoneOperations.get\n
    "},{"location":"changelog/0.18.0/#feedback","title":"Feedback","text":"

    You're welcome to give the new release a try and share your feedback. If you encounter any bugs, report them directly via issues, or on our Discord.

    "},{"location":"changelog/0.2/","title":"dstack 0.2: GCP integration","text":"

    With the release of version 0.2 of dstack, it is now possible to configure GCP as a remote. All features that were previously available for AWS, except real-time artifacts, are now available for GCP as well.

    This means that you can define your ML workflows in code and easily run them locally or remotely in your GCP account.

    dstack automatically creates and deletes cloud instances as needed, and assists in setting up the environment, including pipeline dependencies, and saving/loading artifacts.

    No code changes are required since ML workflows are described in YAML. You won't need to deal with Docker, Kubernetes, or stateful UI.

    This article will explain how to use dstack to run remote ML workflows on GCP.

    "},{"location":"changelog/0.2/#prerequisites","title":"Prerequisites","text":"

    Ensure that you have installed the latest version of dstack before proceeding.

    $ pip install dstack --upgrade\n

    By default, workflows run locally. To run workflows remotely, e.g. on a GCP account), you must configure a remote using the dstack config command. Follow the steps below to do so.

    "},{"location":"changelog/0.2/#1-create-a-project","title":"1. Create a project","text":"

    First you have to create a project in your GCP account, link a billing to it, and make sure that the required APIs and enabled for it.

    cloudapis.googleapis.com\ncompute.googleapis.com \nlogging.googleapis.com\nsecretmanager.googleapis.com\nstorage-api.googleapis.com\nstorage-component.googleapis.com \nstorage.googleapis.com \n
    "},{"location":"changelog/0.2/#2-create-a-storage-bucket","title":"2. Create a storage bucket","text":"

    Once the project is set up, you can proceed and create a storage bucket. This bucket will be used to store workflow artifacts and metadata.

    NOTE:

    Make sure to create the bucket in the sane location where you'd like to run your workflows.

    "},{"location":"changelog/0.2/#3-create-a-service-account","title":"3. Create a service account","text":"

    The next step is to create a service account in the created project and configure the following roles for it: Service Account User, Compute Admin, Storage Admin, Secret Manager Admin, and Logging Admin.

    Once the service account is set up, create a key for it and download the corresponding JSON file to your local machine (e.g. to ~/Downloads/my-awesome-project-d7735ca1dd53.json).

    "},{"location":"changelog/0.2/#4-configure-the-cli","title":"4. Configure the CLI","text":"

    Once the service account key JSON file is on your machine, you can configure the CLI using the dstack config command.

    The command will ask you for a path to the key, GCP region and zone, and storage bucket name.

    $ dstack config\n\n? Choose backend: gcp\n? Enter path to credentials file: ~/Downloads/dstack-d7735ca1dd53.json\n? Choose GCP geographic area: North America\n? Choose GCP region: us-west1\n? Choose GCP zone: us-west1-b\n? Choose storage bucket: dstack-dstack-us-west1\n? Choose VPC subnet: no preference\n

    That's it! Now you can run remote workflows on GCP.

    "},{"location":"changelog/0.7.0/","title":"dstack 0.7.0: Introducing dstack server","text":"

    Last October, we open-sourced the dstack CLI for defining ML workflows as code and running them easily on any cloud or locally. The tool abstracts ML engineers from vendor APIs and infrastructure, making it convenient to run scripts, development environments, and applications.

    Today, we are excited to announce a preview of Hub, a new way to use dstack for teams to manage their model development workflows effectively on any cloud platform.

    "},{"location":"changelog/0.7.0/#how-does-it-work","title":"How does it work?","text":"

    Previously, the dstack CLI configured a cloud account as a remote to use local cloud credentials for direct requests to the cloud. Now, the CLI allows configuration of Hub as a remote, enabling requests to the cloud using user credentials stored in Hub.

    sequenceDiagram\n  autonumber\n  participant CLI\n  participant Hub\n  participant Cloud\n  %  Note right of Cloud: AWS, GCP, etc\n  CLI->>Hub: Run a workflow\n  activate Hub\n      Hub-->>Hub: User authentication\n      loop Workflow provider\n        Hub-->>Cloud: Submit workflow jobs\n      end\n  Hub-->>CLI: Return the workflow status\n  deactivate Hub\n  loop Workflow scheduler\n    Hub-->>Cloud: Re-submit workflow jobs\n  end

    The Hub not only provides basic features such as authentication and credential storage, but it also has built-in workflow scheduling capabilities. For instance, it can monitor the availability of spot instances and automatically resubmit jobs.

    "},{"location":"changelog/0.7.0/#why-does-it-matter","title":"Why does it matter?","text":"

    As you start developing models more regularly, you'll encounter the challenge of automating your ML workflows to reduce time spent on infrastructure and manual work.

    While many cloud vendors offer tools to automate ML workflows, they do so through opinionated UIs and APIs, leading to a suboptimal developer experience and vendor lock-in.

    In contrast, dstack aims to provide a non-opinionated and developer-friendly interface that can work across any vendor.

    "},{"location":"changelog/0.7.0/#try-the-preview","title":"Try the preview","text":"

    Here's a quick guide to get started with Hub:

    1. Start the Hub application
    2. Visit the URL provided in the output to log in as an administrator
    3. Create a project and configure its backend (AWS or GCP)
    4. Configure the CLI to use the project as a remote

    For more details, visit the Hub documentation.

    "},{"location":"changelog/0.7.0/#whats-next","title":"What's next?","text":"

    Currently, the only way to run or manage workflows is through the dstack CLI. There are scenarios when you'd prefer to run workflows other ways, e.g. from Python code or programmatically via API. To support these scenarios, we plan to release soon Python SDK and REST API.

    The built-in scheduler currently monitors spot instance availability and automatically resubmits jobs. Our plan is to enhance this feature and include additional capabilities. Users will be able to track cloud compute usage, and manage quotes per team via the user interface.

    Lastly, and of utmost importance, we plan to extend support to other cloud platforms, not limiting ourselves to AWS, GCP, and Azure.

    "},{"location":"changelog/0.7.0/#contribution","title":"Contribution","text":"

    You are encouraged to report any bugs, suggest new features, and provide feedback to improve Hub through GitHub issues.

    "},{"location":"changelog/0.9.1/","title":"dstack 0.9.1: Azure integration","text":"

    At dstack, our goal is to create a simple and unified interface for ML engineers to run dev environments, pipelines, and apps on any cloud. With the latest update, we take another significant step in this direction.

    We are thrilled to announce that the latest update introduces Azure support, among other things, making it incredibly easy to run dev environments, pipelines, and apps in Azure. Read on for more details.

    "},{"location":"changelog/0.9.1/#azure-support","title":"Azure support","text":"

    Using Azure with dstack is very straightforward. All you need to do is create the corresponding project via the UI and provide your Azure credentials.

    NOTE:

    For detailed instructions on setting up dstack for Azure, refer to the documentation.

    Once the project is set up, you can define dev environments, pipelines, and apps as code, and easily run them with just a single command. dstack will automatically provision the infrastructure for you.

    "},{"location":"changelog/0.9.1/#logs-and-artifacts-in-ui","title":"Logs and artifacts in UI","text":"

    Secondly, with the new update, you now have the ability to browse the logs and artifacts of any run through the user interface.

    "},{"location":"changelog/0.9.1/#better-documentation","title":"Better documentation","text":"

    Last but not least, with the update, we have reworked the documentation to provide a greater emphasis on specific use cases: dev environments, tasks, and services.

    "},{"location":"changelog/0.9.1/#try-it-out","title":"Try it out","text":"

    Please note that when installing dstack via pip, you now need to specify the exact list of cloud providers you intend to use:

    $ pip install \"dstack[aws,gcp,azure]\" -U\n

    This requirement applies only when you start the server locally. If you connect to a server hosted elsewhere, you can use the shorter syntax:pip install dstack.

    Feedback

    If you have any feedback, including issues or questions, please share them in our Discord community or file it as a GitHub issue.

    "},{"location":"docs/","title":"What is dstack?","text":"

    dstack is an open-source orchestration engine for running AI workloads. It supports a wide range of cloud providers (such as AWS, GCP, Azure, Lambda, TensorDock, Vast.ai, CUDO, RunPod, etc.) as well as on-premises infrastructure.

    "},{"location":"docs/#why-use-dstack","title":"Why use dstack?","text":"
    1. Designed for development, training, and deployment of gen AI models.
    2. Efficiently utilizes compute across cloud providers and on-prem servers.
    3. Compatible with any training, fine-tuning, and serving frameworks, as well as other third-party tools.
    4. 100% open-source.
    "},{"location":"docs/#how-does-it-work","title":"How does it work?","text":"
    1. Install the open-source version of dstack and configure your own cloud accounts, or sign up with dstack Sky
    2. Define configurations such as dev environments, tasks, and services.
    3. Run configurations via dstack's CLI or API.
    4. Use pools to manage instances and on-prem servers.
    "},{"location":"docs/#where-do-i-start","title":"Where do I start?","text":"
    1. Follow quickstart
    2. Browse examples
    3. Join the community via Discord
    "},{"location":"docs/quickstart/","title":"Quickstart","text":"Prerequisites

    To use the open-source version, make sure to install the server and configure backends.

    If you're using dstack Sky, install the CLI and run the dstack config command:

    Once the CLI is set up, follow the quickstart.

    "},{"location":"docs/quickstart/#initialize-a-repo","title":"Initialize a repo","text":"

    To use dstack's CLI in a folder, first run dstack init within that folder.

    $ mkdir quickstart && cd quickstart\n$ dstack init\n

    Your folder can be a regular local folder or a Git repo.

    "},{"location":"docs/quickstart/#define-a-configuration","title":"Define a configuration","text":"

    Define what you want to run as a YAML file. The filename must end with .dstack.yml (e.g., .dstack.yml or train.dstack.yml are both acceptable).

    Dev environmentTaskService

    Dev environments allow you to quickly provision a machine with a pre-configured environment, resources, IDE, code, etc.

    type: dev-environment\n\n# Use either `python` or `image` to configure environment\npython: \"3.11\"\n# image: ghcr.io/huggingface/text-generation-inference:latest\n\nide: vscode\n\n# (Optional) Configure `gpu`, `memory`, `disk`, etc\nresources:\n  gpu: 80GB\n

    Tasks make it very easy to run any scripts, be it for training, data processing, or web apps. They allow you to pre-configure the environment, resources, code, etc.

    type: task\n\npython: \"3.11\"\nenv:\n  - HF_HUB_ENABLE_HF_TRANSFER=1\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py\n\n# (Optional) Configure `gpu`, `memory`, `disk`, etc\nresources:\n  gpu: 80GB\n

    Ensure requirements.txt and train.py are in your folder. You can take them from dstack-examples.

    Services make it easy to deploy models and apps cost-effectively as public endpoints, allowing you to use any frameworks.

    type: service\n\nimage: ghcr.io/huggingface/text-generation-inference:latest\nenv:\n  - MODEL_ID=mistralai/Mistral-7B-Instruct-v0.1\ncommands:\n  - text-generation-launcher --port 8000 --trust-remote-code\nport: 8000\n\n# (Optional) Configure `gpu`, `memory`, `disk`, etc\nresources:\n  gpu: 80GB\n
    "},{"location":"docs/quickstart/#run-configuration","title":"Run configuration","text":"

    Run a configuration using the dstack run command, followed by the working directory path (e.g., .), the path to the configuration file, and run options (e.g., configuring hardware resources, spot policy, etc.)

    $ dstack run . -f train.dstack.yml\n\n BACKEND     REGION         RESOURCES                     SPOT  PRICE\n tensordock  unitedkingdom  10xCPU, 80GB, 1xA100 (80GB)   no    $1.595\n azure       westus3        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n azure       westus2        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n\nContinue? [y/n]: y\n\nProvisioning...\n---> 100%\n\nEpoch 0:  100% 1719/1719 [00:18<00:00, 92.32it/s, loss=0.0981, acc=0.969]\nEpoch 1:  100% 1719/1719 [00:18<00:00, 92.32it/s, loss=0.0981, acc=0.969]\nEpoch 2:  100% 1719/1719 [00:18<00:00, 92.32it/s, loss=0.0981, acc=0.969]\n

    The dstack run command automatically uploads your code, including any local uncommitted changes. To exclude any files from uploading, use .gitignore.

    "},{"location":"docs/quickstart/#whats-next","title":"What's next?","text":"
    1. Read about dev environments, tasks, services, and pools
    2. Browse examples
    3. Join the community via Discord
    "},{"location":"docs/concepts/dev-environments/","title":"Dev environments","text":"

    Before submitting a task or deploying a model, you may want to run code interactively. Dev environments allow you to do exactly that.

    You specify the required environment and resources, then run it. dstack provisions the dev environment in the configured backend and enables access via your desktop IDE.

    "},{"location":"docs/concepts/dev-environments/#define-a-configuration","title":"Define a configuration","text":"

    First, create a YAML file in your project folder. Its name must end with .dstack.yml (e.g. .dstack.yml or dev.dstack.yml are both acceptable).

    type: dev-environment\n\npython: \"3.11\"\n\nide: vscode\n\nresources:\n  gpu: 80GB\n

    The YAML file allows you to specify your own Docker image, environment variables, resource requirements, etc. If image is not specified, dstack uses its own (pre-configured with Python, Conda, and essential CUDA drivers).

    .dstack.yml

    For more details on the file syntax, refer to the .dstack.yml reference.

    "},{"location":"docs/concepts/dev-environments/#configure-environment-variables","title":"Configure environment variables","text":"

    Environment variables can be set either within the configuration file or passed via the CLI.

    type: dev-environment\n\nenv:\n  - HUGGING_FACE_HUB_TOKEN\n  - HF_HUB_ENABLE_HF_TRANSFER=1\n\npython: \"3.11\"\nide: vscode\n\nresources:\n  gpu: 80GB\n

    If you don't assign a value to an environment variable (see HUGGING_FACE_HUB_TOKEN above), dstack will require the value to be passed via the CLI or set in the current process.

    For instance, you can define environment variables in a .env file and utilize tools like direnv.

    "},{"location":"docs/concepts/dev-environments/#run-the-configuration","title":"Run the configuration","text":"

    To run a configuration, use the dstack run command followed by the working directory path, configuration file path, and other options.

    $ dstack run . -f .dstack.yml\n\n BACKEND     REGION         RESOURCES                     SPOT  PRICE\n tensordock  unitedkingdom  10xCPU, 80GB, 1xA100 (80GB)   no    $1.595\n azure       westus3        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n azure       westus2        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n\nContinue? [y/n]: y\n\nProvisioning `fast-moth-1`...\n---> 100%\n\nTo open in VS Code Desktop, use this link:\n  vscode://vscode-remote/ssh-remote+fast-moth-1/workflow\n

    When dstack provisions the dev environment, it uses the current folder contents.

    Exclude files

    If there are large files or folders you'd like to avoid uploading, you can list them in either .gitignore or .dstackignore.

    The dstack run command allows specifying many things, including spot policy, retry and max duration, max price, regions, instance types, and much more.

    "},{"location":"docs/concepts/dev-environments/#ide","title":"IDE","text":"

    To open the dev environment in your desktop IDE, use the link from the output (such as vscode://vscode-remote/ssh-remote+fast-moth-1/workflow).

    "},{"location":"docs/concepts/dev-environments/#ssh","title":"SSH","text":"

    Alternatively, you can connect to the dev environment via SSH:

    $ ssh fast-moth-1\n
    "},{"location":"docs/concepts/dev-environments/#configure-profiles","title":"Configure profiles","text":"

    In case you'd like to reuse certain parameters (such as spot policy, retry and max duration, max price, regions, instance types, etc.) across runs, you can define them via .dstack/profiles.yml.

    "},{"location":"docs/concepts/dev-environments/#manage-runs","title":"Manage runs","text":""},{"location":"docs/concepts/dev-environments/#stop-a-run","title":"Stop a run","text":"

    Once the run exceeds the max duration, or when you use dstack stop, the dev environment and its cloud resources are deleted.

    "},{"location":"docs/concepts/dev-environments/#list-runs","title":"List runs","text":"

    The dstack ps command lists all running runs and their status.

    "},{"location":"docs/concepts/dev-environments/#whats-next","title":"What's next?","text":"
    1. Check the .dstack.yml reference for more details and examples
    "},{"location":"docs/concepts/pools/","title":"Pools","text":"

    Pools simplify managing the lifecycle of cloud instances and enable their efficient reuse across runs.

    You can have instances provisioned in the configured backend automatically when you run a workload, or add them manually, configuring the required resources, idle duration, etc.

    "},{"location":"docs/concepts/pools/#add-instances","title":"Add instances","text":""},{"location":"docs/concepts/pools/#dstack-run","title":"dstack run","text":"

    By default, when using the dstack run command, it tries to reuse an instance from a pool. If no idle instance meets the requirements, dstack automatically provisions a new one and adds it to the pool.

    To avoid provisioning new instances with dstack run, use --reuse. Your run will be assigned to an idle instance in the pool.

    Idle duration

    By default, dstack run sets the idle duration of a newly provisioned instance to 5m. This means that if the run is finished and the instance remains idle for longer than five minutes, it is automatically removed from the pool. To override the default idle duration, use --idle-duration DURATION with dstack run.

    "},{"location":"docs/concepts/pools/#dstack-pool-add","title":"dstack pool add","text":"

    To manually add an instance to a pool, use dstack pool add:

    $ dstack pool add --gpu 80GB\n\n BACKEND     REGION         RESOURCES                     SPOT  PRICE\n tensordock  unitedkingdom  10xCPU, 80GB, 1xA100 (80GB)   no    $1.595\n azure       westus3        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n azure       westus2        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n\nContinue? [y/n]: y\n

    The dstack pool add command allows specifying resource requirements, along with the spot policy, idle duration, max price, retry policy, and other policies.

    The default idle duration if you're using dstack pool add is 72h. To override it, use the --idle-duration DURATION argument.

    You can also specify the policies via .dstack/profiles.yml instead of passing them as arguments. For more details on policies and their defaults, refer to .dstack/profiles.yml.

    Limitations

    The dstack pool add command is not supported for Kubernetes, and VastAI backends yet.

    "},{"location":"docs/concepts/pools/#remove-instances","title":"Remove instances","text":"

    Idle duration

    If the instance remains idle for the configured duration, dstack removes it and deletes all cloud resources.

    "},{"location":"docs/concepts/pools/#dstack-pool-remove","title":"dstack pool remove","text":"

    To remove an instance from the pool manually, use the dstack pool remove command.

    $ dstack pool remove &lt;instance name&gt;\n
    "},{"location":"docs/concepts/pools/#list-instances","title":"List instances","text":"

    The dstack pool ps command lists active instances and their status (busy or idle).

    "},{"location":"docs/concepts/services/","title":"Services","text":"

    Services make it very easy to deploy any kind of model or web application as public endpoints.

    Use any serving frameworks and specify required resources. dstack deploys it in the configured backend, handles authorization, auto-scaling, and provides an OpenAI-compatible interface if needed.

    Prerequisites

    If you're using the open-source server, you first have to set up a gateway.

    "},{"location":"docs/concepts/services/#set-up-a-gateway","title":"Set up a gateway","text":"

    For example, if your domain is example.com, go ahead and run the dstack gateway create command:

    $ dstack gateway create --domain example.com --region eu-west-1 --backend aws\n\nCreating gateway...\n---> 100%\n\n BACKEND  REGION     NAME          ADDRESS        DOMAIN       DEFAULT\n aws      eu-west-1  sour-fireant  52.148.254.14  example.com  \u2713\n

    Afterward, in your domain's DNS settings, add an A DNS record for *.example.com pointing to the IP address of the gateway.

    Now, if you run a service, dstack will make its endpoint available at https://<run name>.<gateway domain>.

    In case your service has the model mapping configured, dstack will automatically make your model available at https://gateway.<gateway domain> via the OpenAI-compatible interface.

    If you're using dstack Sky, the gateway is set up for you.

    "},{"location":"docs/concepts/services/#define-a-configuration","title":"Define a configuration","text":"

    First, create a YAML file in your project folder. Its name must end with .dstack.yml (e.g. .dstack.yml or train.dstack.yml are both acceptable).

    type: service\n\nimage: ghcr.io/huggingface/text-generation-inference:latest\nenv:\n  - MODEL_ID=mistralai/Mistral-7B-Instruct-v0.1\ncommands:\n  - text-generation-launcher --port 8000 --trust-remote-code\nport: 8000\n\nresources:\n  gpu: 80GB\n

    The YAML file allows you to specify your own Docker image, environment variables, resource requirements, etc. If image is not specified, dstack uses its own (pre-configured with Python, Conda, and essential CUDA drivers).

    .dstack.yml

    For more details on the file syntax, refer to the .dstack.yml reference.

    "},{"location":"docs/concepts/services/#configure-environment-variables","title":"Configure environment variables","text":"

    Environment variables can be set either within the configuration file or passed via the CLI.

    type: service\n\nimage: ghcr.io/huggingface/text-generation-inference:latest\nenv:\n  - HUGGING_FACE_HUB_TOKEN\n  - MODEL_ID=mistralai/Mistral-7B-Instruct-v0.1\ncommands:\n  - text-generation-launcher --port 8000 --trust-remote-code\nport: 8000\n\nresources:\n  gpu: 80GB\n

    If you don't assign a value to an environment variable (see HUGGING_FACE_HUB_TOKEN above), dstack will require the value to be passed via the CLI or set in the current process.

    For instance, you can define environment variables in a .env file and utilize tools like direnv.

    "},{"location":"docs/concepts/services/#configure-model-mapping","title":"Configure model mapping","text":"

    By default, if you run a service, its endpoint is accessible at https://<run name>.<gateway domain>.

    If you run a model, you can optionally configure the mapping to make it accessible via the OpenAI-compatible interface.

    type: service\n\nimage: ghcr.io/huggingface/text-generation-inference:latest\nenv:\n  - MODEL_ID=mistralai/Mistral-7B-Instruct-v0.1\ncommands:\n  - text-generation-launcher --port 8000 --trust-remote-code\nport: 8000\n\nresources:\n  gpu: 80GB\n\n# Enable the OpenAI-compatible endpoint   \nmodel:\n  type: chat\n  name: mistralai/Mistral-7B-Instruct-v0.1\n  format: tgi\n

    In this case, with such a configuration, once the service is up, you'll be able to access the model at https://gateway.<gateway domain> via the OpenAI-compatible interface.

    The format supports only tgi (Text Generation Inference) and openai (if you are using Text Generation Inference or vLLM with OpenAI-compatible mode).

    Chat template

    By default, dstack loads the chat template from the model's repository. If it is not present there, manual configuration is required.

    type: service\n\nimage: ghcr.io/huggingface/text-generation-inference:latest\nenv:\n  - MODEL_ID=TheBloke/Llama-2-13B-chat-GPTQ\ncommands:\n  - text-generation-launcher --port 8000 --trust-remote-code --quantize gptq\nport: 8000\n\nresources:\n  gpu: 80GB\n\n# Enable the OpenAI-compatible endpoint\nmodel:\n  type: chat\n  name: TheBloke/Llama-2-13B-chat-GPTQ\n  format: tgi\n  chat_template: \"{% if messages[0]['role'] == 'system' %}{% set loop_messages = messages[1:] %}{% set system_message = messages[0]['content'] %}{% else %}{% set loop_messages = messages %}{% set system_message = false %}{% endif %}{% for message in loop_messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% if loop.index0 == 0 and system_message != false %}{% set content = '<<SYS>>\\\\n' + system_message + '\\\\n<</SYS>>\\\\n\\\\n' + message['content'] %}{% else %}{% set content = message['content'] %}{% endif %}{% if message['role'] == 'user' %}{{ '<s>[INST] ' + content.strip() + ' [/INST]' }}{% elif message['role'] == 'assistant' %}{{ ' '  + content.strip() + ' </s>' }}{% endif %}{% endfor %}\"\n  eos_token: \"</s>\"\n
    "},{"location":"docs/concepts/services/#limitations","title":"Limitations","text":"

    Please note that model mapping is an experimental feature with the following limitations:

    1. Doesn't work if your chat_template uses bos_token. As a workaround, replace bos_token inside chat_template with the token content itself.
    2. Doesn't work if eos_token is defined in the model repository as a dictionary. As a workaround, set eos_token manually, as shown in the example above (see Chat template).

    If you encounter any other issues, please make sure to file a GitHub issue.

    "},{"location":"docs/concepts/services/#configure-replicas-and-auto-scaling","title":"Configure replicas and auto-scaling","text":"

    By default, dstack runs a single replica of the service. You can configure the number of replicas as well as the auto-scaling policy.

    type: service\n\npython: \"3.11\"\nenv:\n  - MODEL=NousResearch/Llama-2-7b-chat-hf\ncommands:\n  - pip install vllm\n  - python -m vllm.entrypoints.openai.api_server --model $MODEL --port 8000\nport: 8000\n\nreplicas: 1..4\nscaling:\n  metric: rps\n  target: 10\n\n# Enable the OpenAI-compatible endpoint\nmodel:\n  format: openai\n  type: chat\n  name: NousResearch/Llama-2-7b-chat-hf\n

    If you specify the minimum number of replicas as 0, the service will scale down to zero when there are no requests.

    "},{"location":"docs/concepts/services/#run-the-configuration","title":"Run the configuration","text":"

    To run a configuration, use the dstack run command followed by the working directory path, configuration file path, and any other options.

    $ dstack run . -f serve.dstack.yml\n\n BACKEND     REGION         RESOURCES                     SPOT  PRICE\n tensordock  unitedkingdom  10xCPU, 80GB, 1xA100 (80GB)   no    $1.595\n azure       westus3        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n azure       westus2        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n\nContinue? [y/n]: y\n\nProvisioning...\n---> 100%\n\nService is published at https://yellow-cat-1.example.com\n

    When dstack submits the task, it uses the current folder contents.

    Exclude files

    If there are large files or folders you'd like to avoid uploading, you can list them in either .gitignore or .dstackignore.

    The dstack run command allows specifying many things, including spot policy, retry and max duration, max price, regions, instance types, and much more.

    "},{"location":"docs/concepts/services/#service-endpoint","title":"Service endpoint","text":"

    One the service is up, its endpoint is accessible at https://<run name>.<gateway domain>.

    "},{"location":"docs/concepts/services/#authorization","title":"Authorization","text":"

    By default, the service endpoint requires the Authorization header with \"Bearer <dstack token>\".

    $ curl https://yellow-cat-1.example.com/generate \\\n    -X POST \\\n    -d '{\"inputs\":\"&lt;s&gt;[INST] What is your favourite condiment?[/INST]\"}' \\\n    -H 'Content-Type: application/json' \\\n    -H 'Authorization: \"Bearer &lt;dstack token&gt;\"'\n

    Authorization can be disabled by setting auth to false in the service configuration file.

    "},{"location":"docs/concepts/services/#openai-interface","title":"OpenAI interface","text":"

    In case the service has the model mapping configured, you will also be able to access the model at https://gateway.<gateway domain> via the OpenAI-compatible interface.

    from openai import OpenAI\n\n\nclient = OpenAI(\n  base_url=\"https://gateway.example.com\",\n  api_key=\"<dstack token>\"\n)\n\ncompletion = client.chat.completions.create(\n  model=\"mistralai/Mistral-7B-Instruct-v0.1\",\n  messages=[\n    {\"role\": \"user\", \"content\": \"Compose a poem that explains the concept of recursion in programming.\"}\n  ]\n)\n\nprint(completion.choices[0].message)\n
    "},{"location":"docs/concepts/services/#configure-profiles","title":"Configure profiles","text":"

    In case you'd like to reuse certain parameters (such as spot policy, retry and max duration, max price, regions, instance types, etc.) across runs, you can define them via .dstack/profiles.yml.

    "},{"location":"docs/concepts/services/#manage-runs","title":"Manage runs","text":""},{"location":"docs/concepts/services/#stop-a-run","title":"Stop a run","text":"

    When you use dstack stop, the service and its cloud resources are deleted.

    "},{"location":"docs/concepts/services/#list-runs","title":"List runs","text":"

    The dstack ps command lists all running runs and their status.

    "},{"location":"docs/concepts/services/#whats-next","title":"What's next?","text":"
    1. Check the Text Generation Inference and vLLM examples
    2. Check the .dstack.yml reference for more details and examples
    3. Browse examples
    "},{"location":"docs/concepts/tasks/","title":"Tasks","text":"

    Tasks allow for convenient scheduling of any kind of batch jobs, such as training, fine-tuning, or data processing, as well as running web applications.

    You simply specify the commands, required environment, and resources, and then submit it. dstack provisions the required resources in a configured backend and runs the task.

    "},{"location":"docs/concepts/tasks/#define-a-configuration","title":"Define a configuration","text":"

    First, create a YAML file in your project folder. Its name must end with .dstack.yml (e.g. .dstack.yml or train.dstack.yml are both acceptable).

    type: task\n\npython: \"3.11\"\nenv:\n  - HF_HUB_ENABLE_HF_TRANSFER=1\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py\n\nresources:\n  gpu: 80GB\n

    The YAML file allows you to specify your own Docker image, environment variables, resource requirements, etc. If image is not specified, dstack uses its own (pre-configured with Python, Conda, and essential CUDA drivers).

    .dstack.yml

    For more details on the file syntax, refer to the .dstack.yml reference.

    "},{"location":"docs/concepts/tasks/#configure-environment-variables","title":"Configure environment variables","text":"

    Environment variables can be set either within the configuration file or passed via the CLI.

    type: task\n\npython: \"3.11\"\nenv:\n  - HUGGING_FACE_HUB_TOKEN\n  - HF_HUB_ENABLE_HF_TRANSFER=1\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py\n\nresources:\n  gpu: 80GB\n

    If you don't assign a value to an environment variable (see HUGGING_FACE_HUB_TOKEN above), dstack will require the value to be passed via the CLI or set in the current process.

    For instance, you can define environment variables in a .env file and utilize tools like direnv.

    "},{"location":"docs/concepts/tasks/#configure-ports","title":"Configure ports","text":"

    A task can configure ports. In this case, if the task is running an application on a port, dstack run will securely allow you to access this port from your local machine through port forwarding.

    type: task\n\npython: \"3.11\"\nenv:\n  - HF_HUB_ENABLE_HF_TRANSFER=1\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - tensorboard --logdir results/runs &\n  - python fine-tuning/qlora/train.py\nports:\n  - 6000\n\n# (Optional) Configure `gpu`, `memory`, `disk`, etc\nresources:\n  gpu: 80GB\n

    When running it, dstack run forwards 6000 port to localhost:6000, enabling secure access.

    Override port mapping

    By default, dstack uses the same ports on your local machine for port forwarding. However, you can override local ports using --port:

    $ dstack run . -f train.dstack.yml --port 6000:6001\n

    This will forward the task's port 6000 to localhost:6001.

    "},{"location":"docs/concepts/tasks/#parametrize-tasks","title":"Parametrize tasks","text":"

    You can parameterize tasks with user arguments using ${{ run.args }} in the configuration.

    type: task\n\npython: \"3.11\"\nenv:\n  - HF_HUB_ENABLE_HF_TRANSFER=1\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py ${{ run.args }}\n\nresources:\n  gpu: 80GB\n

    Now, you can pass your arguments to the dstack run command:

    $ dstack run . -f train.dstack.yml --train_batch_size=1 --num_train_epochs=100\n

    The dstack run command will pass --train_batch_size=1 and --num_train_epochs=100 as arguments to train.py.

    "},{"location":"docs/concepts/tasks/#run-the-configuration","title":"Run the configuration","text":"

    To run a configuration, use the dstack run command followed by the working directory path, configuration file path, and other options.

    $ dstack run . -f train.dstack.yml\n\n BACKEND     REGION         RESOURCES                     SPOT  PRICE\n tensordock  unitedkingdom  10xCPU, 80GB, 1xA100 (80GB)   no    $1.595\n azure       westus3        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n azure       westus2        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n\nContinue? [y/n]: y\n\nProvisioning...\n---> 100%\n\nEpoch 0:  100% 1719/1719 [00:18<00:00, 92.32it/s, loss=0.0981, acc=0.969]\nEpoch 1:  100% 1719/1719 [00:18<00:00, 92.32it/s, loss=0.0981, acc=0.969]\nEpoch 2:  100% 1719/1719 [00:18<00:00, 92.32it/s, loss=0.0981, acc=0.969]\n

    When dstack submits the task, it uses the current folder contents.

    Exclude files

    If there are large files or folders you'd like to avoid uploading, you can list them in either .gitignore or .dstackignore.

    The dstack run command allows specifying many things, including spot policy, retry and max duration, max price, regions, instance types, and much more.

    "},{"location":"docs/concepts/tasks/#configure-profiles","title":"Configure profiles","text":"

    In case you'd like to reuse certain parameters (such as spot policy, retry and max duration, max price, regions, instance types, etc.) across runs, you can define them via .dstack/profiles.yml.

    "},{"location":"docs/concepts/tasks/#manage-runs","title":"Manage runs","text":""},{"location":"docs/concepts/tasks/#stop-a-run","title":"Stop a run","text":"

    Once the run exceeds the max duration, or when you use dstack stop, the task and its cloud resources are deleted.

    "},{"location":"docs/concepts/tasks/#list-runs","title":"List runs","text":"

    The dstack ps command lists all running runs and their status.

    "},{"location":"docs/concepts/tasks/#whats-next","title":"What's next?","text":"
    1. Check the QLoRA example
    2. Check the .dstack.yml reference for more details and examples
    3. Browse all examples
    "},{"location":"docs/installation/","title":"Installation","text":"

    To install dstack, use pip:

    $ pip install \"dstack[all]\" -U\n

    To use the open-source version of dstack, you have to configure your cloud accounts via ~/.dstack/server/config.yml and start the dstack server.

    "},{"location":"docs/installation/#configure-backends","title":"Configure backends","text":"

    To configure cloud accounts, create the ~/.dstack/server/config.yml file, and configure each cloud under the backends property.

    projects:\n- name: main\n  backends:\n  - type: aws\n    creds:\n      type: access_key\n      access_key: AIZKISCVKUKO5AAKLAEH\n      secret_key: QSbmpqJIUBn1V5U3pyM9S6lwwiu8/fOJ2dgfwFdW\n

    Refer below for examples on how to configure a specific cloud provider.

    Projects

    For flexibility, dstack server permits you to configure backends for multiple projects. If you intend to use only one project, name it main.

    "},{"location":"docs/installation/#aws","title":"AWS","text":"

    There are two ways to configure AWS: using an access key or using the default credentials.

    Access keyDefault credentials

    Create an access key by following the this guide . Once you've downloaded the .csv file with your IAM user's Access key ID and Secret access key, proceed to configure the backend.

    projects:\n- name: main\n  backends:\n  - type: aws\n    creds:\n      type: access_key\n      access_key: KKAAUKLIZ5EHKICAOASV\n      secret_key: pn158lMqSBJiySwpQ9ubwmI6VUU3/W2fdJdFwfgO\n

    If you have default credentials set up (e.g. in ~/.aws/credentials), configure the backend like this:

    projects:\n- name: main\n  backends:\n  - type: aws\n    creds:\n      type: default\n
    Required AWS permissions

    The following AWS policy permissions are sufficient for dstack to work:

    {\n    \"Version\": \"2012-10-17\",\n    \"Statement\": [\n        {\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"ec2:*\"\n            ],\n            \"Resource\": \"*\"\n        },\n        {\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"servicequotas:*\"\n            ],\n            \"Resource\": \"*\"\n        },\n        {\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"iam:GetRole\",\n                \"iam:CreateRole\",\n                \"iam:AttachRolePolicy\",\n                \"iam:TagRole\"\n            ],\n            \"Resource\": \"*\"\n        },\n        {\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"iam:CreatePolicy\",\n                \"iam:TagPolicy\"\n            ],\n            \"Resource\": \"*\"\n        },\n        {\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"iam:GetInstanceProfile\",\n                \"iam:CreateInstanceProfile\",\n                \"iam:AddRoleToInstanceProfile\",\n                \"iam:TagInstanceProfile\",\n                \"iam:PassRole\"\n            ],\n            \"Resource\": \"*\"\n        }\n    ]\n}\n
    "},{"location":"docs/installation/#azure","title":"Azure","text":"

    There are two ways to configure Azure: using a client secret or using the default credentials.

    Client secretDefault credentials

    A client secret can be created using the Azure CLI :

    SUBSCRIPTION_ID=...\naz ad sp create-for-rbac \n    --name dstack-app \\\n    --role $DSTACK_ROLE \\ \n    --scopes /subscriptions/$SUBSCRIPTION_ID \\ \n    --query \"{ tenant_id: tenant, client_id: appId, client_secret: password }\"\n

    Once you have tenant_id, client_id, and client_secret, go ahead and configure the backend.

    projects:\n- name: main\n  backends:\n  - type: azure\n    subscription_id: 06c82ce3-28ff-4285-a146-c5e981a9d808\n    tenant_id: f84a7584-88e4-4fd2-8e97-623f0a715ee1\n    creds:\n      type: client\n      client_id: acf3f73a-597b-46b6-98d9-748d75018ed0\n      client_secret: 1Kb8Q~o3Q2hdEvrul9yaj5DJDFkuL3RG7lger2VQ\n

    Obtain the subscription_id and tenant_id via the Azure CLI :

    az account show --query \"{subscription_id: id, tenant_id: tenantId}\"\n

    Then proceed to configure the backend:

    projects:\n- name: main\n  backends:\n  - type: azure\n    subscription_id: 06c82ce3-28ff-4285-a146-c5e981a9d808\n    tenant_id: f84a7584-88e4-4fd2-8e97-623f0a715ee1\n    creds:\n      type: default\n

    NOTE:

    If you don't know your subscription_id, run

    az account show --query \"{subscription_id: id}\"\n
    Required Azure permissions

    The following Azure permissions are sufficient for dstack to work:

    {\n    \"properties\": {\n        \"roleName\": \"dstack-role\",\n        \"description\": \"Minimal reqired permissions for using Azure with dstack\",\n        \"assignableScopes\": [\n            \"/subscriptions/${YOUR_SUBSCRIPTION_ID}\"\n        ],\n        \"permissions\": [\n            {\n              \"actions\": [\n                  \"Microsoft.Authorization/*/read\",\n                  \"Microsoft.Compute/availabilitySets/*\",\n                  \"Microsoft.Compute/locations/*\",\n                  \"Microsoft.Compute/virtualMachines/*\",\n                  \"Microsoft.Compute/virtualMachineScaleSets/*\",\n                  \"Microsoft.Compute/cloudServices/*\",\n                  \"Microsoft.Compute/disks/write\",\n                  \"Microsoft.Compute/disks/read\",\n                  \"Microsoft.Compute/disks/delete\",\n                  \"Microsoft.Network/networkSecurityGroups/*\",\n                  \"Microsoft.Network/locations/*\",\n                  \"Microsoft.Network/virtualNetworks/*\",\n                  \"Microsoft.Network/networkInterfaces/*\",\n                  \"Microsoft.Network/publicIPAddresses/*\",\n                  \"Microsoft.Resources/subscriptions/resourceGroups/read\",\n                  \"Microsoft.Resources/subscriptions/resourceGroups/write\",\n                  \"Microsoft.Resources/subscriptions/read\"\n              ],\n              \"notActions\": [],\n              \"dataActions\": [],\n              \"notDataActions\": []\n            }\n        ]\n    }\n}\n

    "},{"location":"docs/installation/#gcp","title":"GCP","text":"Enable APIs

    First, ensure the required APIs are enabled in your GCP project_id.

    PROJECT_ID=...\ngcloud config set project $PROJECT_ID\ngcloud services enable cloudapis.googleapis.com\ngcloud services enable compute.googleapis.com \n

    There are two ways to configure GCP: using a service account or using the default credentials.

    Service accountDefault credentials

    To create a service account, follow this guide . Make sure to grant it the Service Account User and Compute Admin roles.

    After setting up the service account create a key for it and download the corresponding JSON file.

    Then go ahead and configure the backend by specifying the downloaded file path.

    projects:\n- name: main\n  backends:\n  - type: gcp\n    project_id: gcp-project-id\n    creds:\n      type: service_account\n      filename: ~/.dstack/server/gcp-024ed630eab5.json\n
    projects:\n- name: main\n  backends:\n  - type: gcp\n    project_id: gcp-project-id\n    creds:\n      type: default\n

    NOTE:

    If you don't know your GCP project ID, run

    gcloud projects list --format=\"json(projectId)\"\n
    Required GCP permissions

    The following GCP permissions are sufficient for dstack to work:

    compute.disks.create\ncompute.firewalls.create\ncompute.images.useReadOnly\ncompute.instances.create\ncompute.instances.delete\ncompute.instances.get\ncompute.instances.setLabels\ncompute.instances.setMetadata\ncompute.instances.setTags\ncompute.networks.updatePolicy\ncompute.regions.list\ncompute.subnetworks.use\ncompute.subnetworks.useExternalIp\ncompute.zoneOperations.get\n
    "},{"location":"docs/installation/#lambda","title":"Lambda","text":"

    Log into your Lambda Cloud account, click API keys in the sidebar, and then click the Generate API key button to create a new API key.

    Then, go ahead and configure the backend:

    projects:\n- name: main\n  backends:\n  - type: lambda\n    creds:\n      type: api_key\n      api_key: eersct_yrpiey-naaeedst-tk-_cb6ba38e1128464aea9bcc619e4ba2a5.iijPMi07obgt6TZ87v5qAEj61RVxhd0p\n
    "},{"location":"docs/installation/#tensordock","title":"TensorDock","text":"

    Log into your TensorDock account, click API in the sidebar, and use the Create an Authorization section to create a new authorization key.

    Then, go ahead and configure the backend:

    projects:\n- name: main\n  backends:\n  - type: tensordock\n    creds:\n      type: api_key\n      api_key: 248e621d-9317-7494-dc1557fa5825b-98b\n      api_token: FyBI3YbnFEYXdth2xqYRnQI7hiusssBC\n

    NOTE:

    The tensordock backend supports on-demand instances only. Spot instance support coming soon.

    "},{"location":"docs/installation/#vastai","title":"Vast.ai","text":"

    Log into your Vast.ai account, click Account in the sidebar, and copy your API Key.

    Then, go ahead and configure the backend:

    projects:\n- name: main\n  backends:\n  - type: vastai\n    creds:\n      type: api_key\n      api_key: d75789f22f1908e0527c78a283b523dd73051c8c7d05456516fc91e9d4efd8c5\n

    NOTE:

    Also, the vastai backend supports on-demand instances only. Spot instance support coming soon.

    "},{"location":"docs/installation/#cudo","title":"CUDO","text":"

    Log into your CUDO Compute account, click API keys in the sidebar, and click the Create an API key button.

    Ensure you've created a project with CUDO Compute, then proceed to configuring the backend.

    projects:\n- name: main\n  backends:\n  - type: cudo\n    project_id: my-cudo-project\n    creds:\n      type: api_key\n      api_key: 7487240a466624b48de22865589\n
    "},{"location":"docs/installation/#runpod","title":"RunPod","text":"

    Log into your RunPod console, click Settings in the sidebar, expand the API Keys section, and click the button to create a key.

    Then proceed to configuring the backend.

    projects:\n- name: main\n  backends:\n  - type: runpod\n    creds:\n      type: api_key\n      api_key: US9XTPDIV8AR42MMINY8TCKRB8S4E7LNRQ6CAUQ9\n

    NOTE:

    If you're using a custom Docker image, its entrypoint cannot be anything other than /bin/bash or /bin/sh. See the issue for more details.

    NOTE:

    The runpod backend supports on-demand instances only. Spot instance support coming soon.

    "},{"location":"docs/installation/#datacrunch","title":"DataCrunch","text":"

    Log into your DataCrunch account, click Account Settings in the sidebar, find REST API Credentials area and then click the Generate Credentials button.

    Then, go ahead and configure the backend:

    projects:\n- name: main\n  backends:\n  - type: datacrunch\n    creds:\n      type: api_key\n      client_id: xfaHBqYEsArqhKWX-e52x3HH7w8T\n      client_secret: B5ZU5Qx9Nt8oGMlmMhNI3iglK8bjMhagTbylZy4WzncZe39995f7Vxh8\n
    "},{"location":"docs/installation/#kubernetes","title":"Kubernetes","text":"

    dstack supports both self-managed, and managed Kubernetes clusters.

    Prerequisite

    To use GPUs with Kubernetes, the cluster must be installed with the NVIDIA GPU Operator .

    To configure a Kubernetes backend, specify the path to the kubeconfig file, and the port that dstack can use for proxying SSH traffic. In case of a self-managed cluster, also specify the IP address of any node in the cluster.

    Self-managedManaged

    Here's how to configure the backend to use a self-managed cluster.

    projects:\n- name: main\n  backends:\n  - type: kubernetes\n    kubeconfig:\n      filename: ~/.kube/config\n    networking:\n      ssh_host: localhost # The external IP address of any node\n      ssh_port: 32000 # Any port accessible outside of the cluster\n

    The port specified to ssh_port must be accessible outside of the cluster.

    For example, if you are using Kind, make sure to add it via extraPortMappings:

    kind: Cluster\napiVersion: kind.x-k8s.io/v1alpha4\nnodes:\n- role: control-plane\n  extraPortMappings:\n  - containerPort: 32000 # Must be same as `ssh_port`\n    hostPort: 32000 # Must be same as `ssh_port`\n

    Here's how to configure the backend to use a managed cluster (AWS, GCP, Azure).

    projects:\n- name: main\n  backends:\n  - type: kubernetes\n    kubeconfig:\n      filename: ~/.kube/config\n    networking:\n      ssh_port: 32000 # Any port accessible outside of the cluster\n

    The port specified to ssh_port must be accessible outside of the cluster.

    For example, if you are using EKS, make sure to add it via an ingress rule of the corresponding security group:

    aws ec2 authorize-security-group-ingress --group-id <cluster-security-group-id> --protocol tcp --port 32000 --cidr 0.0.0.0/0\n
    "},{"location":"docs/installation/#start-the-server","title":"Start the server","text":"

    Once the ~/.dstack/server/config.yml file is configured, proceed to start the server:

    pipDocker
    $ dstack server\n\nApplying ~/.dstack/server/config.yml...\n\nThe admin token is \"bbae0f28-d3dd-4820-bf61-8f4bb40815da\"\nThe server is running at http://127.0.0.1:3000/\n
    $ docker run -p 3000:3000 -v $HOME/.dstack/server/:/root/.dstack/server dstackai/dstack\n\nApplying ~/.dstack/server/config.yml...\n\nThe admin token is \"bbae0f28-d3dd-4820-bf61-8f4bb40815da\"\nThe server is running at http://127.0.0.1:3000/\n
    "},{"location":"docs/installation/#configure-the-cli","title":"Configure the CLI","text":"

    To point the CLI to the dstack server, you need to configure ~/.dstack/config.yml with the server address, user token and project name.

    $ dstack config --url http://127.0.0.1:3000 \\\n    --project main \\\n    --token bbae0f28-d3dd-4820-bf61-8f4bb40815da\n\nConfiguration is updated at ~/.dstack/config.yml\n
    "},{"location":"docs/installation/#whats-next","title":"What's next?","text":"
    1. Follow quickstart
    2. Browse examples
    3. Join the community via Discord
    "},{"location":"docs/reference/dstack.yml/","title":".dstack.yml","text":"
    • dev-environment
    • task
    • service
    "},{"location":"docs/reference/profiles.yml/","title":"profiles.yml","text":"

    Instead of configuring run options as dstack run arguments or .dstack.yml parameters, you can defines those options in profiles.yml and reuse them across different run configurations. dstack supports repository-level profiles defined in $REPO_ROOT/.dstack/profiles.yml and global profiles defined in ~/.dstack/profiles.yml.

    Profiles parameters are resolved with the following priority:

    1. dstack run arguments
    2. .dstack.yml parameters
    3. Repository-level profiles from $REPO_ROOT/.dstack/profiles.yml
    4. Global profiles from ~/.dstack/profiles.yml
    "},{"location":"docs/reference/profiles.yml/#example","title":"Example","text":"
    profiles:\n  - name: large\n\n    spot_policy: auto # (Optional) The spot policy. Supports `spot`, `on-demand, and `auto`.\n\n    max_price: 1.5 # (Optional) The maximum price per instance per hour\n\n    max_duration: 1d # (Optional) The maximum duration of the run.\n\n    retry:\n      retry-duration: 3h # (Optional) To wait for capacity\n\n    backends: [azure, lambda]  # (Optional) Use only listed backends \n\n    default: true # (Optional) Activate the profile by default\n

    You can mark any profile as default or pass its name via --profile to dstack run.

    "},{"location":"docs/reference/profiles.yml/#root-reference","title":"Root reference","text":""},{"location":"docs/reference/profiles.yml/#backends","title":"backends - (Optional) The backends to consider for provisionig (e.g., [aws, gcp]).","text":""},{"location":"docs/reference/profiles.yml/#regions","title":"regions - (Optional) The regions to consider for provisionig (e.g., [eu-west-1, us-west4, westeurope]).","text":""},{"location":"docs/reference/profiles.yml/#instance_types","title":"instance_types - (Optional) The cloud-specific instance types to consider for provisionig (e.g., [p3.8xlarge, n1-standard-4]).","text":""},{"location":"docs/reference/profiles.yml/#spot_policy","title":"spot_policy - (Optional) The policy for provisioning spot or on-demand instances: spot, on-demand, or auto.","text":""},{"location":"docs/reference/profiles.yml/#_retry_policy","title":"retry_policy - (Optional) The policy for re-submitting the run.","text":""},{"location":"docs/reference/profiles.yml/#max_duration","title":"max_duration - (Optional) The maximum duration of a run (e.g., 2h, 1d, etc). After it elapses, the run is forced to stop. Defaults to off.","text":""},{"location":"docs/reference/profiles.yml/#max_price","title":"max_price - (Optional) The maximum price per hour, in dollars.","text":""},{"location":"docs/reference/profiles.yml/#pool_name","title":"pool_name - (Optional) The name of the pool. If not set, dstack will use the default name.","text":""},{"location":"docs/reference/profiles.yml/#instance_name","title":"instance_name - (Optional) The name of the instance.","text":""},{"location":"docs/reference/profiles.yml/#creation_policy","title":"creation_policy - (Optional) The policy for using instances from the pool. Defaults to reuse-or-create.","text":""},{"location":"docs/reference/profiles.yml/#termination_policy","title":"termination_policy - (Optional) The policy for termination instances. Defaults to destroy-after-idle.","text":""},{"location":"docs/reference/profiles.yml/#termination_idle_time","title":"termination_idle_time - (Optional) Time to wait before destroying the idle instance. Defaults to 5m for dstack run and to 3d for dstack pool add.","text":""},{"location":"docs/reference/profiles.yml/#name","title":"name - The name of the profile that can be passed as --profile to dstack run.","text":""},{"location":"docs/reference/profiles.yml/#default","title":"default - (Optional) If set to true, dstack run will use this profile by default..","text":""},{"location":"docs/reference/profiles.yml/#retry_policy","title":"retry_policy","text":""},{"location":"docs/reference/profiles.yml/#retry","title":"retry - (Optional) Whether to retry the run on failure or not.","text":""},{"location":"docs/reference/profiles.yml/#duration","title":"duration - (Optional) The maximum period of retrying the run, e.g., 4h or 1d.","text":""},{"location":"docs/reference/api/python/","title":"Python API","text":"

    The Python API enables running tasks, services, and managing runs programmatically.

    "},{"location":"docs/reference/api/python/#usage-example","title":"Usage example","text":"

    Below is a quick example of submitting a task for running and displaying its logs.

    import sys\n\nfrom dstack.api import Task, GPU, Client, Resources\n\nclient = Client.from_config()\n\ntask = Task(\n    image=\"ghcr.io/huggingface/text-generation-inference:latest\",\n    env={\"MODEL_ID\": \"TheBloke/Llama-2-13B-chat-GPTQ\"},\n    commands=[\n        \"text-generation-launcher --trust-remote-code --quantize gptq\",\n    ],\n    ports=[\"80\"],\n    resources=Resources(gpu=GPU(memory=\"24GB\")),\n)\n\nrun = client.runs.submit(\n    run_name=\"my-awesome-run\",  # If not specified, a random name is assigned \n    configuration=task,\n    repo=None, # Specify to mount additional files\n)\n\nrun.attach()\n\ntry:\n    for log in run.logs():\n        sys.stdout.buffer.write(log)\n        sys.stdout.buffer.flush()\nexcept KeyboardInterrupt:\n    run.stop(abort=True)\nfinally:\n    run.detach()\n

    NOTE:

    1. The configuration argument in the submit method can be either dstack.api.Task or dstack.api.Service.
    2. If you create dstack.api.Task or dstack.api.Service, you may specify the image argument. If image isn't specified, the default image will be used. For a private Docker registry, ensure you also pass the registry_auth argument.
    3. The repo argument in the submit method allows the mounting of a local folder, a remote repo, or a programmatically created repo. In this case, the commands argument can refer to the files within this repo.
    4. The attach method waits for the run to start and, for dstack.api.Task sets up an SSH tunnel and forwards configured ports to localhost.
    "},{"location":"docs/reference/api/python/#dstack.api","title":"dstack.api","text":""},{"location":"docs/reference/api/python/#dstack.api.Client","title":"dstack.api.Client","text":"

    High-level API client for interacting with dstack server

    Attributes:

    Name Type Description runs RunCollection

    Operations with runs.

    repos RepoCollection

    Operations with repositories.

    backends BackendCollection

    Operations with backends.

    "},{"location":"docs/reference/api/python/#dstack.api.Client.from_config","title":"from_config(project_name=None, server_url=None, user_token=None, ssh_identity_file=None) staticmethod","text":"

    Creates a Client using the default configuration from ~/.dstack/config.yml if it exists.

    Parameters:

    Name Type Description Default project_name Optional[str]

    The name of the project, required if server_url and user_token are specified

    None server_url Optional[str]

    The dstack server URL (e.g. http://localhost:3000/ or https://sky.dstack.ai)

    None user_token Optional[str]

    The dstack user token

    None ssh_identity_file Optional[PathLike]

    The private SSH key path for SSH tunneling

    None

    Returns:

    Type Description Client

    A client instance

    "},{"location":"docs/reference/api/python/#dstack.api.Client.runs","title":"dstack.api.RunCollection","text":"

    Operations with runs

    "},{"location":"docs/reference/api/python/#dstack.api.RunCollection.get","title":"get(run_name)","text":"

    Get run by run name

    Parameters:

    Name Type Description Default run_name str

    run name

    required

    Returns:

    Type Description Optional[Run]

    The run or None if not found

    "},{"location":"docs/reference/api/python/#dstack.api.RunCollection.list","title":"list(all=False)","text":"

    List runs

    Parameters:

    Name Type Description Default all bool

    show all runs (active and finished) if True

    False

    Returns:

    Type Description List[Run]

    list of runs

    "},{"location":"docs/reference/api/python/#dstack.api.RunCollection.submit","title":"submit(configuration, configuration_path=None, repo=None, backends=None, regions=None, instance_types=None, resources=None, spot_policy=None, retry_policy=None, max_duration=None, max_price=None, working_dir=None, run_name=None, reserve_ports=True)","text":"

    Submit a run

    Parameters:

    Name Type Description Default configuration Union[Task, Service]

    A run configuration.

    required configuration_path Optional[str]

    The path to the configuration file, relative to the root directory of the repo.

    None repo Union[LocalRepo, RemoteRepo, VirtualRepo]

    A repo to mount to the run.

    None backends Optional[List[BackendType]]

    A list of allowed backend for provisioning.

    None regions Optional[List[str]]

    A list of cloud regions for provisioning.

    None resources Optional[ResourcesSpec]

    The requirements to run the configuration. Overrides the configuration's resources.

    None spot_policy Optional[SpotPolicy]

    A spot policy for provisioning.

    None retry_policy RetryPolicy

    A retry policy.

    None max_duration Optional[Union[int, str]]

    The max instance running duration in seconds.

    None max_price Optional[float]

    The max instance price in dollars per hour for provisioning.

    None working_dir Optional[str]

    A working directory relative to the repo root directory

    None run_name Optional[str]

    A desired name of the run. Must be unique in the project. If not specified, a random name is assigned.

    None reserve_ports bool

    Whether local ports should be reserved in advance.

    True

    Returns:

    Type Description Run

    submitted run

    "},{"location":"docs/reference/api/python/#dstack.api.Client.repos","title":"dstack.api.RepoCollection","text":"

    Operations with repos

    "},{"location":"docs/reference/api/python/#dstack.api.RepoCollection.init","title":"init(repo, git_identity_file=None, oauth_token=None)","text":"

    Initializes the repo and configures its credentials in the project. Must be invoked before mounting the repo to a run.

    Example:

    repo=RemoteRepo.from_url(\n    repo_url=\"https://github.com/dstackai/dstack-examples\",\n    repo_branch=\"main\",\n)\nclient.repos.init(repo)\n

    By default, it uses the default Git credentials configured on the machine. You can override these credentials via the git_identity_file or oauth_token arguments of the init method.

    Once the repo is initialized, you can pass the repo object to the run:

    run = client.runs.submit(\n    configuration=...,\n    repo=repo,\n)\n

    Parameters:

    Name Type Description Default repo Repo

    The repo to initialize.

    required git_identity_file Optional[PathLike]

    The private SSH key path for accessing the remote repo.

    None oauth_token Optional[str]

    The GitHub OAuth token to access the remote repo.

    None"},{"location":"docs/reference/api/python/#dstack.api.Task","title":"dstack.api.Task","text":"

    Attributes:

    Name Type Description commands List[str]

    The bash commands to run

    ports List[PortMapping]

    Port numbers/mapping to expose

    env Dict[str, str]

    The mapping or the list of environment variables

    image Optional[str]

    The name of the Docker image to run

    python Optional[str]

    The major version of Python

    entrypoint Optional[str]

    The Docker entrypoint

    registry_auth Optional[RegistryAuth]

    Credentials for pulling a private Docker image

    home_dir str

    The absolute path to the home directory inside the container. Defaults to /root.

    resources Optional[ResourcesSpec]

    The requirements to run the configuration.

    "},{"location":"docs/reference/api/python/#dstack.api.Service","title":"dstack.api.Service","text":"

    Attributes:

    Name Type Description commands List[str]

    The bash commands to run

    port PortMapping

    The port, that application listens to or the mapping

    env Dict[str, str]

    The mapping or the list of environment variables

    image Optional[str]

    The name of the Docker image to run

    python Optional[str]

    The major version of Python

    entrypoint Optional[str]

    The Docker entrypoint

    registry_auth Optional[RegistryAuth]

    Credentials for pulling a private Docker image

    home_dir str

    The absolute path to the home directory inside the container. Defaults to /root.

    resources Optional[ResourcesSpec]

    The requirements to run the configuration.

    model Optional[ModelMapping]

    Mapping of the model for the OpenAI-compatible endpoint.

    auth bool

    Enable the authorization. Defaults to True.

    replicas Range[int]

    The range of the number of replicas. Defaults to 1.

    scaling Range[int]

    Optional[ScalingSpec]: The auto-scaling configuration.

    "},{"location":"docs/reference/api/python/##dstack.api.Run","title":"dstack.api.Run","text":"

    Attributes:

    Name Type Description name str

    run name

    ports Optional[Dict[int, int]]

    ports mapping, if run is attached

    backend Optional[BackendType]

    backend type

    status RunStatus

    run status

    hostname str

    instance hostname

    "},{"location":"docs/reference/api/python/#dstack.api.Run.attach","title":"attach(ssh_identity_file=None)","text":"

    Establish an SSH tunnel to the instance and update SSH config

    Parameters:

    Name Type Description Default ssh_identity_file Optional[PathLike]

    SSH keypair to access instances

    None

    Raises:

    Type Description PortUsedError

    If ports are in use or the run is attached by another process.

    "},{"location":"docs/reference/api/python/#dstack.api.Run.detach","title":"detach()","text":"

    Stop the SSH tunnel to the instance and update SSH config

    "},{"location":"docs/reference/api/python/#dstack.api.Run.logs","title":"logs(start_time=None, diagnose=False, replica_num=0, job_num=0)","text":"

    Iterate through run's log messages

    Parameters:

    Name Type Description Default start_time Optional[datetime]

    minimal log timestamp

    None diagnose bool

    return runner logs if True

    False

    Yields:

    Type Description Iterable[bytes]

    log messages

    "},{"location":"docs/reference/api/python/#dstack.api.Run.refresh","title":"refresh()","text":"

    Get up-to-date run info

    "},{"location":"docs/reference/api/python/#dstack.api.Run.stop","title":"stop(abort=False)","text":"

    Terminate the instance and detach

    Parameters:

    Name Type Description Default abort bool

    gracefully stop the run if False

    False"},{"location":"docs/reference/api/python/##dstack.api.Resources","title":"dstack.api.Resources","text":"

    Creates required resources specification.

    Parameters:

    Name Type Description Default cpu Optional[Range[int]]

    The number of CPUs

    DEFAULT_CPU_COUNT memory Optional[Range[Memory]]

    The size of RAM memory (e.g., \"16GB\")

    DEFAULT_MEMORY_SIZE gpu Optional[GPUSpec]

    The GPU spec

    None shm_size Optional[Range[Memory]]

    The of shared memory (e.g., \"8GB\"). If you are using parallel communicating processes (e.g., dataloaders in PyTorch), you may need to configure this.

    None disk Optional[DiskSpec]

    The disk spec

    None

    Returns:

    Type Description ResourcesSpec

    resources specification

    "},{"location":"docs/reference/api/python/##dstack.api.GPU","title":"dstack.api.GPU","text":"

    Creates GPU specification.

    Parameters:

    Name Type Description Default name Optional[List[str]]

    The name of the GPU (e.g., \"A100\" or \"H100\")

    None count Optional[Range[int]]

    The number of GPUs

    DEFAULT_GPU_COUNT memory Optional[Range[Memory]]

    The size of a single GPU memory (e.g., \"16GB\")

    None total_memory Optional[Range[Memory]]

    The total size of all GPUs memory (e.g., \"32GB\")

    None compute_capability Optional[float]

    The minimum compute capability of the GPU (e.g., 7.5)

    None

    Returns:

    Type Description GPUSpec

    GPU specification

    "},{"location":"docs/reference/api/python/##dstack.api.Disk","title":"dstack.api.Disk","text":"

    Creates disk specification.

    Parameters:

    Name Type Description Default size Range[Memory]

    The size of the disk (e.g., \"100GB\")

    required

    Returns:

    Type Description DiskSpec

    disk specification

    "},{"location":"docs/reference/api/python/##dstack.api.LocalRepo","title":"dstack.api.LocalRepo","text":"

    Creates an instance of a local repo from a local path.

    Example:

    run = client.runs.submit(\n    configuration=...,\n    repo=LocalRepo.from_dir(\".\"), # Mount the current folder to the run\n)\n
    "},{"location":"docs/reference/api/python/#dstack.api.LocalRepo.from_dir","title":"from_dir(repo_dir) staticmethod","text":"

    Creates an instance of a local repo from a local path.

    Parameters:

    Name Type Description Default repo_dir PathLike

    The path to a local folder

    required

    Returns:

    Type Description LocalRepo

    A local repo instance

    "},{"location":"docs/reference/api/python/##dstack.api.RemoteRepo","title":"dstack.api.RemoteRepo","text":"

    Creates an instance of a remote Git repo for mounting to a submitted run.

    Using a locally checked-out remote Git repo:

    repo=RemoteRepo.from_dir(repo_dir=\".\")\n

    Using a remote Git repo by a URL:

    repo=RemoteRepo.from_url(\n    repo_url=\"https://github.com/dstackai/dstack-examples\",\n    repo_branch=\"main\"\n)\n

    Initialize the repo before mounting it.

    client.repos.init(repo)\n

    By default, it uses the default Git credentials configured on the machine. You can override these credentials via the git_identity_file or oauth_token arguments of the init method.

    Finally, you can pass the repo object to the run:

    run = client.runs.submit(\n    configuration=...,\n    repo=repo,\n)\n
    "},{"location":"docs/reference/api/python/#dstack.api.RemoteRepo.from_dir","title":"from_dir(repo_dir) staticmethod","text":"

    Creates an instance of a remote repo from a local path.

    Parameters:

    Name Type Description Default repo_dir PathLike

    The path to a local folder

    required

    Returns:

    Type Description RemoteRepo

    A remote repo instance

    "},{"location":"docs/reference/api/python/#dstack.api.RemoteRepo.from_url","title":"from_url(repo_url, repo_branch=None, repo_hash=None) staticmethod","text":"

    Creates an instance of a remote repo from a URL.

    Parameters:

    Name Type Description Default repo_url str

    The URL of a remote Git repo

    required repo_branch Optional[str]

    The name of the remote branch. Must be specified if hash is not specified.

    None repo_hash Optional[str]

    The hash of the revision. Must be specified if branch is not specified.

    None

    Returns:

    Type Description RemoteRepo

    A remote repo instance

    "},{"location":"docs/reference/api/python/##dstack.api.VirtualRepo","title":"dstack.api.VirtualRepo","text":"

    Allows mounting a repo created programmatically.

    Example:

    virtual_repo = VirtualRepo(repo_id=\"some-unique-repo-id\")\nvirtual_repo.add_file_from_package(package=some_package, path=\"requirements.txt\")\nvirtual_repo.add_file_from_package(package=some_package, path=\"train.py\")\n\nrun = client.runs.submit(\n    configuration=...,\n    repo=virtual_repo,\n)\n

    Attributes:

    Name Type Description repo_id

    A unique identifier of the repo

    "},{"location":"docs/reference/api/python/#dstack.api.VirtualRepo.add_file","title":"add_file(path, content)","text":"

    Adds a given file to the repo.

    Attributes:

    Name Type Description path str

    The path inside the repo to add the file.

    content bytes

    The contents of the file.

    "},{"location":"docs/reference/api/python/#dstack.api.VirtualRepo.add_file_from_package","title":"add_file_from_package(package, path)","text":"

    Includes a file from a given package to the repo.

    Attributes:

    Name Type Description package Union[ModuleType, str]

    A package to include the file from.

    path str

    The path to the file to include to the repo. Must be relative to the package directory.

    "},{"location":"docs/reference/api/python/##dstack.api.RegistryAuth","title":"dstack.api.RegistryAuth","text":"

    Credentials for pulling a private Docker image.

    Attributes:

    Name Type Description username str

    The username

    password str

    The password or access token

    "},{"location":"docs/reference/api/python/#dstack.api.BackendType","title":"dstack.api.BackendType","text":"

    Attributes:

    Name Type Description AWS BackendType

    Amazon Web Services

    AZURE BackendType

    Microsoft Azure

    CUDO BackendType

    Cudo

    DSTACK BackendType

    dstack Sky

    GCP BackendType

    Google Cloud Platform

    DATACRUNCH BackendType

    DataCrunch

    KUBERNETES BackendType

    Kubernetes

    LAMBDA BackendType

    Lambda Cloud

    RUNPOD BackendType

    Runpod Cloud

    TENSORDOCK BackendType

    TensorDock Marketplace

    VASTAI BackendType

    Vast.ai Marketplace

    "},{"location":"docs/reference/api/rest/","title":"REST API","text":""},{"location":"docs/reference/cli/","title":"CLI","text":""},{"location":"docs/reference/cli/#commands","title":"Commands","text":""},{"location":"docs/reference/cli/#dstack-server","title":"dstack server","text":"

    This command starts the dstack server.

    $ dstack server --help\nUsage: dstack server [-h] [--host HOST] [-p PORT] [-l LOG_LEVEL] [--default]\n                     [--no-default] [--token TOKEN]\n\nOptions:\n  -h, --help            Show this help message and exit\n  --host HOST           Bind socket to this host. Defaults to 127.0.0.1\n  -p, --port PORT       Bind socket to this port. Defaults to 3000.\n  -l, --log-level LOG_LEVEL\n                        Server logging level. Defaults to INFO.\n  --default             Update the default project configuration\n  --no-default          Do not update the default project configuration\n  --token TOKEN         The admin user token\n
    "},{"location":"docs/reference/cli/#dstack-init","title":"dstack init","text":"

    This command initializes the current folder as a repo.

    $ dstack init --help\nUsage: dstack init [-h] [--project PROJECT] [-t OAUTH_TOKEN]\n                   [--git-identity SSH_PRIVATE_KEY]\n                   [--ssh-identity SSH_PRIVATE_KEY] [--local]\n\nOptions:\n  -h, --help            Show this help message and exit\n  --project PROJECT     The name of the project\n  -t, --token OAUTH_TOKEN\n                        An authentication token for Git\n  --git-identity SSH_PRIVATE_KEY\n                        The private SSH key path to access the remote repo\n  --ssh-identity SSH_PRIVATE_KEY\n                        The private SSH key path for SSH tunneling\n  --local               Do not use git\n
    Git credentials

    If the current folder is a Git repo, the command authorizes dstack to access it. By default, the command uses the default Git credentials configured for the repo. You can override these credentials via --token (OAuth token) or --git-identity.

    Custom SSH key

    By default, this command generates an SSH key that will be used for port forwarding and SSH access to running workloads. You can override this key via --ssh-identity.

    "},{"location":"docs/reference/cli/#dstack-run","title":"dstack run","text":"

    This command runs a given configuration.

    $ dstack run . --help\nUsage: dstack run [--project NAME] [-h [TYPE]] [-f FILE] [-n RUN_NAME] [-d]\n                  [-y] [--max-offers MAX_OFFERS] [--profile NAME]\n                  [--max-price PRICE] [--max-duration DURATION] [-b NAME]\n                  [-r NAME] [--instance-type NAME]\n                  [--pool POOL_NAME | --reuse | --dont-destroy | --idle-duration IDLE_DURATION | --instance NAME]\n                  [--spot | --on-demand | --spot-auto | --spot-policy POLICY]\n                  [--retry | --no-retry | --retry-duration DURATION]\n                  [-e KEY=VALUE] [--gpu SPEC] [--disk RANGE]\n                  working_dir\n\nPositional Arguments:\n  working_dir\n\nOptions:\n  --project NAME        The name of the project. Defaults to $DSTACK_PROJECT\n  -h, --help [TYPE]     Show this help message and exit. TYPE is one of task,\n                        dev-environment, service\n  -f, --file FILE       The path to the run configuration file. Defaults to\n                        WORKING_DIR/.dstack.yml\n  -n, --name RUN_NAME   The name of the run. If not specified, a random name\n                        is assigned\n  -d, --detach          Do not poll logs and run status\n  -y, --yes             Do not ask for plan confirmation\n  --max-offers MAX_OFFERS\n                        Number of offers to show in the run plan\n  -e, --env KEY=VALUE   Environment variables\n  --gpu SPEC            Request GPU for the run. The format is\n                        NAME:COUNT:MEMORY (all parts are optional)\n  --disk RANGE          Request the size range of disk for the run. Example\n                        --disk 100GB...\n\nProfile:\n  --profile NAME        The name of the profile. Defaults to $DSTACK_PROFILE\n  --max-price PRICE     The maximum price per hour, in dollars\n  --max-duration DURATION\n                        The maximum duration of the run\n  -b, --backend NAME    The backends that will be tried for provisioning\n  -r, --region NAME     The regions that will be tried for provisioning\n  --instance-type NAME  The cloud-specific instance types that will be tried\n                        for provisioning\n\nPools:\n  --pool POOL_NAME      The name of the pool. If not set, the default pool\n                        will be used\n  --reuse               Reuse instance from pool\n  --dont-destroy        Do not destroy instance after the run is finished\n  --idle-duration IDLE_DURATION\n                        Time to wait before destroying the idle instance\n  --instance NAME       Reuse instance from pool with name NAME\n\nSpot Policy:\n  --spot                Consider only spot instances\n  --on-demand           Consider only on-demand instances\n  --spot-auto           Consider both spot and on-demand instances\n  --spot-policy POLICY  One of spot, on-demand, auto\n\nRetry Policy:\n  --retry\n  --no-retry\n  --retry-duration DURATION\n
    .gitignore

    When running anything via CLI, dstack uses the exact version of code from your project directory.

    If there are large files, consider creating a .gitignore file to exclude them for better performance.

    "},{"location":"docs/reference/cli/#dstack-ps","title":"dstack ps","text":"

    This command shows the status of runs.

    $ dstack ps --help\nUsage: dstack ps [-h] [--project NAME] [-a] [-v] [-w]\n\nOptions:\n  -h, --help      Show this help message and exit\n  --project NAME  The name of the project. Defaults to $DSTACK_PROJECT\n  -a, --all       Show all runs. By default, it only shows unfinished runs or\n                  the last finished.\n  -v, --verbose   Show more information about runs\n  -w, --watch     Watch statuses of runs in realtime\n
    "},{"location":"docs/reference/cli/#dstack-stop","title":"dstack stop","text":"

    This command stops run(s) within the current repository.

    $ dstack stop --help\nUsage: dstack stop [-h] [--project NAME] [-x] [-y] run_name\n\nPositional Arguments:\n  run_name\n\nOptions:\n  -h, --help      Show this help message and exit\n  --project NAME  The name of the project. Defaults to $DSTACK_PROJECT\n  -x, --abort\n  -y, --yes\n
    "},{"location":"docs/reference/cli/#dstack-logs","title":"dstack logs","text":"

    This command shows the output of a given run within the current repository.

    $ dstack logs --help\nUsage: dstack logs [-h] [--project NAME] [-d] [-a]\n                   [--ssh-identity SSH_PRIVATE_KEY] [--replica REPLICA]\n                   [--job JOB]\n                   run_name\n\nPositional Arguments:\n  run_name\n\nOptions:\n  -h, --help            Show this help message and exit\n  --project NAME        The name of the project. Defaults to $DSTACK_PROJECT\n  -d, --diagnose\n  -a, --attach          Set up an SSH tunnel, and print logs as they follow.\n  --ssh-identity SSH_PRIVATE_KEY\n                        The private SSH key path for SSH tunneling\n  --replica REPLICA     The relica number. Defaults to 0.\n  --job JOB             The job number inside the replica. Defaults to 0.\n
    "},{"location":"docs/reference/cli/#dstack-config","title":"dstack config","text":"

    Both the CLI and API need to be configured with the server address, user token, and project name via ~/.dstack/config.yml.

    At startup, the server automatically configures CLI and API with the server address, user token, and the default project name (main). This configuration is stored via ~/.dstack/config.yml.

    To use CLI and API on different machines or projects, use the dstack config command.

    $ dstack config --help\nUsage: dstack config [-h] [--project PROJECT] [--url URL] [--token TOKEN]\n                     [--default] [--remove] [--no-default]\n\nOptions:\n  -h, --help         Show this help message and exit\n  --project PROJECT  The name of the project to configure\n  --url URL          Server url\n  --token TOKEN      User token\n  --default          Set the project as default. It will be used when\n                     --project is omitted in commands.\n  --remove           Delete project configuration\n  --no-default       Do not prompt to set the project as default\n
    "},{"location":"docs/reference/cli/#dstack-pool","title":"dstack pool","text":"

    Pools allow for managing the lifecycle of instances and reusing them across runs. The default pool is created automatically.

    "},{"location":"docs/reference/cli/#dstack-pool-add","title":"dstack pool add","text":"

    The dstack pool add command adds an instance to a pool. If no pool name is specified, the instance goes to the default pool.

    $ dstack pool add --help\nUsage: dstack pool add [-h] [-y] [--remote] [--remote-host REMOTE_HOST]\n                       [--remote-port REMOTE_PORT] [--name INSTANCE_NAME]\n                       [--profile NAME] [--max-price PRICE] [-b NAME]\n                       [-r NAME] [--instance-type NAME] [--pool POOL_NAME]\n                       [--reuse] [--dont-destroy]\n                       [--idle-duration IDLE_DURATION]\n                       [--spot | --on-demand | --spot-auto | --spot-policy POLICY]\n                       [--retry | --no-retry | --retry-duration DURATION]\n                       [--cpu SPEC] [--memory SIZE] [--shared-memory SIZE]\n                       [--gpu SPEC] [--disk SIZE]\n\nOptions:\n  -h, --help            show this help message and exit\n  -y, --yes             Don't ask for confirmation\n  --remote              Add remote runner as an instance\n  --remote-host REMOTE_HOST\n                        Remote runner host\n  --remote-port REMOTE_PORT\n                        Remote runner port\n  --name INSTANCE_NAME  Set the name of the instance\n  --pool POOL_NAME      The name of the pool. If not set, the default pool\n                        will be used\n  --reuse               Reuse instance from pool\n  --dont-destroy        Do not destroy instance after the run is finished\n  --idle-duration IDLE_DURATION\n                        Time to wait before destroying the idle instance\n\nProfile:\n  --profile NAME        The name of the profile. Defaults to $DSTACK_PROFILE\n  --max-price PRICE     The maximum price per hour, in dollars\n  -b, --backend NAME    The backends that will be tried for provisioning\n  -r, --region NAME     The regions that will be tried for provisioning\n  --instance-type NAME  The cloud-specific instance types that will be tried\n                        for provisioning\n\nSpot Policy:\n  --spot                Consider only spot instances\n  --on-demand           Consider only on-demand instances\n  --spot-auto           Consider both spot and on-demand instances\n  --spot-policy POLICY  One of spot, on-demand, auto\n\nRetry Policy:\n  --retry\n  --no-retry\n  --retry-duration DURATION\n\nResources:\n  --cpu SPEC            Request the CPU count. Default: 2..\n  --memory SIZE         Request the size of RAM. The format is SIZE:MB|GB|TB.\n                        Default: 8GB..\n  --shared-memory SIZE  Request the size of Shared Memory. The format is\n                        SIZE:MB|GB|TB.\n  --gpu SPEC            Request GPU for the run. The format is\n                        NAME:COUNT:MEMORY (all parts are optional)\n  --disk SIZE           Request the size of disk for the run. Example --disk\n                        100GB...\n
    "},{"location":"docs/reference/cli/#dstack-pool-ps","title":"dstack pool ps","text":"

    The dstack pool ps command lists all active instances of a pool. If no pool name is specified, default pool instances are displayed.

    $ dstack pool ps --help\nUsage: dstack pool ps [-h] [--pool POOL_NAME] [-w]\n\nShow instances in the pool\n\nOptions:\n  -h, --help        show this help message and exit\n  --pool POOL_NAME  The name of the pool. If not set, the default pool will be\n                    used\n  -w, --watch       Watch instances in realtime\n
    "},{"location":"docs/reference/cli/#dstack-pool-create","title":"dstack pool create","text":"

    The dstack pool create command creates a new pool.

    $ dstack pool create --help\nUsage: dstack pool create [-h] -n POOL_NAME\n\nOptions:\n  -h, --help            show this help message and exit\n  -n, --name POOL_NAME  The name of the pool\n
    "},{"location":"docs/reference/cli/#dstack-pool-list","title":"dstack pool list","text":"

    The dstack pool list lists all existing pools.

    $ dstack pool delete --help\nUsage: dstack pool delete [-h] -n POOL_NAME\n\nOptions:\n  -h, --help            show this help message and exit\n  -n, --name POOL_NAME  The name of the pool\n
    "},{"location":"docs/reference/cli/#dstack-pool-delete","title":"dstack pool delete","text":"

    The dstack pool delete command deletes a specified pool.

    $ dstack pool delete --help\nUsage: dstack pool delete [-h] -n POOL_NAME\n\nOptions:\n  -h, --help            show this help message and exit\n  -n, --name POOL_NAME  The name of the pool\n
    "},{"location":"docs/reference/cli/#dstack-gateway","title":"dstack gateway","text":"

    A gateway is required for running services. It handles ingress traffic, authorization, domain mapping, model mapping for the OpenAI-compatible endpoint, and so on.

    "},{"location":"docs/reference/cli/#dstack-gateway-list","title":"dstack gateway list","text":"

    The dstack gateway list command displays the names and addresses of the gateways configured in the project.

    $ dstack gateway list --help\nUsage: dstack gateway list [-h] [-v]\n\nOptions:\n  -h, --help     show this help message and exit\n  -v, --verbose  Show more information\n
    "},{"location":"docs/reference/cli/#dstack-gateway-create","title":"dstack gateway create","text":"

    The dstack gateway create command creates a new gateway instance in the project.

    $ dstack gateway create --help\nUsage: dstack gateway create [-h] --backend {aws,azure,gcp,kubernetes}\n                             --region REGION [--set-default] [--name NAME]\n                             --domain DOMAIN\n\nOptions:\n  -h, --help            show this help message and exit\n  --backend {aws,azure,gcp,kubernetes}\n  --region REGION\n  --set-default         Set as default gateway for the project\n  --name NAME           Set a custom name for the gateway\n  --domain DOMAIN       Set the domain for the gateway\n
    "},{"location":"docs/reference/cli/#dstack-gateway-delete","title":"dstack gateway delete","text":"

    The dstack gateway delete command deletes the specified gateway.

    $ dstack gateway delete --help\nUsage: dstack gateway delete [-h] [-y] name\n\nPositional Arguments:\n  name        The name of the gateway\n\nOptions:\n  -h, --help  show this help message and exit\n  -y, --yes   Don't ask for confirmation\n
    "},{"location":"docs/reference/cli/#dstack-gateway-update","title":"dstack gateway update","text":"

    The dstack gateway update command updates the specified gateway.

    $ dstack gateway update --help\nUsage: dstack gateway update [-h] [--set-default] [--domain DOMAIN] name\n\nPositional Arguments:\n  name             The name of the gateway\n\nOptions:\n  -h, --help       show this help message and exit\n  --set-default    Set it the default gateway for the project\n  --domain DOMAIN  Set the domain for the gateway\n
    "},{"location":"docs/reference/cli/#environment-variables","title":"Environment variables","text":"Name Description Default DSTACK_CLI_LOG_LEVEL Configures CLI logging level INFO DSTACK_PROFILE Has the same effect as --profile None DSTACK_PROJECT Has the same effect as --project None DSTACK_DEFAULT_CREDS_DISABLED Disables default credentials detection if set None DSTACK_LOCAL_BACKEND_ENABLED Enables local backend for debug if set None DSTACK_RUNNER_VERSION Sets exact runner version for debug latest DSTACK_SERVER_ADMIN_TOKEN Has the same effect as --token None DSTACK_SERVER_DIR Sets path to store data and server configs ~/.dstack/server DSTACK_SERVER_HOST Has the same effect as --host 127.0.0.1 DSTACK_SERVER_LOG_LEVEL Has the same effect as --log-level INFO DSTACK_SERVER_LOG_FORMAT Sets format of log output. Can be rich, standard, json. rich DSTACK_SERVER_PORT Has the same effect as --port 3000 DSTACK_SERVER_ROOT_LOG_LEVEL Sets root logger log level ERROR DSTACK_SERVER_UVICORN_LOG_LEVEL Sets uvicorn logger log level ERROR"},{"location":"docs/reference/dstack.yml/dev-environment/","title":"dev-environment","text":"

    The dev-environment configuration type allows running dev environments.

    Filename

    Configuration files must have a name ending with .dstack.yml (e.g., .dstack.yml or dev.dstack.yml are both acceptable) and can be located in the project's root directory or any nested folder. Any configuration can be run via dstack run.

    "},{"location":"docs/reference/dstack.yml/dev-environment/#examples","title":"Examples","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#python-version","title":"Python version","text":"

    If you don't specify image, dstack uses the default Docker image pre-configured with python, pip, conda (Miniforge), and essential CUDA drivers. The python property determines which default Docker image is used.

    type: dev-environment\n\npython: \"3.11\"\n\nide: vscode\n
    nvcc

    Note that the default Docker image doesn't bundle nvcc, which is required for building custom CUDA kernels. To install it, use conda install cuda.

    "},{"location":"docs/reference/dstack.yml/dev-environment/#docker-image","title":"Docker image","text":"
    type: dev-environment\n\nimage: ghcr.io/huggingface/text-generation-inference:latest\n\nide: vscode\n
    Private registry

    Use the registry_auth property to provide credentials for a private Docker registry.

    type: dev-environment\n\nimage: ghcr.io/huggingface/text-generation-inference:latest\nregistry_auth:\n  username: peterschmidt85\n  password: ghp_e49HcZ9oYwBzUbcSk2080gXZOU2hiT9AeSR5\n\nide: vscode\n
    "},{"location":"docs/reference/dstack.yml/dev-environment/#_resources","title":"Resources","text":"

    If you specify memory size, you can either specify an explicit size (e.g. 24GB) or a range (e.g. 24GB.., or 24GB..80GB, or ..80GB).

    type: dev-environment\n\nide: vscode\n\nresources:\n  cpu: 16.. # 16 or more CPUs\n  memory: 200GB.. # 200GB or more RAM\n  gpu: 40GB..80GB:4 # 4 GPUs from 40GB to 80GB\n  shm_size: 16GB # 16GB of shared memory\n  disk: 500GB\n

    The gpu property allows specifying not only memory size but also GPU names and their quantity. Examples: A100 (one A100), A10G,A100 (either A10G or A100), A100:80GB (one A100 of 80GB), A100:2 (two A100), 24GB..40GB:2 (two GPUs between 24GB and 40GB), A100:40GB:2 (two A100 GPUs of 40GB).

    Shared memory

    If you are using parallel communicating processes (e.g., dataloaders in PyTorch), you may need to configure shm_size, e.g. set it to 16GB.

    "},{"location":"docs/reference/dstack.yml/dev-environment/#environment-variables","title":"Environment variables","text":"
    type: dev-environment\n\nenv:\n  - HUGGING_FACE_HUB_TOKEN\n  - HF_HUB_ENABLE_HF_TRANSFER=1\n\nide: vscode\n

    If you don't assign a value to an environment variable (see HUGGING_FACE_HUB_TOKEN above), dstack will require the value to be passed via the CLI or set in the current process.

    For instance, you can define environment variables in a .env file and utilize tools like direnv.

    "},{"location":"docs/reference/dstack.yml/dev-environment/#root-reference","title":"Root reference","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#ide","title":"ide - The IDE to run.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#version","title":"version - (Optional) The version of the IDE.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#init","title":"init - (Optional) The bash commands to run.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#image","title":"image - (Optional) The name of the Docker image to run.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#entrypoint","title":"entrypoint - (Optional) The Docker entrypoint.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#home_dir","title":"home_dir - (Optional) The absolute path to the home directory inside the container. Defaults to /root.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#_registry_auth","title":"registry_auth - (Optional) Credentials for pulling a private Docker image.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#python","title":"python - (Optional) The major version of Python. Mutually exclusive with image.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#env","title":"env - (Optional) The mapping or the list of environment variables.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#setup","title":"setup - (Optional) The bash commands to run on the boot.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#_resources","title":"resources - (Optional) The resources requirements to run the configuration.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#ports","title":"ports - (Optional) Port numbers/mapping to expose.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#backends","title":"backends - (Optional) The backends to consider for provisionig (e.g., [aws, gcp]).","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#regions","title":"regions - (Optional) The regions to consider for provisionig (e.g., [eu-west-1, us-west4, westeurope]).","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#instance_types","title":"instance_types - (Optional) The cloud-specific instance types to consider for provisionig (e.g., [p3.8xlarge, n1-standard-4]).","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#spot_policy","title":"spot_policy - (Optional) The policy for provisioning spot or on-demand instances: spot, on-demand, or auto.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#_retry_policy","title":"retry_policy - (Optional) The policy for re-submitting the run.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#max_duration","title":"max_duration - (Optional) The maximum duration of a run (e.g., 2h, 1d, etc). After it elapses, the run is forced to stop. Defaults to off.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#max_price","title":"max_price - (Optional) The maximum price per hour, in dollars.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#pool_name","title":"pool_name - (Optional) The name of the pool. If not set, dstack will use the default name.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#instance_name","title":"instance_name - (Optional) The name of the instance.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#creation_policy","title":"creation_policy - (Optional) The policy for using instances from the pool. Defaults to reuse-or-create.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#termination_policy","title":"termination_policy - (Optional) The policy for termination instances. Defaults to destroy-after-idle.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#termination_idle_time","title":"termination_idle_time - (Optional) Time to wait before destroying the idle instance. Defaults to 5m for dstack run and to 3d for dstack pool add.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#resources","title":"resources","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#cpu","title":"cpu - (Optional) The number of CPU cores. Defaults to 2...","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#memory","title":"memory - (Optional) The RAM size (e.g., 8GB). Defaults to 8GB...","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#shm_size","title":"shm_size - (Optional) The size of shared memory (e.g., 8GB). If you are using parallel communicating processes (e.g., dataloaders in PyTorch), you may need to configure this.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#_gpu","title":"gpu - (Optional) The GPU requirements. Can be set to a number, a string (e.g. A100, 80GB:2, etc.), or an object; see examples.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#_disk","title":"disk - (Optional) The disk resources.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#resources-gpu","title":"resources.gpu","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#name","title":"name - (Optional) The GPU name or list of names.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#count","title":"count - (Optional) The number of GPUs. Defaults to 1.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#memory","title":"memory - (Optional) The VRAM size (e.g., 16GB). Can be set to a range (e.g. 16GB.., or 16GB..80GB).","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#total_memory","title":"total_memory - (Optional) The total VRAM size (e.g., 32GB). Can be set to a range (e.g. 16GB.., or 16GB..80GB).","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#compute_capability","title":"compute_capability - (Optional) The minimum compute capability of the GPU (e.g., 7.5).","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#resources-disk","title":"resources.disk","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#size","title":"size - The disk size. Can be a string (e.g., 100GB or 100GB..) or an object; see examples.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#registry_auth","title":"registry_auth","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#username","title":"username - The username.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#password","title":"password - The password or access token.","text":""},{"location":"docs/reference/dstack.yml/service/","title":"service","text":"

    The service configuration type allows running services.

    Filename

    Configuration files must have a name ending with .dstack.yml (e.g., .dstack.yml or serve.dstack.yml are both acceptable) and can be located in the project's root directory or any nested folder. Any configuration can be run via dstack run.

    "},{"location":"docs/reference/dstack.yml/service/#examples","title":"Examples","text":""},{"location":"docs/reference/dstack.yml/service/#python-version","title":"Python version","text":"

    If you don't specify image, dstack uses the default Docker image pre-configured with python, pip, conda (Miniforge), and essential CUDA drivers. The python property determines which default Docker image is used.

    type: service\n\npython: \"3.11\"\n\ncommands:\n  - python3 -m http.server\n\nport: 8000\n
    nvcc

    Note that the default Docker image doesn't bundle nvcc, which is required for building custom CUDA kernels. To install it, use conda install cuda.

    "},{"location":"docs/reference/dstack.yml/service/#docker-image","title":"Docker image","text":"
    type: service\n\nimage: dstackai/base:py3.11-0.4rc4-cuda-12.1\n\ncommands:\n  - python3 -m http.server\n\nport: 8000\n
    Private Docker registry

    Use the registry_auth property to provide credentials for a private Docker registry.

    type: service\n\nimage: dstackai/base:py3.11-0.4rc4-cuda-12.1\n\ncommands:\n  - python3 -m http.server\nregistry_auth:\n  username: peterschmidt85\n  password: ghp_e49HcZ9oYwBzUbcSk2080gXZOU2hiT9AeSR5\n\nport: 8000\n
    "},{"location":"docs/reference/dstack.yml/service/#openai-compatible-interface","title":"OpenAI-compatible interface","text":"

    By default, if you run a service, its endpoint is accessible at https://<run name>.<gateway domain>.

    If you run a model, you can optionally configure the mapping to make it accessible via the OpenAI-compatible interface.

    type: service\n\npython: \"3.11\"\n\nenv:\n  - MODEL=NousResearch/Llama-2-7b-chat-hf\ncommands:\n  - pip install vllm\n  - python -m vllm.entrypoints.openai.api_server --model $MODEL --port 8000\nport: 8000\n\nresources:\n  gpu: 24GB\n\n# Enable the OpenAI-compatible endpoint\nmodel:\n  format: openai\n  type: chat\n  name: NousResearch/Llama-2-7b-chat-hf\n

    In this case, with such a configuration, once the service is up, you'll be able to access the model at https://gateway.<gateway domain> via the OpenAI-compatible interface. See services for more detail.

    "},{"location":"docs/reference/dstack.yml/service/#replicas-and-auto-scaling","title":"Replicas and auto-scaling","text":"

    By default, dstack runs a single replica of the service. You can configure the number of replicas as well as the auto-scaling policy.

    type: service\n\npython: \"3.11\"\n\nenv:\n  - MODEL=NousResearch/Llama-2-7b-chat-hf\ncommands:\n  - pip install vllm\n  - python -m vllm.entrypoints.openai.api_server --model $MODEL --port 8000\nport: 8000\n\nresources:\n  gpu: 24GB\n\n# Enable the OpenAI-compatible endpoint\nmodel:\n  format: openai\n  type: chat\n  name: NousResearch/Llama-2-7b-chat-hf\n\nreplicas: 1..4\nscaling:\n  metric: rps\n  target: 10\n

    If you specify the minimum number of replicas as 0, the service will scale down to zero when there are no requests.

    "},{"location":"docs/reference/dstack.yml/service/#_resources","title":"Resources","text":"

    If you specify memory size, you can either specify an explicit size (e.g. 24GB) or a range (e.g. 24GB.., or 24GB..80GB, or ..80GB).

    type: service\n\npython: \"3.11\"\ncommands:\n  - pip install vllm\n  - python -m vllm.entrypoints.openai.api_server\n    --model mistralai/Mixtral-8X7B-Instruct-v0.1\n    --host 0.0.0.0\n    --tensor-parallel-size 2 # Match the number of GPUs\nport: 8000\n\nresources:\n  gpu: 80GB:2 # 2 GPUs of 80GB\n  disk: 200GB\n\n# Enable the OpenAI-compatible endpoint\nmodel:\n  type: chat\n  name: TheBloke/Mixtral-8x7B-Instruct-v0.1-GPTQ\n  format: openai\n

    The gpu property allows specifying not only memory size but also GPU names and their quantity. Examples: A100 (one A100), A10G,A100 (either A10G or A100), A100:80GB (one A100 of 80GB), A100:2 (two A100), 24GB..40GB:2 (two GPUs between 24GB and 40GB), A100:40GB:2 (two A100 GPUs of 40GB).

    Shared memory

    If you are using parallel communicating processes (e.g., dataloaders in PyTorch), you may need to configure shm_size, e.g. set it to 16GB.

    "},{"location":"docs/reference/dstack.yml/service/#authorization","title":"Authorization","text":"

    By default, the service endpoint requires the Authorization header with \"Bearer <dstack token>\". Authorization can be disabled by setting auth to false.

    type: service\n\npython: \"3.11\"\n\ncommands:\n  - python3 -m http.server\n\nport: 8000\n\nauth: false\n
    "},{"location":"docs/reference/dstack.yml/service/#root-reference","title":"Root reference","text":""},{"location":"docs/reference/dstack.yml/service/#port","title":"port - The port, that application listens on or the mapping.","text":""},{"location":"docs/reference/dstack.yml/service/#model","title":"model - (Optional) Mapping of the model for the OpenAI-compatible endpoint.","text":""},{"location":"docs/reference/dstack.yml/service/#auth","title":"auth - (Optional) Enable the authorization. Defaults to True.","text":""},{"location":"docs/reference/dstack.yml/service/#replicas","title":"replicas - (Optional) The range . Defaults to 1.","text":""},{"location":"docs/reference/dstack.yml/service/#_scaling","title":"scaling - (Optional) The auto-scaling configuration.","text":""},{"location":"docs/reference/dstack.yml/service/#image","title":"image - (Optional) The name of the Docker image to run.","text":""},{"location":"docs/reference/dstack.yml/service/#entrypoint","title":"entrypoint - (Optional) The Docker entrypoint.","text":""},{"location":"docs/reference/dstack.yml/service/#home_dir","title":"home_dir - (Optional) The absolute path to the home directory inside the container. Defaults to /root.","text":""},{"location":"docs/reference/dstack.yml/service/#_registry_auth","title":"registry_auth - (Optional) Credentials for pulling a private Docker image.","text":""},{"location":"docs/reference/dstack.yml/service/#python","title":"python - (Optional) The major version of Python. Mutually exclusive with image.","text":""},{"location":"docs/reference/dstack.yml/service/#env","title":"env - (Optional) The mapping or the list of environment variables.","text":""},{"location":"docs/reference/dstack.yml/service/#setup","title":"setup - (Optional) The bash commands to run on the boot.","text":""},{"location":"docs/reference/dstack.yml/service/#_resources","title":"resources - (Optional) The resources requirements to run the configuration.","text":""},{"location":"docs/reference/dstack.yml/service/#commands","title":"commands - (Optional) The bash commands to run.","text":""},{"location":"docs/reference/dstack.yml/service/#backends","title":"backends - (Optional) The backends to consider for provisionig (e.g., [aws, gcp]).","text":""},{"location":"docs/reference/dstack.yml/service/#regions","title":"regions - (Optional) The regions to consider for provisionig (e.g., [eu-west-1, us-west4, westeurope]).","text":""},{"location":"docs/reference/dstack.yml/service/#instance_types","title":"instance_types - (Optional) The cloud-specific instance types to consider for provisionig (e.g., [p3.8xlarge, n1-standard-4]).","text":""},{"location":"docs/reference/dstack.yml/service/#spot_policy","title":"spot_policy - (Optional) The policy for provisioning spot or on-demand instances: spot, on-demand, or auto.","text":""},{"location":"docs/reference/dstack.yml/service/#_retry_policy","title":"retry_policy - (Optional) The policy for re-submitting the run.","text":""},{"location":"docs/reference/dstack.yml/service/#max_duration","title":"max_duration - (Optional) The maximum duration of a run (e.g., 2h, 1d, etc). After it elapses, the run is forced to stop. Defaults to off.","text":""},{"location":"docs/reference/dstack.yml/service/#max_price","title":"max_price - (Optional) The maximum price per hour, in dollars.","text":""},{"location":"docs/reference/dstack.yml/service/#pool_name","title":"pool_name - (Optional) The name of the pool. If not set, dstack will use the default name.","text":""},{"location":"docs/reference/dstack.yml/service/#instance_name","title":"instance_name - (Optional) The name of the instance.","text":""},{"location":"docs/reference/dstack.yml/service/#creation_policy","title":"creation_policy - (Optional) The policy for using instances from the pool. Defaults to reuse-or-create.","text":""},{"location":"docs/reference/dstack.yml/service/#termination_policy","title":"termination_policy - (Optional) The policy for termination instances. Defaults to destroy-after-idle.","text":""},{"location":"docs/reference/dstack.yml/service/#termination_idle_time","title":"termination_idle_time - (Optional) Time to wait before destroying the idle instance. Defaults to 5m for dstack run and to 3d for dstack pool add.","text":""},{"location":"docs/reference/dstack.yml/service/#model_1","title":"model","text":""},{"location":"docs/reference/dstack.yml/service/#type","title":"type - The type of the model.","text":""},{"location":"docs/reference/dstack.yml/service/#name","title":"name - The name of the model.","text":""},{"location":"docs/reference/dstack.yml/service/#format","title":"format - The serving format.","text":""},{"location":"docs/reference/dstack.yml/service/#scaling","title":"scaling","text":""},{"location":"docs/reference/dstack.yml/service/#metric","title":"metric - The target metric to track.","text":""},{"location":"docs/reference/dstack.yml/service/#target","title":"target - The target value of the metric.","text":""},{"location":"docs/reference/dstack.yml/service/#scale_up_delay","title":"scale_up_delay - (Optional) The delay in seconds before scaling up. Defaults to 300.","text":""},{"location":"docs/reference/dstack.yml/service/#scale_down_delay","title":"scale_down_delay - (Optional) The delay in seconds before scaling down. Defaults to 600.","text":""},{"location":"docs/reference/dstack.yml/service/#resources","title":"resources","text":""},{"location":"docs/reference/dstack.yml/service/#cpu","title":"cpu - (Optional) The number of CPU cores. Defaults to 2...","text":""},{"location":"docs/reference/dstack.yml/service/#memory","title":"memory - (Optional) The RAM size (e.g., 8GB). Defaults to 8GB...","text":""},{"location":"docs/reference/dstack.yml/service/#shm_size","title":"shm_size - (Optional) The size of shared memory (e.g., 8GB). If you are using parallel communicating processes (e.g., dataloaders in PyTorch), you may need to configure this.","text":""},{"location":"docs/reference/dstack.yml/service/#_gpu","title":"gpu - (Optional) The GPU requirements. Can be set to a number, a string (e.g. A100, 80GB:2, etc.), or an object; see examples.","text":""},{"location":"docs/reference/dstack.yml/service/#_disk","title":"disk - (Optional) The disk resources.","text":""},{"location":"docs/reference/dstack.yml/service/#resources-gpu","title":"resouces.gpu","text":""},{"location":"docs/reference/dstack.yml/service/#name","title":"name - (Optional) The GPU name or list of names.","text":""},{"location":"docs/reference/dstack.yml/service/#count","title":"count - (Optional) The number of GPUs. Defaults to 1.","text":""},{"location":"docs/reference/dstack.yml/service/#memory","title":"memory - (Optional) The VRAM size (e.g., 16GB). Can be set to a range (e.g. 16GB.., or 16GB..80GB).","text":""},{"location":"docs/reference/dstack.yml/service/#total_memory","title":"total_memory - (Optional) The total VRAM size (e.g., 32GB). Can be set to a range (e.g. 16GB.., or 16GB..80GB).","text":""},{"location":"docs/reference/dstack.yml/service/#compute_capability","title":"compute_capability - (Optional) The minimum compute capability of the GPU (e.g., 7.5).","text":""},{"location":"docs/reference/dstack.yml/service/#resources-disk","title":"resouces.disk","text":""},{"location":"docs/reference/dstack.yml/service/#size","title":"size - The disk size. Can be a string (e.g., 100GB or 100GB..) or an object; see examples.","text":""},{"location":"docs/reference/dstack.yml/service/#registry_auth","title":"registry_auth","text":""},{"location":"docs/reference/dstack.yml/service/#username","title":"username - The username.","text":""},{"location":"docs/reference/dstack.yml/service/#password","title":"password - The password or access token.","text":""},{"location":"docs/reference/dstack.yml/task/","title":"task","text":"

    The task configuration type allows running tasks.

    Filename

    Configuration files must have a name ending with .dstack.yml (e.g., .dstack.yml or train.dstack.yml are both acceptable) and can be located in the project's root directory or any nested folder. Any configuration can be run via dstack run.

    "},{"location":"docs/reference/dstack.yml/task/#examples","title":"Examples","text":""},{"location":"docs/reference/dstack.yml/task/#python-version","title":"Python version","text":"

    If you don't specify image, dstack uses the default Docker image pre-configured with python, pip, conda (Miniforge), and essential CUDA drivers. The python property determines which default Docker image is used.

    type: task\n\npython: \"3.11\"\n\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py\n
    nvcc

    Note that the default Docker image doesn't bundle nvcc, which is required for building custom CUDA kernels. To install it, use conda install cuda.

    "},{"location":"docs/reference/dstack.yml/task/#_ports","title":"Ports","text":"

    A task can configure ports. In this case, if the task is running an application on a port, dstack run will securely allow you to access this port from your local machine through port forwarding.

    type: task\n\npython: \"3.11\"\n\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - tensorboard --logdir results/runs &\n  - python fine-tuning/qlora/train.py\n\nports:\n  - 6000\n

    When running it, dstack run forwards 6000 port to localhost:6000, enabling secure access. See tasks for more detail.

    "},{"location":"docs/reference/dstack.yml/task/#docker-image","title":"Docker image","text":"
    type: dev-environment\n\nimage: dstackai/base:py3.11-0.4rc4-cuda-12.1\n\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py\n
    Private registry

    Use the registry_auth property to provide credentials for a private Docker registry.

    type: dev-environment\n\nimage: dstackai/base:py3.11-0.4rc4-cuda-12.1\nregistry_auth:\n  username: peterschmidt85\n  password: ghp_e49HcZ9oYwBzUbcSk2080gXZOU2hiT9AeSR5\n\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py\n
    "},{"location":"docs/reference/dstack.yml/task/#_resources","title":"Resources","text":"

    If you specify memory size, you can either specify an explicit size (e.g. 24GB) or a range (e.g. 24GB.., or 24GB..80GB, or ..80GB).

    type: task\n\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py\n\nresources:\n  cpu: 16.. # 16 or more CPUs\n  memory: 200GB.. # 200GB or more RAM\n  gpu: 40GB..80GB:4 # 4 GPUs from 40GB to 80GB\n  shm_size: 16GB # 16GB of shared memory\n  disk: 500GB\n

    The gpu property allows specifying not only memory size but also GPU names and their quantity. Examples: A100 (one A100), A10G,A100 (either A10G or A100), A100:80GB (one A100 of 80GB), A100:2 (two A100), 24GB..40GB:2 (two GPUs between 24GB and 40GB), A100:40GB:2 (two A100 GPUs of 40GB).

    Shared memory

    If you are using parallel communicating processes (e.g., dataloaders in PyTorch), you may need to configure shm_size, e.g. set it to 16GB.

    "},{"location":"docs/reference/dstack.yml/task/#environment-variables","title":"Environment variables","text":"
    type: task\n\npython: \"3.11\"\n\nenv:\n  - HUGGING_FACE_HUB_TOKEN\n  - HF_HUB_ENABLE_HF_TRANSFER=1\n\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py\n

    If you don't assign a value to an environment variable (see HUGGING_FACE_HUB_TOKEN above), dstack will require the value to be passed via the CLI or set in the current process.

    For instance, you can define environment variables in a .env file and utilize tools like direnv.

    "},{"location":"docs/reference/dstack.yml/task/#run-arguments","title":"Run arguments","text":"

    You can parameterize tasks with user arguments using ${{ run.args }} in the configuration.

    type: task\n\npython: \"3.11\"\n\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py ${{ run.args }}\n

    Now, you can pass your arguments to the dstack run command. See tasks for more detail.

    "},{"location":"docs/reference/dstack.yml/task/#web-applications","title":"Web applications","text":"

    Here's an example of using ports to run web apps with tasks.

    type: task\n\npython: \"3.11\"\n\ncommands:\n  - pip3 install streamlit\n  - streamlit hello\n\nports: \n  - 8501\n
    "},{"location":"docs/reference/dstack.yml/task/#root-reference","title":"Root reference","text":""},{"location":"docs/reference/dstack.yml/task/#nodes","title":"nodes - (Optional) Number of nodes. Defaults to 1.","text":""},{"location":"docs/reference/dstack.yml/task/#image","title":"image - (Optional) The name of the Docker image to run.","text":""},{"location":"docs/reference/dstack.yml/task/#entrypoint","title":"entrypoint - (Optional) The Docker entrypoint.","text":""},{"location":"docs/reference/dstack.yml/task/#home_dir","title":"home_dir - (Optional) The absolute path to the home directory inside the container. Defaults to /root.","text":""},{"location":"docs/reference/dstack.yml/task/#_registry_auth","title":"registry_auth - (Optional) Credentials for pulling a private Docker image.","text":""},{"location":"docs/reference/dstack.yml/task/#python","title":"python - (Optional) The major version of Python. Mutually exclusive with image.","text":""},{"location":"docs/reference/dstack.yml/task/#env","title":"env - (Optional) The mapping or the list of environment variables.","text":""},{"location":"docs/reference/dstack.yml/task/#setup","title":"setup - (Optional) The bash commands to run on the boot.","text":""},{"location":"docs/reference/dstack.yml/task/#_resources","title":"resources - (Optional) The resources requirements to run the configuration.","text":""},{"location":"docs/reference/dstack.yml/task/#ports","title":"ports - (Optional) Port numbers/mapping to expose.","text":""},{"location":"docs/reference/dstack.yml/task/#commands","title":"commands - (Optional) The bash commands to run.","text":""},{"location":"docs/reference/dstack.yml/task/#backends","title":"backends - (Optional) The backends to consider for provisionig (e.g., [aws, gcp]).","text":""},{"location":"docs/reference/dstack.yml/task/#regions","title":"regions - (Optional) The regions to consider for provisionig (e.g., [eu-west-1, us-west4, westeurope]).","text":""},{"location":"docs/reference/dstack.yml/task/#instance_types","title":"instance_types - (Optional) The cloud-specific instance types to consider for provisionig (e.g., [p3.8xlarge, n1-standard-4]).","text":""},{"location":"docs/reference/dstack.yml/task/#spot_policy","title":"spot_policy - (Optional) The policy for provisioning spot or on-demand instances: spot, on-demand, or auto.","text":""},{"location":"docs/reference/dstack.yml/task/#_retry_policy","title":"retry_policy - (Optional) The policy for re-submitting the run.","text":""},{"location":"docs/reference/dstack.yml/task/#max_duration","title":"max_duration - (Optional) The maximum duration of a run (e.g., 2h, 1d, etc). After it elapses, the run is forced to stop. Defaults to off.","text":""},{"location":"docs/reference/dstack.yml/task/#max_price","title":"max_price - (Optional) The maximum price per hour, in dollars.","text":""},{"location":"docs/reference/dstack.yml/task/#pool_name","title":"pool_name - (Optional) The name of the pool. If not set, dstack will use the default name.","text":""},{"location":"docs/reference/dstack.yml/task/#instance_name","title":"instance_name - (Optional) The name of the instance.","text":""},{"location":"docs/reference/dstack.yml/task/#creation_policy","title":"creation_policy - (Optional) The policy for using instances from the pool. Defaults to reuse-or-create.","text":""},{"location":"docs/reference/dstack.yml/task/#termination_policy","title":"termination_policy - (Optional) The policy for termination instances. Defaults to destroy-after-idle.","text":""},{"location":"docs/reference/dstack.yml/task/#termination_idle_time","title":"termination_idle_time - (Optional) Time to wait before destroying the idle instance. Defaults to 5m for dstack run and to 3d for dstack pool add.","text":""},{"location":"docs/reference/dstack.yml/task/#resources","title":"resources","text":""},{"location":"docs/reference/dstack.yml/task/#cpu","title":"cpu - (Optional) The number of CPU cores. Defaults to 2...","text":""},{"location":"docs/reference/dstack.yml/task/#memory","title":"memory - (Optional) The RAM size (e.g., 8GB). Defaults to 8GB...","text":""},{"location":"docs/reference/dstack.yml/task/#shm_size","title":"shm_size - (Optional) The size of shared memory (e.g., 8GB). If you are using parallel communicating processes (e.g., dataloaders in PyTorch), you may need to configure this.","text":""},{"location":"docs/reference/dstack.yml/task/#_gpu","title":"gpu - (Optional) The GPU requirements. Can be set to a number, a string (e.g. A100, 80GB:2, etc.), or an object; see examples.","text":""},{"location":"docs/reference/dstack.yml/task/#_disk","title":"disk - (Optional) The disk resources.","text":""},{"location":"docs/reference/dstack.yml/task/#resources-gpu","title":"resouces.gpu","text":""},{"location":"docs/reference/dstack.yml/task/#name","title":"name - (Optional) The GPU name or list of names.","text":""},{"location":"docs/reference/dstack.yml/task/#count","title":"count - (Optional) The number of GPUs. Defaults to 1.","text":""},{"location":"docs/reference/dstack.yml/task/#memory","title":"memory - (Optional) The VRAM size (e.g., 16GB). Can be set to a range (e.g. 16GB.., or 16GB..80GB).","text":""},{"location":"docs/reference/dstack.yml/task/#total_memory","title":"total_memory - (Optional) The total VRAM size (e.g., 32GB). Can be set to a range (e.g. 16GB.., or 16GB..80GB).","text":""},{"location":"docs/reference/dstack.yml/task/#compute_capability","title":"compute_capability - (Optional) The minimum compute capability of the GPU (e.g., 7.5).","text":""},{"location":"docs/reference/dstack.yml/task/#resources-disk","title":"resouces.disk","text":""},{"location":"docs/reference/dstack.yml/task/#size","title":"size - The disk size. Can be a string (e.g., 100GB or 100GB..) or an object; see examples.","text":""},{"location":"docs/reference/dstack.yml/task/#registry_auth","title":"registry_auth","text":""},{"location":"docs/reference/dstack.yml/task/#username","title":"username - The username.","text":""},{"location":"docs/reference/dstack.yml/task/#password","title":"password - The password or access token.","text":""},{"location":"docs/reference/server/config.yml/","title":"~/.dstack/server/config.yml","text":"

    The ~/.dstack/server/config.yml file is used by the dstack server to configure cloud accounts.

    Projects

    For flexibility, dstack server permits you to configure backends for multiple projects. If you intend to use only one project, name it main.

    "},{"location":"docs/reference/server/config.yml/#examples","title":"Examples","text":""},{"location":"docs/reference/server/config.yml/#aws_1","title":"AWS","text":"Access keyDefault credentials
    projects:\n- name: main\n  backends:\n  - type: aws\n    creds:\n      type: access_key\n      access_key: KKAAUKLIZ5EHKICAOASV\n      secret_key: pn158lMqSBJiySwpQ9ubwmI6VUU3/W2fdJdFwfgO\n
    projects:\n- name: main\n  backends:\n  - type: aws\n    creds:\n      type: default\n
    "},{"location":"docs/reference/server/config.yml/#azure_1","title":"Azure","text":"ClientDefault credentials
    projects:\n- name: main\n  backends:\n  - type: azure\n    subscription_id: 06c82ce3-28ff-4285-a146-c5e981a9d808\n    tenant_id: f84a7584-88e4-4fd2-8e97-623f0a715ee1\n    creds:\n      type: client\n      client_id: acf3f73a-597b-46b6-98d9-748d75018ed0\n      client_secret: 1Kb8Q~o3Q2hdEvrul9yaj5DJDFkuL3RG7lger2VQ\n
    projects:\n- name: main\n  backends:\n  - type: azure\n    subscription_id: 06c82ce3-28ff-4285-a146-c5e981a9d808\n    tenant_id: f84a7584-88e4-4fd2-8e97-623f0a715ee1\n    creds:\n      type: default\n
    "},{"location":"docs/reference/server/config.yml/#gcp_1","title":"GCP","text":"Service accountDefault credentials
    projects:\n- name: main\n  backends:\n  - type: gcp\n    project_id: gcp-project-id\n    creds:\n      type: service_account\n      filename: ~/.dstack/server/gcp-024ed630eab5.json\n
    projects:\n- name: main\n  backends:\n  - type: gcp\n    project_id: gcp-project-id\n    creds:\n      type: default\n
    "},{"location":"docs/reference/server/config.yml/#lambda_1","title":"Lambda","text":"
    projects:\n- name: main\n  backends:\n  - type: lambda\n    creds:\n      type: api_key\n      api_key: eersct_yrpiey-naaeedst-tk-_cb6ba38e1128464aea9bcc619e4ba2a5.iijPMi07obgt6TZ87v5qAEj61RVxhd0p\n
    "},{"location":"docs/reference/server/config.yml/#tensordock_1","title":"TensorDock","text":"
    projects:\n- name: main\n  backends:\n  - type: tensordock\n    creds:\n      type: api_key\n      api_key: 248e621d-9317-7494-dc1557fa5825b-98b\n      api_token: FyBI3YbnFEYXdth2xqYRnQI7hiusssBC\n
    "},{"location":"docs/reference/server/config.yml/#vastai_1","title":"Vast.ai","text":"
    projects:\n- name: main\n  backends:\n  - type: vastai\n    creds:\n      type: api_key\n      api_key: d75789f22f1908e0527c78a283b523dd73051c8c7d05456516fc91e9d4efd8c5\n
    "},{"location":"docs/reference/server/config.yml/#cudo","title":"CUDO","text":"
    projects:\n- name: main\n  backends:\n  - type: cudo\n    project_id: my-cudo-project\n    creds:\n      type: api_key\n      api_key: 7487240a466624b48de22865589\n
    "},{"location":"docs/reference/server/config.yml/#datacrunch_1","title":"DataCrunch","text":"
    projects:\n- name: main\n  backends:\n  - type: datacrunch\n    creds:\n      type: api_key\n      client_id: xfaHBqYEsArqhKWX-e52x3HH7w8T\n      client_secret: B5ZU5Qx9Nt8oGMlmMhNI3iglK8bjMhagTbylZy4WzncZe39995f7Vxh8\n
    "},{"location":"docs/reference/server/config.yml/#kubernetes_1","title":"Kubernetes","text":"Self-managedManaged
    projects:\n- name: main\n  backends:\n  - type: kubernetes\n    kubeconfig:\n      filename: ~/.kube/config\n    networking:\n      ssh_host: localhost # The external IP address of any node\n      ssh_port: 32000 # Any port accessible outside of the cluster\n
    projects:\n- name: main\n  backends:\n  - type: kubernetes\n    kubeconfig:\n      filename: ~/.kube/config\n    networking:\n      ssh_port: 32000 # Any port accessible outside of the cluster\n

    For more details on configuring clouds, please refer to Installation.

    "},{"location":"docs/reference/server/config.yml/#root-reference","title":"Root reference","text":""},{"location":"docs/reference/server/config.yml/#_projects","title":"projects - The list of projects.","text":""},{"location":"docs/reference/server/config.yml/#projects","title":"projects[n]","text":""},{"location":"docs/reference/server/config.yml/#name","title":"name - The name of the project.","text":""},{"location":"docs/reference/server/config.yml/#backends","title":"backends - The list of backends.","text":""},{"location":"docs/reference/server/config.yml/#aws","title":"projects[n].backends[type=aws]","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of the backend. Must be aws.","text":""},{"location":"docs/reference/server/config.yml/#vpc_name","title":"vpc_name - (Optional) The VPC name.","text":""},{"location":"docs/reference/server/config.yml/#_creds","title":"creds - The credentials.","text":""},{"location":"docs/reference/server/config.yml/#aws-creds","title":"projects[n].backends[type=aws].creds","text":"Access keyDefault"},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be access_key.","text":""},{"location":"docs/reference/server/config.yml/#access_key","title":"access_key - The access key.","text":""},{"location":"docs/reference/server/config.yml/#secret_key","title":"secret_key - The secret key.","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be default.","text":""},{"location":"docs/reference/server/config.yml/#azure","title":"projects[n].backends[type=azure]","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of the backend. Must be azure.","text":""},{"location":"docs/reference/server/config.yml/#tenant_id","title":"tenant_id - The tenant ID.","text":""},{"location":"docs/reference/server/config.yml/#subscription_id","title":"subscription_id - The subscription ID.","text":""},{"location":"docs/reference/server/config.yml/#_creds","title":"creds - The credentials.","text":""},{"location":"docs/reference/server/config.yml/#azure-creds","title":"projects[n].backends[type=azure].creds","text":"ClientDefault"},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be client.","text":""},{"location":"docs/reference/server/config.yml/#client_id","title":"client_id - The client ID.","text":""},{"location":"docs/reference/server/config.yml/#client_secret","title":"client_secret - The client secret.","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be default.","text":""},{"location":"docs/reference/server/config.yml/#datacrunch","title":"projects[n].backends[type=datacrunch]","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of backend. Must be datacrunch.","text":""},{"location":"docs/reference/server/config.yml/#_creds","title":"creds - The credentials.","text":""},{"location":"docs/reference/server/config.yml/#datacrunch-creds","title":"projects[n].backends[type=datacrunch].creds","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be api_key.","text":""},{"location":"docs/reference/server/config.yml/#client_id","title":"client_id - The client ID.","text":""},{"location":"docs/reference/server/config.yml/#client_secret","title":"client_secret - The client secret.","text":""},{"location":"docs/reference/server/config.yml/#gcp","title":"projects[n].backends[type=gcp]","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of backend. Must be gcp.","text":""},{"location":"docs/reference/server/config.yml/#project_id","title":"project_id - The project ID.","text":""},{"location":"docs/reference/server/config.yml/#_creds","title":"creds - The credentials.","text":""},{"location":"docs/reference/server/config.yml/#gcp-creds","title":"projects[n].backends[type=gcp].creds","text":"Service accountDefault"},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be service_account.","text":""},{"location":"docs/reference/server/config.yml/#filename","title":"filename - The path to the service account file.","text":""},{"location":"docs/reference/server/config.yml/#data","title":"data - (Optional) The contents of the service account file.","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be default.","text":""},{"location":"docs/reference/server/config.yml/#lambda","title":"projects[n].backends[type=lambda]","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of backend. Must be lambda.","text":""},{"location":"docs/reference/server/config.yml/#_creds","title":"creds - The credentials.","text":""},{"location":"docs/reference/server/config.yml/#lambda-creds","title":"projects[n].backends[type=lambda].creds","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be api_key.","text":""},{"location":"docs/reference/server/config.yml/#api_key","title":"api_key - The API key.","text":""},{"location":"docs/reference/server/config.yml/#tensordock","title":"projects[n].backends[type=tensordock]","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of backend. Must be tensordock.","text":""},{"location":"docs/reference/server/config.yml/#_creds","title":"creds - The credentials.","text":""},{"location":"docs/reference/server/config.yml/#tensordock-creds","title":"projects[n].backends[type=tensordock].creds","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be api_key.","text":""},{"location":"docs/reference/server/config.yml/#api_key","title":"api_key - The API key.","text":""},{"location":"docs/reference/server/config.yml/#api_token","title":"api_token - The API token.","text":""},{"location":"docs/reference/server/config.yml/#vastai","title":"projects[n].backends[type=vastai]","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of backend. Must be vastai.","text":""},{"location":"docs/reference/server/config.yml/#_creds","title":"creds - The credentials.","text":""},{"location":"docs/reference/server/config.yml/#vastai-creds","title":"projects[n].backends[type=vastai].creds","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be api_key.","text":""},{"location":"docs/reference/server/config.yml/#api_key","title":"api_key - The API key.","text":""},{"location":"docs/reference/server/config.yml/#kubernetes","title":"projects[n].backends[type=kubernetes]","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of backend. Must be kubernetes.","text":""},{"location":"docs/reference/server/config.yml/#_kubeconfig","title":"kubeconfig - The kubeconfig configuration.","text":""},{"location":"docs/reference/server/config.yml/#_networking","title":"networking - (Optional) The networking configuration.","text":""},{"location":"docs/reference/server/config.yml/#kubeconfig","title":"projects[n].backends[type=kubernetes].kubeconfig","text":""},{"location":"docs/reference/server/config.yml/#filename","title":"filename - The path to the kubeconfig file.","text":""},{"location":"docs/reference/server/config.yml/#data","title":"data - (Optional) The contents of the kubeconfig file.","text":""},{"location":"docs/reference/server/config.yml/#networking","title":"projects[n].backends[type=kubernetes].networking","text":""},{"location":"docs/reference/server/config.yml/#ssh_host","title":"ssh_host - (Optional) The external IP address of any node.","text":""},{"location":"docs/reference/server/config.yml/#ssh_port","title":"ssh_port - (Optional) Any port accessible outside of the cluster.","text":""},{"location":"changelog/archive/2024/","title":"2024","text":""},{"location":"changelog/archive/2023/","title":"2023","text":""},{"location":"changelog/page/2/","title":"Changelog","text":""},{"location":"blog/archive/2024/","title":"2024","text":""}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"],"fields":{"title":{"boost":1000.0},"text":{"boost":1.0},"tags":{"boost":1000000.0}}},"docs":[{"location":"blog/","title":"Blog","text":""},{"location":"blog/archive/say-goodbye-to-managed-notebooks/","title":"Say goodbye to managed notebooks","text":"

    Data science and ML tools have made significant advancements in recent years. This blog post aims to examine the advantages of cloud dev environments (CDE) for ML engineers and compare them with web-based managed notebooks.

    "},{"location":"blog/archive/say-goodbye-to-managed-notebooks/#notebooks-are-here-to-stay","title":"Notebooks are here to stay","text":"

    Jupyter notebooks are instrumental for interactive work with data. They provide numerous advantages such as high interactivity, visualization support, remote accessibility, and effortless sharing.

    Managed notebook platforms, like Google Colab and AWS SageMaker have become popular thanks to their easy integration with clouds. With pre-configured environments, managed notebooks remove the need to worry about infrastructure.

    "},{"location":"blog/archive/say-goodbye-to-managed-notebooks/#reproducibility-challenge","title":"Reproducibility challenge","text":"

    As the code evolves, it needs to be converted into Python scripts and stored in Git for improved organization and version control. Notebooks alone cannot handle this task, which is why they must be a part of a developer environment that also supports Python scripts and Git.

    The JupyterLab project attempts to address this by turning notebooks into an IDE by adding a file browser, terminal, and Git support.

    "},{"location":"blog/archive/say-goodbye-to-managed-notebooks/#ides-get-equipped-for-ml","title":"IDEs get equipped for ML","text":"

    Recently, IDEs have improved in their ability to support machine learning. They have started to combine the benefits of traditional IDEs and managed notebooks.

    IDEs have upgraded their remote capabilities, with better SSH support. Additionally, they now offer built-in support for editing notebooks.

    Two popular IDEs, VS Code and PyCharm, have both integrated remote capabilities and seamless notebook editing features.

    "},{"location":"blog/archive/say-goodbye-to-managed-notebooks/#the-rise-of-app-ecosystem","title":"The rise of app ecosystem","text":"

    Notebooks have been beneficial for their interactivity and sharing features. However, there are new alternatives like Streamlit and Gradio that allow developers to build data apps using Python code. These frameworks not only simplify app-building but also enhance reproducibility by integrating with Git.

    Hugging Face Spaces, for example, is a popular tool today for sharing Streamlit and Gradio apps with others.

    "},{"location":"blog/archive/say-goodbye-to-managed-notebooks/#say-hello-to-cloud-dev-environments","title":"Say hello to cloud dev environments!","text":"

    Remote development within IDEs is becoming increasingly popular, and as a result, cloud dev environments have emerged as a new concept. Various managed services, such as Codespaces and GitPod, offer scalable infrastructure while maintaining the familiar IDE experience.

    One such open-source tool is dstack, which enables you to define your dev environment declaratively as code and run it on any cloud.

    type: dev-environment\nbuild:\n  - apt-get update\n  - apt-get install -y ffmpeg\n  - pip install -r requirements.txt\nide: vscode\n

    With this tool, provisioning the required hardware, setting up the pre-built environment (no Docker is needed), and fetching your local code is automated.

    $ dstack run .\n\n RUN                 CONFIGURATION  USER   PROJECT  INSTANCE       SPOT POLICY\n honest-jellyfish-1  .dstack.yml    peter  gcp      a2-highgpu-1g  on-demand\n\nStarting SSH tunnel...\n\nTo open in VS Code Desktop, use one of these link:\n  vscode://vscode-remote/ssh-remote+honest-jellyfish-1/workflow\n\nTo exit, press Ctrl+C.\n

    You can securely access the cloud development environment with the desktop IDE of your choice.

    Learn more

    Check out our guide for running dev environments in your cloud.

    "},{"location":"blog/dstack-sky/","title":"Introducing dstack Sky","text":"

    Today we're previewing dstack Sky, a service built on top of dstack that enables you to get GPUs at competitive rates from a wide pool of providers.

    "},{"location":"blog/dstack-sky/#tldr","title":"TL;DR","text":"
    • GPUs at competitive rates from multiple providers
    • No need for your own cloud accounts
    • Compatible with dstack's CLI and API
    • A pre-configured gateway for deploying services
    "},{"location":"blog/dstack-sky/#introduction","title":"Introduction","text":"

    dstack is an open-source tool designed for managing AI infrastructure across various cloud platforms. It's lighter and more specifically geared towards AI tasks compared to Kubernetes.

    Due to its support for multiple cloud providers, dstack is frequently used to access on-demand and spot GPUs across multiple clouds. From our users, we've learned that managing various cloud accounts, quotas, and billing can be cumbersome.

    To streamline this process, we introduce dstack Sky, a managed service that enables users to access GPUs from multiple providers through dstack \u2013 without needing an account in each cloud provider.

    "},{"location":"blog/dstack-sky/#what-is-dstack-sky","title":"What is dstack Sky?","text":"

    Instead of running dstack server yourself, you point dstack config to a project set up with dstack Sky.

    $ dstack config --url https://sky.dstack.ai \\\n    --project my-awesome-project \\\n    --token ca1ee60b-7b3f-8943-9a25-6974c50efa75\n

    Now, you can use dstack's CLI or API \u2013 just like you would with your own cloud accounts.

    $ dstack run . -b tensordock -b vastai\n\n #  BACKEND     REGION  RESOURCES                    SPOT  PRICE \n 1  vastai      canada  16xCPU/64GB/1xRTX4090/1TB    no    $0.35\n 2  vastai      canada  16xCPU/64GB/1xRTX4090/400GB  no    $0.34\n 3  tensordock  us      8xCPU/48GB/1xRTX4090/480GB   no    $0.74\n    ...\n Shown 3 of 50 offers, $0.7424 max\n\nContinue? [y/n]:\n

    Backends

    dstack Sky supports the same backends as the open-source version, except that you don't need to set them up. By default, it uses all supported backends.

    You can use both on-demand and spot instances without needing to manage quotas, as they are automatically handled for you.

    With dstack Sky you can use all of dstack's features, incl. dev environments, tasks, services, and pools.

    To use services, the open-source version requires setting up a gateway with your own domain. dstack Sky comes with a pre-configured gateway.

    $ dstack gateway list\n BACKEND  REGION     NAME    ADDRESS       DOMAIN                            DEFAULT\n aws      eu-west-1  dstack  3.252.79.143  my-awesome-project.sky.dstack.ai  \u2713\n

    If you run it with dstack Sky, the service's endpoint will be available at https://<run name>.<project name>.sky.dstack.ai.

    Let's say we define a service:

    type: service\n# Deploys Mixtral 8x7B with Ollama\n\n# Serve model using Ollama's Docker image\nimage: ollama/ollama\ncommands:\n  - ollama serve &\n  - sleep 3\n  - ollama pull mixtral\n  - fg\nport: 11434\n\n# Configure hardware requirements\nresources:\n  gpu: 48GB..80GB\n\n# Enable OpenAI compatible endpoint\nmodel:\n  type: chat\n  name: mixtral\n  format: openai\n

    If it has a model mapping, the model will be accessible at https://gateway.<project name>.sky.dstack.ai via the OpenAI compatible interface.

    from openai import OpenAI\n\n\nclient = OpenAI(\n  base_url=\"https://gateway.<project name>.sky.dstack.ai\",\n  api_key=\"<dstack token>\"\n)\n\ncompletion = client.chat.completions.create(\n  model=\"mixtral\",\n  messages=[\n    {\"role\": \"user\", \"content\": \"Compose a poem that explains the concept of recursion in programming.\"}\n  ]\n)\n\nprint(completion.choices[0].message)\n

    Now, you can choose \u2014 either use dstack via the open-source version or via dstack Sky, or even use them side by side.

    Credits

    Are you an active contributor to the AI community? Request free dstack Sky credits.

    dstack Sky is live on Product Hunt. Support it by giving it your vote!

    Join Discord

    "},{"location":"changelog/","title":"Blog","text":""},{"location":"docs/","title":"What is dstack?","text":"

    dstack is an open-source orchestration engine for running AI workloads. It supports a wide range of cloud providers (such as AWS, GCP, Azure, Lambda, TensorDock, Vast.ai, CUDO, RunPod, etc.) as well as on-premises infrastructure.

    "},{"location":"docs/#why-use-dstack","title":"Why use dstack?","text":"
    1. Designed for development, training, and deployment of gen AI models.
    2. Efficiently utilizes compute across cloud providers and on-prem servers.
    3. Compatible with any training, fine-tuning, and serving frameworks, as well as other third-party tools.
    4. 100% open-source.
    "},{"location":"docs/#how-does-it-work","title":"How does it work?","text":"
    1. Install the open-source version of dstack and configure your own cloud accounts, or sign up with dstack Sky
    2. Define configurations such as dev environments, tasks, and services.
    3. Run configurations via dstack's CLI or API.
    4. Use pools to manage instances and on-prem servers.
    "},{"location":"docs/#where-do-i-start","title":"Where do I start?","text":"
    1. Follow quickstart
    2. Browse examples
    3. Join the community via Discord
    "},{"location":"docs/quickstart/","title":"Quickstart","text":"Prerequisites

    To use the open-source version, make sure to install the server and configure backends.

    If you're using dstack Sky, install the CLI and run the dstack config command:

    Once the CLI is set up, follow the quickstart.

    "},{"location":"docs/quickstart/#initialize-a-repo","title":"Initialize a repo","text":"

    To use dstack's CLI in a folder, first run dstack init within that folder.

    $ mkdir quickstart && cd quickstart\n$ dstack init\n

    Your folder can be a regular local folder or a Git repo.

    "},{"location":"docs/quickstart/#define-a-configuration","title":"Define a configuration","text":"

    Define what you want to run as a YAML file. The filename must end with .dstack.yml (e.g., .dstack.yml or train.dstack.yml are both acceptable).

    Dev environmentTaskService

    Dev environments allow you to quickly provision a machine with a pre-configured environment, resources, IDE, code, etc.

    type: dev-environment\n\n# Use either `python` or `image` to configure environment\npython: \"3.11\"\n# image: ghcr.io/huggingface/text-generation-inference:latest\n\nide: vscode\n\n# (Optional) Configure `gpu`, `memory`, `disk`, etc\nresources:\n  gpu: 80GB\n

    Tasks make it very easy to run any scripts, be it for training, data processing, or web apps. They allow you to pre-configure the environment, resources, code, etc.

    type: task\n\npython: \"3.11\"\nenv:\n  - HF_HUB_ENABLE_HF_TRANSFER=1\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py\n\n# (Optional) Configure `gpu`, `memory`, `disk`, etc\nresources:\n  gpu: 80GB\n

    Ensure requirements.txt and train.py are in your folder. You can take them from dstack-examples.

    Services make it easy to deploy models and apps cost-effectively as public endpoints, allowing you to use any frameworks.

    type: service\n\nimage: ghcr.io/huggingface/text-generation-inference:latest\nenv:\n  - MODEL_ID=mistralai/Mistral-7B-Instruct-v0.1\ncommands:\n  - text-generation-launcher --port 8000 --trust-remote-code\nport: 8000\n\n# (Optional) Configure `gpu`, `memory`, `disk`, etc\nresources:\n  gpu: 80GB\n
    "},{"location":"docs/quickstart/#run-configuration","title":"Run configuration","text":"

    Run a configuration using the dstack run command, followed by the working directory path (e.g., .), the path to the configuration file, and run options (e.g., configuring hardware resources, spot policy, etc.)

    $ dstack run . -f train.dstack.yml\n\n BACKEND     REGION         RESOURCES                     SPOT  PRICE\n tensordock  unitedkingdom  10xCPU, 80GB, 1xA100 (80GB)   no    $1.595\n azure       westus3        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n azure       westus2        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n\nContinue? [y/n]: y\n\nProvisioning...\n---> 100%\n\nEpoch 0:  100% 1719/1719 [00:18<00:00, 92.32it/s, loss=0.0981, acc=0.969]\nEpoch 1:  100% 1719/1719 [00:18<00:00, 92.32it/s, loss=0.0981, acc=0.969]\nEpoch 2:  100% 1719/1719 [00:18<00:00, 92.32it/s, loss=0.0981, acc=0.969]\n

    The dstack run command automatically uploads your code, including any local uncommitted changes. To exclude any files from uploading, use .gitignore.

    "},{"location":"docs/quickstart/#whats-next","title":"What's next?","text":"
    1. Read about dev environments, tasks, services, and pools
    2. Browse examples
    3. Join the community via Discord
    "},{"location":"docs/concepts/dev-environments/","title":"Dev environments","text":"

    Before submitting a task or deploying a model, you may want to run code interactively. Dev environments allow you to do exactly that.

    You specify the required environment and resources, then run it. dstack provisions the dev environment in the configured backend and enables access via your desktop IDE.

    "},{"location":"docs/concepts/dev-environments/#define-a-configuration","title":"Define a configuration","text":"

    First, create a YAML file in your project folder. Its name must end with .dstack.yml (e.g. .dstack.yml or dev.dstack.yml are both acceptable).

    type: dev-environment\n\npython: \"3.11\"\n\nide: vscode\n\nresources:\n  gpu: 80GB\n

    The YAML file allows you to specify your own Docker image, environment variables, resource requirements, etc. If image is not specified, dstack uses its own (pre-configured with Python, Conda, and essential CUDA drivers).

    .dstack.yml

    For more details on the file syntax, refer to the .dstack.yml reference.

    "},{"location":"docs/concepts/dev-environments/#configure-environment-variables","title":"Configure environment variables","text":"

    Environment variables can be set either within the configuration file or passed via the CLI.

    type: dev-environment\n\nenv:\n  - HUGGING_FACE_HUB_TOKEN\n  - HF_HUB_ENABLE_HF_TRANSFER=1\n\npython: \"3.11\"\nide: vscode\n\nresources:\n  gpu: 80GB\n

    If you don't assign a value to an environment variable (see HUGGING_FACE_HUB_TOKEN above), dstack will require the value to be passed via the CLI or set in the current process.

    For instance, you can define environment variables in a .env file and utilize tools like direnv.

    "},{"location":"docs/concepts/dev-environments/#run-the-configuration","title":"Run the configuration","text":"

    To run a configuration, use the dstack run command followed by the working directory path, configuration file path, and other options.

    $ dstack run . -f .dstack.yml\n\n BACKEND     REGION         RESOURCES                     SPOT  PRICE\n tensordock  unitedkingdom  10xCPU, 80GB, 1xA100 (80GB)   no    $1.595\n azure       westus3        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n azure       westus2        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n\nContinue? [y/n]: y\n\nProvisioning `fast-moth-1`...\n---> 100%\n\nTo open in VS Code Desktop, use this link:\n  vscode://vscode-remote/ssh-remote+fast-moth-1/workflow\n

    When dstack provisions the dev environment, it uses the current folder contents.

    Exclude files

    If there are large files or folders you'd like to avoid uploading, you can list them in either .gitignore or .dstackignore.

    The dstack run command allows specifying many things, including spot policy, retry and max duration, max price, regions, instance types, and much more.

    "},{"location":"docs/concepts/dev-environments/#ide","title":"IDE","text":"

    To open the dev environment in your desktop IDE, use the link from the output (such as vscode://vscode-remote/ssh-remote+fast-moth-1/workflow).

    "},{"location":"docs/concepts/dev-environments/#ssh","title":"SSH","text":"

    Alternatively, you can connect to the dev environment via SSH:

    $ ssh fast-moth-1\n
    "},{"location":"docs/concepts/dev-environments/#configure-profiles","title":"Configure profiles","text":"

    In case you'd like to reuse certain parameters (such as spot policy, retry and max duration, max price, regions, instance types, etc.) across runs, you can define them via .dstack/profiles.yml.

    "},{"location":"docs/concepts/dev-environments/#manage-runs","title":"Manage runs","text":""},{"location":"docs/concepts/dev-environments/#stop-a-run","title":"Stop a run","text":"

    Once the run exceeds the max duration, or when you use dstack stop, the dev environment and its cloud resources are deleted.

    "},{"location":"docs/concepts/dev-environments/#list-runs","title":"List runs","text":"

    The dstack ps command lists all running runs and their status.

    "},{"location":"docs/concepts/dev-environments/#whats-next","title":"What's next?","text":"
    1. Check the .dstack.yml reference for more details and examples
    "},{"location":"docs/concepts/pools/","title":"Pools","text":"

    Pools simplify managing the lifecycle of cloud instances and enable their efficient reuse across runs.

    You can have instances provisioned in the configured backend automatically when you run a workload, or add them manually, configuring the required resources, idle duration, etc.

    "},{"location":"docs/concepts/pools/#add-instances","title":"Add instances","text":""},{"location":"docs/concepts/pools/#dstack-run","title":"dstack run","text":"

    By default, when using the dstack run command, it tries to reuse an instance from a pool. If no idle instance meets the requirements, dstack automatically provisions a new one and adds it to the pool.

    To avoid provisioning new instances with dstack run, use --reuse. Your run will be assigned to an idle instance in the pool.

    Idle duration

    By default, dstack run sets the idle duration of a newly provisioned instance to 5m. This means that if the run is finished and the instance remains idle for longer than five minutes, it is automatically removed from the pool. To override the default idle duration, use --idle-duration DURATION with dstack run.

    "},{"location":"docs/concepts/pools/#dstack-pool-add","title":"dstack pool add","text":"

    To manually add an instance to a pool, use dstack pool add:

    $ dstack pool add --gpu 80GB\n\n BACKEND     REGION         RESOURCES                     SPOT  PRICE\n tensordock  unitedkingdom  10xCPU, 80GB, 1xA100 (80GB)   no    $1.595\n azure       westus3        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n azure       westus2        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n\nContinue? [y/n]: y\n

    The dstack pool add command allows specifying resource requirements, along with the spot policy, idle duration, max price, retry policy, and other policies.

    The default idle duration if you're using dstack pool add is 72h. To override it, use the --idle-duration DURATION argument.

    You can also specify the policies via .dstack/profiles.yml instead of passing them as arguments. For more details on policies and their defaults, refer to .dstack/profiles.yml.

    Limitations

    The dstack pool add command is not supported for Kubernetes, and VastAI backends yet.

    "},{"location":"docs/concepts/pools/#remove-instances","title":"Remove instances","text":"

    Idle duration

    If the instance remains idle for the configured duration, dstack removes it and deletes all cloud resources.

    "},{"location":"docs/concepts/pools/#dstack-pool-remove","title":"dstack pool remove","text":"

    To remove an instance from the pool manually, use the dstack pool remove command.

    $ dstack pool remove &lt;instance name&gt;\n
    "},{"location":"docs/concepts/pools/#list-instances","title":"List instances","text":"

    The dstack pool ps command lists active instances and their status (busy or idle).

    "},{"location":"docs/concepts/services/","title":"Services","text":"

    Services make it very easy to deploy any kind of model or web application as public endpoints.

    Use any serving frameworks and specify required resources. dstack deploys it in the configured backend, handles authorization, auto-scaling, and provides an OpenAI-compatible interface if needed.

    Prerequisites

    If you're using the open-source server, you first have to set up a gateway.

    "},{"location":"docs/concepts/services/#set-up-a-gateway","title":"Set up a gateway","text":"

    For example, if your domain is example.com, go ahead and run the dstack gateway create command:

    $ dstack gateway create --domain example.com --region eu-west-1 --backend aws\n\nCreating gateway...\n---> 100%\n\n BACKEND  REGION     NAME          ADDRESS        DOMAIN       DEFAULT\n aws      eu-west-1  sour-fireant  52.148.254.14  example.com  \u2713\n

    Afterward, in your domain's DNS settings, add an A DNS record for *.example.com pointing to the IP address of the gateway.

    Now, if you run a service, dstack will make its endpoint available at https://<run name>.<gateway domain>.

    In case your service has the model mapping configured, dstack will automatically make your model available at https://gateway.<gateway domain> via the OpenAI-compatible interface.

    If you're using dstack Sky, the gateway is set up for you.

    "},{"location":"docs/concepts/services/#define-a-configuration","title":"Define a configuration","text":"

    First, create a YAML file in your project folder. Its name must end with .dstack.yml (e.g. .dstack.yml or train.dstack.yml are both acceptable).

    type: service\n\nimage: ghcr.io/huggingface/text-generation-inference:latest\nenv:\n  - MODEL_ID=mistralai/Mistral-7B-Instruct-v0.1\ncommands:\n  - text-generation-launcher --port 8000 --trust-remote-code\nport: 8000\n\nresources:\n  gpu: 80GB\n

    The YAML file allows you to specify your own Docker image, environment variables, resource requirements, etc. If image is not specified, dstack uses its own (pre-configured with Python, Conda, and essential CUDA drivers).

    .dstack.yml

    For more details on the file syntax, refer to the .dstack.yml reference.

    "},{"location":"docs/concepts/services/#configure-environment-variables","title":"Configure environment variables","text":"

    Environment variables can be set either within the configuration file or passed via the CLI.

    type: service\n\nimage: ghcr.io/huggingface/text-generation-inference:latest\nenv:\n  - HUGGING_FACE_HUB_TOKEN\n  - MODEL_ID=mistralai/Mistral-7B-Instruct-v0.1\ncommands:\n  - text-generation-launcher --port 8000 --trust-remote-code\nport: 8000\n\nresources:\n  gpu: 80GB\n

    If you don't assign a value to an environment variable (see HUGGING_FACE_HUB_TOKEN above), dstack will require the value to be passed via the CLI or set in the current process.

    For instance, you can define environment variables in a .env file and utilize tools like direnv.

    "},{"location":"docs/concepts/services/#configure-model-mapping","title":"Configure model mapping","text":"

    By default, if you run a service, its endpoint is accessible at https://<run name>.<gateway domain>.

    If you run a model, you can optionally configure the mapping to make it accessible via the OpenAI-compatible interface.

    type: service\n\nimage: ghcr.io/huggingface/text-generation-inference:latest\nenv:\n  - MODEL_ID=mistralai/Mistral-7B-Instruct-v0.1\ncommands:\n  - text-generation-launcher --port 8000 --trust-remote-code\nport: 8000\n\nresources:\n  gpu: 80GB\n\n# Enable the OpenAI-compatible endpoint   \nmodel:\n  type: chat\n  name: mistralai/Mistral-7B-Instruct-v0.1\n  format: tgi\n

    In this case, with such a configuration, once the service is up, you'll be able to access the model at https://gateway.<gateway domain> via the OpenAI-compatible interface.

    The format supports only tgi (Text Generation Inference) and openai (if you are using Text Generation Inference or vLLM with OpenAI-compatible mode).

    Chat template

    By default, dstack loads the chat template from the model's repository. If it is not present there, manual configuration is required.

    type: service\n\nimage: ghcr.io/huggingface/text-generation-inference:latest\nenv:\n  - MODEL_ID=TheBloke/Llama-2-13B-chat-GPTQ\ncommands:\n  - text-generation-launcher --port 8000 --trust-remote-code --quantize gptq\nport: 8000\n\nresources:\n  gpu: 80GB\n\n# Enable the OpenAI-compatible endpoint\nmodel:\n  type: chat\n  name: TheBloke/Llama-2-13B-chat-GPTQ\n  format: tgi\n  chat_template: \"{% if messages[0]['role'] == 'system' %}{% set loop_messages = messages[1:] %}{% set system_message = messages[0]['content'] %}{% else %}{% set loop_messages = messages %}{% set system_message = false %}{% endif %}{% for message in loop_messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% if loop.index0 == 0 and system_message != false %}{% set content = '<<SYS>>\\\\n' + system_message + '\\\\n<</SYS>>\\\\n\\\\n' + message['content'] %}{% else %}{% set content = message['content'] %}{% endif %}{% if message['role'] == 'user' %}{{ '<s>[INST] ' + content.strip() + ' [/INST]' }}{% elif message['role'] == 'assistant' %}{{ ' '  + content.strip() + ' </s>' }}{% endif %}{% endfor %}\"\n  eos_token: \"</s>\"\n
    "},{"location":"docs/concepts/services/#limitations","title":"Limitations","text":"

    Please note that model mapping is an experimental feature with the following limitations:

    1. Doesn't work if your chat_template uses bos_token. As a workaround, replace bos_token inside chat_template with the token content itself.
    2. Doesn't work if eos_token is defined in the model repository as a dictionary. As a workaround, set eos_token manually, as shown in the example above (see Chat template).

    If you encounter any other issues, please make sure to file a GitHub issue.

    "},{"location":"docs/concepts/services/#configure-replicas-and-auto-scaling","title":"Configure replicas and auto-scaling","text":"

    By default, dstack runs a single replica of the service. You can configure the number of replicas as well as the auto-scaling policy.

    type: service\n\npython: \"3.11\"\nenv:\n  - MODEL=NousResearch/Llama-2-7b-chat-hf\ncommands:\n  - pip install vllm\n  - python -m vllm.entrypoints.openai.api_server --model $MODEL --port 8000\nport: 8000\n\nreplicas: 1..4\nscaling:\n  metric: rps\n  target: 10\n\n# Enable the OpenAI-compatible endpoint\nmodel:\n  format: openai\n  type: chat\n  name: NousResearch/Llama-2-7b-chat-hf\n

    If you specify the minimum number of replicas as 0, the service will scale down to zero when there are no requests.

    "},{"location":"docs/concepts/services/#run-the-configuration","title":"Run the configuration","text":"

    To run a configuration, use the dstack run command followed by the working directory path, configuration file path, and any other options.

    $ dstack run . -f serve.dstack.yml\n\n BACKEND     REGION         RESOURCES                     SPOT  PRICE\n tensordock  unitedkingdom  10xCPU, 80GB, 1xA100 (80GB)   no    $1.595\n azure       westus3        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n azure       westus2        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n\nContinue? [y/n]: y\n\nProvisioning...\n---> 100%\n\nService is published at https://yellow-cat-1.example.com\n

    When dstack submits the task, it uses the current folder contents.

    Exclude files

    If there are large files or folders you'd like to avoid uploading, you can list them in either .gitignore or .dstackignore.

    The dstack run command allows specifying many things, including spot policy, retry and max duration, max price, regions, instance types, and much more.

    "},{"location":"docs/concepts/services/#service-endpoint","title":"Service endpoint","text":"

    One the service is up, its endpoint is accessible at https://<run name>.<gateway domain>.

    "},{"location":"docs/concepts/services/#authorization","title":"Authorization","text":"

    By default, the service endpoint requires the Authorization header with \"Bearer <dstack token>\".

    $ curl https://yellow-cat-1.example.com/generate \\\n    -X POST \\\n    -d '{\"inputs\":\"&lt;s&gt;[INST] What is your favourite condiment?[/INST]\"}' \\\n    -H 'Content-Type: application/json' \\\n    -H 'Authorization: \"Bearer &lt;dstack token&gt;\"'\n

    Authorization can be disabled by setting auth to false in the service configuration file.

    "},{"location":"docs/concepts/services/#openai-interface","title":"OpenAI interface","text":"

    In case the service has the model mapping configured, you will also be able to access the model at https://gateway.<gateway domain> via the OpenAI-compatible interface.

    from openai import OpenAI\n\n\nclient = OpenAI(\n  base_url=\"https://gateway.example.com\",\n  api_key=\"<dstack token>\"\n)\n\ncompletion = client.chat.completions.create(\n  model=\"mistralai/Mistral-7B-Instruct-v0.1\",\n  messages=[\n    {\"role\": \"user\", \"content\": \"Compose a poem that explains the concept of recursion in programming.\"}\n  ]\n)\n\nprint(completion.choices[0].message)\n
    "},{"location":"docs/concepts/services/#configure-profiles","title":"Configure profiles","text":"

    In case you'd like to reuse certain parameters (such as spot policy, retry and max duration, max price, regions, instance types, etc.) across runs, you can define them via .dstack/profiles.yml.

    "},{"location":"docs/concepts/services/#manage-runs","title":"Manage runs","text":""},{"location":"docs/concepts/services/#stop-a-run","title":"Stop a run","text":"

    When you use dstack stop, the service and its cloud resources are deleted.

    "},{"location":"docs/concepts/services/#list-runs","title":"List runs","text":"

    The dstack ps command lists all running runs and their status.

    "},{"location":"docs/concepts/services/#whats-next","title":"What's next?","text":"
    1. Check the Text Generation Inference and vLLM examples
    2. Check the .dstack.yml reference for more details and examples
    3. Browse examples
    "},{"location":"docs/concepts/tasks/","title":"Tasks","text":"

    Tasks allow for convenient scheduling of any kind of batch jobs, such as training, fine-tuning, or data processing, as well as running web applications.

    You simply specify the commands, required environment, and resources, and then submit it. dstack provisions the required resources in a configured backend and runs the task.

    "},{"location":"docs/concepts/tasks/#define-a-configuration","title":"Define a configuration","text":"

    First, create a YAML file in your project folder. Its name must end with .dstack.yml (e.g. .dstack.yml or train.dstack.yml are both acceptable).

    type: task\n\npython: \"3.11\"\nenv:\n  - HF_HUB_ENABLE_HF_TRANSFER=1\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py\n\nresources:\n  gpu: 80GB\n

    The YAML file allows you to specify your own Docker image, environment variables, resource requirements, etc. If image is not specified, dstack uses its own (pre-configured with Python, Conda, and essential CUDA drivers).

    .dstack.yml

    For more details on the file syntax, refer to the .dstack.yml reference.

    "},{"location":"docs/concepts/tasks/#configure-environment-variables","title":"Configure environment variables","text":"

    Environment variables can be set either within the configuration file or passed via the CLI.

    type: task\n\npython: \"3.11\"\nenv:\n  - HUGGING_FACE_HUB_TOKEN\n  - HF_HUB_ENABLE_HF_TRANSFER=1\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py\n\nresources:\n  gpu: 80GB\n

    If you don't assign a value to an environment variable (see HUGGING_FACE_HUB_TOKEN above), dstack will require the value to be passed via the CLI or set in the current process.

    For instance, you can define environment variables in a .env file and utilize tools like direnv.

    "},{"location":"docs/concepts/tasks/#configure-ports","title":"Configure ports","text":"

    A task can configure ports. In this case, if the task is running an application on a port, dstack run will securely allow you to access this port from your local machine through port forwarding.

    type: task\n\npython: \"3.11\"\nenv:\n  - HF_HUB_ENABLE_HF_TRANSFER=1\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - tensorboard --logdir results/runs &\n  - python fine-tuning/qlora/train.py\nports:\n  - 6000\n\n# (Optional) Configure `gpu`, `memory`, `disk`, etc\nresources:\n  gpu: 80GB\n

    When running it, dstack run forwards 6000 port to localhost:6000, enabling secure access.

    Override port mapping

    By default, dstack uses the same ports on your local machine for port forwarding. However, you can override local ports using --port:

    $ dstack run . -f train.dstack.yml --port 6000:6001\n

    This will forward the task's port 6000 to localhost:6001.

    "},{"location":"docs/concepts/tasks/#parametrize-tasks","title":"Parametrize tasks","text":"

    You can parameterize tasks with user arguments using ${{ run.args }} in the configuration.

    type: task\n\npython: \"3.11\"\nenv:\n  - HF_HUB_ENABLE_HF_TRANSFER=1\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py ${{ run.args }}\n\nresources:\n  gpu: 80GB\n

    Now, you can pass your arguments to the dstack run command:

    $ dstack run . -f train.dstack.yml --train_batch_size=1 --num_train_epochs=100\n

    The dstack run command will pass --train_batch_size=1 and --num_train_epochs=100 as arguments to train.py.

    "},{"location":"docs/concepts/tasks/#run-the-configuration","title":"Run the configuration","text":"

    To run a configuration, use the dstack run command followed by the working directory path, configuration file path, and other options.

    $ dstack run . -f train.dstack.yml\n\n BACKEND     REGION         RESOURCES                     SPOT  PRICE\n tensordock  unitedkingdom  10xCPU, 80GB, 1xA100 (80GB)   no    $1.595\n azure       westus3        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n azure       westus2        24xCPU, 220GB, 1xA100 (80GB)  no    $3.673\n\nContinue? [y/n]: y\n\nProvisioning...\n---> 100%\n\nEpoch 0:  100% 1719/1719 [00:18<00:00, 92.32it/s, loss=0.0981, acc=0.969]\nEpoch 1:  100% 1719/1719 [00:18<00:00, 92.32it/s, loss=0.0981, acc=0.969]\nEpoch 2:  100% 1719/1719 [00:18<00:00, 92.32it/s, loss=0.0981, acc=0.969]\n

    When dstack submits the task, it uses the current folder contents.

    Exclude files

    If there are large files or folders you'd like to avoid uploading, you can list them in either .gitignore or .dstackignore.

    The dstack run command allows specifying many things, including spot policy, retry and max duration, max price, regions, instance types, and much more.

    "},{"location":"docs/concepts/tasks/#configure-profiles","title":"Configure profiles","text":"

    In case you'd like to reuse certain parameters (such as spot policy, retry and max duration, max price, regions, instance types, etc.) across runs, you can define them via .dstack/profiles.yml.

    "},{"location":"docs/concepts/tasks/#manage-runs","title":"Manage runs","text":""},{"location":"docs/concepts/tasks/#stop-a-run","title":"Stop a run","text":"

    Once the run exceeds the max duration, or when you use dstack stop, the task and its cloud resources are deleted.

    "},{"location":"docs/concepts/tasks/#list-runs","title":"List runs","text":"

    The dstack ps command lists all running runs and their status.

    "},{"location":"docs/concepts/tasks/#whats-next","title":"What's next?","text":"
    1. Check the QLoRA example
    2. Check the .dstack.yml reference for more details and examples
    3. Browse all examples
    "},{"location":"docs/installation/","title":"Installation","text":"

    To install dstack, use pip:

    $ pip install \"dstack[all]\" -U\n

    To use the open-source version of dstack, you have to configure your cloud accounts via ~/.dstack/server/config.yml and start the dstack server.

    "},{"location":"docs/installation/#configure-backends","title":"Configure backends","text":"

    To configure cloud accounts, create the ~/.dstack/server/config.yml file, and configure each cloud under the backends property.

    projects:\n- name: main\n  backends:\n  - type: aws\n    creds:\n      type: access_key\n      access_key: AIZKISCVKUKO5AAKLAEH\n      secret_key: QSbmpqJIUBn1V5U3pyM9S6lwwiu8/fOJ2dgfwFdW\n

    Refer below for examples on how to configure a specific cloud provider.

    Projects

    For flexibility, dstack server permits you to configure backends for multiple projects. If you intend to use only one project, name it main.

    "},{"location":"docs/installation/#aws","title":"AWS","text":"

    There are two ways to configure AWS: using an access key or using the default credentials.

    Access keyDefault credentials

    Create an access key by following the this guide . Once you've downloaded the .csv file with your IAM user's Access key ID and Secret access key, proceed to configure the backend.

    projects:\n- name: main\n  backends:\n  - type: aws\n    creds:\n      type: access_key\n      access_key: KKAAUKLIZ5EHKICAOASV\n      secret_key: pn158lMqSBJiySwpQ9ubwmI6VUU3/W2fdJdFwfgO\n

    If you have default credentials set up (e.g. in ~/.aws/credentials), configure the backend like this:

    projects:\n- name: main\n  backends:\n  - type: aws\n    creds:\n      type: default\n
    Required AWS permissions

    The following AWS policy permissions are sufficient for dstack to work:

    {\n    \"Version\": \"2012-10-17\",\n    \"Statement\": [\n        {\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"ec2:*\"\n            ],\n            \"Resource\": \"*\"\n        },\n        {\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"servicequotas:*\"\n            ],\n            \"Resource\": \"*\"\n        },\n        {\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"iam:GetRole\",\n                \"iam:CreateRole\",\n                \"iam:AttachRolePolicy\",\n                \"iam:TagRole\"\n            ],\n            \"Resource\": \"*\"\n        },\n        {\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"iam:CreatePolicy\",\n                \"iam:TagPolicy\"\n            ],\n            \"Resource\": \"*\"\n        },\n        {\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"iam:GetInstanceProfile\",\n                \"iam:CreateInstanceProfile\",\n                \"iam:AddRoleToInstanceProfile\",\n                \"iam:TagInstanceProfile\",\n                \"iam:PassRole\"\n            ],\n            \"Resource\": \"*\"\n        }\n    ]\n}\n
    "},{"location":"docs/installation/#azure","title":"Azure","text":"

    There are two ways to configure Azure: using a client secret or using the default credentials.

    Client secretDefault credentials

    A client secret can be created using the Azure CLI :

    SUBSCRIPTION_ID=...\naz ad sp create-for-rbac \n    --name dstack-app \\\n    --role $DSTACK_ROLE \\ \n    --scopes /subscriptions/$SUBSCRIPTION_ID \\ \n    --query \"{ tenant_id: tenant, client_id: appId, client_secret: password }\"\n

    Once you have tenant_id, client_id, and client_secret, go ahead and configure the backend.

    projects:\n- name: main\n  backends:\n  - type: azure\n    subscription_id: 06c82ce3-28ff-4285-a146-c5e981a9d808\n    tenant_id: f84a7584-88e4-4fd2-8e97-623f0a715ee1\n    creds:\n      type: client\n      client_id: acf3f73a-597b-46b6-98d9-748d75018ed0\n      client_secret: 1Kb8Q~o3Q2hdEvrul9yaj5DJDFkuL3RG7lger2VQ\n

    Obtain the subscription_id and tenant_id via the Azure CLI :

    az account show --query \"{subscription_id: id, tenant_id: tenantId}\"\n

    Then proceed to configure the backend:

    projects:\n- name: main\n  backends:\n  - type: azure\n    subscription_id: 06c82ce3-28ff-4285-a146-c5e981a9d808\n    tenant_id: f84a7584-88e4-4fd2-8e97-623f0a715ee1\n    creds:\n      type: default\n

    NOTE:

    If you don't know your subscription_id, run

    az account show --query \"{subscription_id: id}\"\n
    Required Azure permissions

    The following Azure permissions are sufficient for dstack to work:

    {\n    \"properties\": {\n        \"roleName\": \"dstack-role\",\n        \"description\": \"Minimal reqired permissions for using Azure with dstack\",\n        \"assignableScopes\": [\n            \"/subscriptions/${YOUR_SUBSCRIPTION_ID}\"\n        ],\n        \"permissions\": [\n            {\n              \"actions\": [\n                  \"Microsoft.Authorization/*/read\",\n                  \"Microsoft.Compute/availabilitySets/*\",\n                  \"Microsoft.Compute/locations/*\",\n                  \"Microsoft.Compute/virtualMachines/*\",\n                  \"Microsoft.Compute/virtualMachineScaleSets/*\",\n                  \"Microsoft.Compute/cloudServices/*\",\n                  \"Microsoft.Compute/disks/write\",\n                  \"Microsoft.Compute/disks/read\",\n                  \"Microsoft.Compute/disks/delete\",\n                  \"Microsoft.Network/networkSecurityGroups/*\",\n                  \"Microsoft.Network/locations/*\",\n                  \"Microsoft.Network/virtualNetworks/*\",\n                  \"Microsoft.Network/networkInterfaces/*\",\n                  \"Microsoft.Network/publicIPAddresses/*\",\n                  \"Microsoft.Resources/subscriptions/resourceGroups/read\",\n                  \"Microsoft.Resources/subscriptions/resourceGroups/write\",\n                  \"Microsoft.Resources/subscriptions/read\"\n              ],\n              \"notActions\": [],\n              \"dataActions\": [],\n              \"notDataActions\": []\n            }\n        ]\n    }\n}\n

    "},{"location":"docs/installation/#gcp","title":"GCP","text":"Enable APIs

    First, ensure the required APIs are enabled in your GCP project_id.

    PROJECT_ID=...\ngcloud config set project $PROJECT_ID\ngcloud services enable cloudapis.googleapis.com\ngcloud services enable compute.googleapis.com \n

    There are two ways to configure GCP: using a service account or using the default credentials.

    Service accountDefault credentials

    To create a service account, follow this guide . Make sure to grant it the Service Account User and Compute Admin roles.

    After setting up the service account create a key for it and download the corresponding JSON file.

    Then go ahead and configure the backend by specifying the downloaded file path.

    projects:\n- name: main\n  backends:\n  - type: gcp\n    project_id: gcp-project-id\n    creds:\n      type: service_account\n      filename: ~/.dstack/server/gcp-024ed630eab5.json\n
    projects:\n- name: main\n  backends:\n  - type: gcp\n    project_id: gcp-project-id\n    creds:\n      type: default\n

    NOTE:

    If you don't know your GCP project ID, run

    gcloud projects list --format=\"json(projectId)\"\n
    Required GCP permissions

    The following GCP permissions are sufficient for dstack to work:

    compute.disks.create\ncompute.firewalls.create\ncompute.images.useReadOnly\ncompute.instances.create\ncompute.instances.delete\ncompute.instances.get\ncompute.instances.setLabels\ncompute.instances.setMetadata\ncompute.instances.setTags\ncompute.networks.updatePolicy\ncompute.regions.list\ncompute.subnetworks.use\ncompute.subnetworks.useExternalIp\ncompute.zoneOperations.get\n
    "},{"location":"docs/installation/#lambda","title":"Lambda","text":"

    Log into your Lambda Cloud account, click API keys in the sidebar, and then click the Generate API key button to create a new API key.

    Then, go ahead and configure the backend:

    projects:\n- name: main\n  backends:\n  - type: lambda\n    creds:\n      type: api_key\n      api_key: eersct_yrpiey-naaeedst-tk-_cb6ba38e1128464aea9bcc619e4ba2a5.iijPMi07obgt6TZ87v5qAEj61RVxhd0p\n
    "},{"location":"docs/installation/#tensordock","title":"TensorDock","text":"

    Log into your TensorDock account, click API in the sidebar, and use the Create an Authorization section to create a new authorization key.

    Then, go ahead and configure the backend:

    projects:\n- name: main\n  backends:\n  - type: tensordock\n    creds:\n      type: api_key\n      api_key: 248e621d-9317-7494-dc1557fa5825b-98b\n      api_token: FyBI3YbnFEYXdth2xqYRnQI7hiusssBC\n

    NOTE:

    The tensordock backend supports on-demand instances only. Spot instance support coming soon.

    "},{"location":"docs/installation/#vastai","title":"Vast.ai","text":"

    Log into your Vast.ai account, click Account in the sidebar, and copy your API Key.

    Then, go ahead and configure the backend:

    projects:\n- name: main\n  backends:\n  - type: vastai\n    creds:\n      type: api_key\n      api_key: d75789f22f1908e0527c78a283b523dd73051c8c7d05456516fc91e9d4efd8c5\n

    NOTE:

    Also, the vastai backend supports on-demand instances only. Spot instance support coming soon.

    "},{"location":"docs/installation/#cudo","title":"CUDO","text":"

    Log into your CUDO Compute account, click API keys in the sidebar, and click the Create an API key button.

    Ensure you've created a project with CUDO Compute, then proceed to configuring the backend.

    projects:\n- name: main\n  backends:\n  - type: cudo\n    project_id: my-cudo-project\n    creds:\n      type: api_key\n      api_key: 7487240a466624b48de22865589\n
    "},{"location":"docs/installation/#runpod","title":"RunPod","text":"

    Log into your RunPod console, click Settings in the sidebar, expand the API Keys section, and click the button to create a key.

    Then proceed to configuring the backend.

    projects:\n- name: main\n  backends:\n  - type: runpod\n    creds:\n      type: api_key\n      api_key: US9XTPDIV8AR42MMINY8TCKRB8S4E7LNRQ6CAUQ9\n

    NOTE:

    If you're using a custom Docker image, its entrypoint cannot be anything other than /bin/bash or /bin/sh. See the issue for more details.

    NOTE:

    The runpod backend supports on-demand instances only. Spot instance support coming soon.

    "},{"location":"docs/installation/#datacrunch","title":"DataCrunch","text":"

    Log into your DataCrunch account, click Account Settings in the sidebar, find REST API Credentials area and then click the Generate Credentials button.

    Then, go ahead and configure the backend:

    projects:\n- name: main\n  backends:\n  - type: datacrunch\n    creds:\n      type: api_key\n      client_id: xfaHBqYEsArqhKWX-e52x3HH7w8T\n      client_secret: B5ZU5Qx9Nt8oGMlmMhNI3iglK8bjMhagTbylZy4WzncZe39995f7Vxh8\n
    "},{"location":"docs/installation/#kubernetes","title":"Kubernetes","text":"

    dstack supports both self-managed, and managed Kubernetes clusters.

    Prerequisite

    To use GPUs with Kubernetes, the cluster must be installed with the NVIDIA GPU Operator .

    To configure a Kubernetes backend, specify the path to the kubeconfig file, and the port that dstack can use for proxying SSH traffic. In case of a self-managed cluster, also specify the IP address of any node in the cluster.

    Self-managedManaged

    Here's how to configure the backend to use a self-managed cluster.

    projects:\n- name: main\n  backends:\n  - type: kubernetes\n    kubeconfig:\n      filename: ~/.kube/config\n    networking:\n      ssh_host: localhost # The external IP address of any node\n      ssh_port: 32000 # Any port accessible outside of the cluster\n

    The port specified to ssh_port must be accessible outside of the cluster.

    For example, if you are using Kind, make sure to add it via extraPortMappings:

    kind: Cluster\napiVersion: kind.x-k8s.io/v1alpha4\nnodes:\n- role: control-plane\n  extraPortMappings:\n  - containerPort: 32000 # Must be same as `ssh_port`\n    hostPort: 32000 # Must be same as `ssh_port`\n

    Here's how to configure the backend to use a managed cluster (AWS, GCP, Azure).

    projects:\n- name: main\n  backends:\n  - type: kubernetes\n    kubeconfig:\n      filename: ~/.kube/config\n    networking:\n      ssh_port: 32000 # Any port accessible outside of the cluster\n

    The port specified to ssh_port must be accessible outside of the cluster.

    For example, if you are using EKS, make sure to add it via an ingress rule of the corresponding security group:

    aws ec2 authorize-security-group-ingress --group-id <cluster-security-group-id> --protocol tcp --port 32000 --cidr 0.0.0.0/0\n
    "},{"location":"docs/installation/#start-the-server","title":"Start the server","text":"

    Once the ~/.dstack/server/config.yml file is configured, proceed to start the server:

    pipDocker
    $ dstack server\n\nApplying ~/.dstack/server/config.yml...\n\nThe admin token is \"bbae0f28-d3dd-4820-bf61-8f4bb40815da\"\nThe server is running at http://127.0.0.1:3000/\n
    $ docker run -p 3000:3000 -v $HOME/.dstack/server/:/root/.dstack/server dstackai/dstack\n\nApplying ~/.dstack/server/config.yml...\n\nThe admin token is \"bbae0f28-d3dd-4820-bf61-8f4bb40815da\"\nThe server is running at http://127.0.0.1:3000/\n
    "},{"location":"docs/installation/#configure-the-cli","title":"Configure the CLI","text":"

    To point the CLI to the dstack server, you need to configure ~/.dstack/config.yml with the server address, user token and project name.

    $ dstack config --url http://127.0.0.1:3000 \\\n    --project main \\\n    --token bbae0f28-d3dd-4820-bf61-8f4bb40815da\n\nConfiguration is updated at ~/.dstack/config.yml\n
    "},{"location":"docs/installation/#whats-next","title":"What's next?","text":"
    1. Follow quickstart
    2. Browse examples
    3. Join the community via Discord
    "},{"location":"docs/reference/dstack.yml/","title":".dstack.yml","text":"
    • dev-environment
    • task
    • service
    "},{"location":"docs/reference/profiles.yml/","title":"profiles.yml","text":"

    Instead of configuring run options as dstack run arguments or .dstack.yml parameters, you can defines those options in profiles.yml and reuse them across different run configurations. dstack supports repository-level profiles defined in $REPO_ROOT/.dstack/profiles.yml and global profiles defined in ~/.dstack/profiles.yml.

    Profiles parameters are resolved with the following priority:

    1. dstack run arguments
    2. .dstack.yml parameters
    3. Repository-level profiles from $REPO_ROOT/.dstack/profiles.yml
    4. Global profiles from ~/.dstack/profiles.yml
    "},{"location":"docs/reference/profiles.yml/#example","title":"Example","text":"
    profiles:\n  - name: large\n\n    spot_policy: auto # (Optional) The spot policy. Supports `spot`, `on-demand, and `auto`.\n\n    max_price: 1.5 # (Optional) The maximum price per instance per hour\n\n    max_duration: 1d # (Optional) The maximum duration of the run.\n\n    retry:\n      retry-duration: 3h # (Optional) To wait for capacity\n\n    backends: [azure, lambda]  # (Optional) Use only listed backends \n\n    default: true # (Optional) Activate the profile by default\n

    You can mark any profile as default or pass its name via --profile to dstack run.

    "},{"location":"docs/reference/profiles.yml/#root-reference","title":"Root reference","text":""},{"location":"docs/reference/profiles.yml/#backends","title":"backends - (Optional) The backends to consider for provisionig (e.g., [aws, gcp]).","text":""},{"location":"docs/reference/profiles.yml/#regions","title":"regions - (Optional) The regions to consider for provisionig (e.g., [eu-west-1, us-west4, westeurope]).","text":""},{"location":"docs/reference/profiles.yml/#instance_types","title":"instance_types - (Optional) The cloud-specific instance types to consider for provisionig (e.g., [p3.8xlarge, n1-standard-4]).","text":""},{"location":"docs/reference/profiles.yml/#spot_policy","title":"spot_policy - (Optional) The policy for provisioning spot or on-demand instances: spot, on-demand, or auto.","text":""},{"location":"docs/reference/profiles.yml/#_retry_policy","title":"retry_policy - (Optional) The policy for re-submitting the run.","text":""},{"location":"docs/reference/profiles.yml/#max_duration","title":"max_duration - (Optional) The maximum duration of a run (e.g., 2h, 1d, etc). After it elapses, the run is forced to stop. Defaults to off.","text":""},{"location":"docs/reference/profiles.yml/#max_price","title":"max_price - (Optional) The maximum price per hour, in dollars.","text":""},{"location":"docs/reference/profiles.yml/#pool_name","title":"pool_name - (Optional) The name of the pool. If not set, dstack will use the default name.","text":""},{"location":"docs/reference/profiles.yml/#instance_name","title":"instance_name - (Optional) The name of the instance.","text":""},{"location":"docs/reference/profiles.yml/#creation_policy","title":"creation_policy - (Optional) The policy for using instances from the pool. Defaults to reuse-or-create.","text":""},{"location":"docs/reference/profiles.yml/#termination_policy","title":"termination_policy - (Optional) The policy for termination instances. Defaults to destroy-after-idle.","text":""},{"location":"docs/reference/profiles.yml/#termination_idle_time","title":"termination_idle_time - (Optional) Time to wait before destroying the idle instance. Defaults to 5m for dstack run and to 3d for dstack pool add.","text":""},{"location":"docs/reference/profiles.yml/#name","title":"name - The name of the profile that can be passed as --profile to dstack run.","text":""},{"location":"docs/reference/profiles.yml/#default","title":"default - (Optional) If set to true, dstack run will use this profile by default..","text":""},{"location":"docs/reference/profiles.yml/#retry_policy","title":"retry_policy","text":""},{"location":"docs/reference/profiles.yml/#retry","title":"retry - (Optional) Whether to retry the run on failure or not.","text":""},{"location":"docs/reference/profiles.yml/#duration","title":"duration - (Optional) The maximum period of retrying the run, e.g., 4h or 1d.","text":""},{"location":"docs/reference/api/python/","title":"Python API","text":"

    The Python API enables running tasks, services, and managing runs programmatically.

    "},{"location":"docs/reference/api/python/#usage-example","title":"Usage example","text":"

    Below is a quick example of submitting a task for running and displaying its logs.

    import sys\n\nfrom dstack.api import Task, GPU, Client, Resources\n\nclient = Client.from_config()\n\ntask = Task(\n    image=\"ghcr.io/huggingface/text-generation-inference:latest\",\n    env={\"MODEL_ID\": \"TheBloke/Llama-2-13B-chat-GPTQ\"},\n    commands=[\n        \"text-generation-launcher --trust-remote-code --quantize gptq\",\n    ],\n    ports=[\"80\"],\n    resources=Resources(gpu=GPU(memory=\"24GB\")),\n)\n\nrun = client.runs.submit(\n    run_name=\"my-awesome-run\",  # If not specified, a random name is assigned \n    configuration=task,\n    repo=None, # Specify to mount additional files\n)\n\nrun.attach()\n\ntry:\n    for log in run.logs():\n        sys.stdout.buffer.write(log)\n        sys.stdout.buffer.flush()\nexcept KeyboardInterrupt:\n    run.stop(abort=True)\nfinally:\n    run.detach()\n

    NOTE:

    1. The configuration argument in the submit method can be either dstack.api.Task or dstack.api.Service.
    2. If you create dstack.api.Task or dstack.api.Service, you may specify the image argument. If image isn't specified, the default image will be used. For a private Docker registry, ensure you also pass the registry_auth argument.
    3. The repo argument in the submit method allows the mounting of a local folder, a remote repo, or a programmatically created repo. In this case, the commands argument can refer to the files within this repo.
    4. The attach method waits for the run to start and, for dstack.api.Task sets up an SSH tunnel and forwards configured ports to localhost.
    "},{"location":"docs/reference/api/python/#dstack.api","title":"dstack.api","text":""},{"location":"docs/reference/api/python/#dstack.api.Client","title":"dstack.api.Client","text":"

    High-level API client for interacting with dstack server

    Attributes:

    Name Type Description runs RunCollection

    Operations with runs.

    repos RepoCollection

    Operations with repositories.

    backends BackendCollection

    Operations with backends.

    "},{"location":"docs/reference/api/python/#dstack.api.Client.from_config","title":"from_config(project_name=None, server_url=None, user_token=None, ssh_identity_file=None) staticmethod","text":"

    Creates a Client using the default configuration from ~/.dstack/config.yml if it exists.

    Parameters:

    Name Type Description Default project_name Optional[str]

    The name of the project, required if server_url and user_token are specified

    None server_url Optional[str]

    The dstack server URL (e.g. http://localhost:3000/ or https://sky.dstack.ai)

    None user_token Optional[str]

    The dstack user token

    None ssh_identity_file Optional[PathLike]

    The private SSH key path for SSH tunneling

    None

    Returns:

    Type Description Client

    A client instance

    "},{"location":"docs/reference/api/python/#dstack.api.Client.runs","title":"dstack.api.RunCollection","text":"

    Operations with runs

    "},{"location":"docs/reference/api/python/#dstack.api.RunCollection.get","title":"get(run_name)","text":"

    Get run by run name

    Parameters:

    Name Type Description Default run_name str

    run name

    required

    Returns:

    Type Description Optional[Run]

    The run or None if not found

    "},{"location":"docs/reference/api/python/#dstack.api.RunCollection.list","title":"list(all=False)","text":"

    List runs

    Parameters:

    Name Type Description Default all bool

    show all runs (active and finished) if True

    False

    Returns:

    Type Description List[Run]

    list of runs

    "},{"location":"docs/reference/api/python/#dstack.api.RunCollection.submit","title":"submit(configuration, configuration_path=None, repo=None, backends=None, regions=None, instance_types=None, resources=None, spot_policy=None, retry_policy=None, max_duration=None, max_price=None, working_dir=None, run_name=None, reserve_ports=True)","text":"

    Submit a run

    Parameters:

    Name Type Description Default configuration Union[Task, Service]

    A run configuration.

    required configuration_path Optional[str]

    The path to the configuration file, relative to the root directory of the repo.

    None repo Union[LocalRepo, RemoteRepo, VirtualRepo]

    A repo to mount to the run.

    None backends Optional[List[BackendType]]

    A list of allowed backend for provisioning.

    None regions Optional[List[str]]

    A list of cloud regions for provisioning.

    None resources Optional[ResourcesSpec]

    The requirements to run the configuration. Overrides the configuration's resources.

    None spot_policy Optional[SpotPolicy]

    A spot policy for provisioning.

    None retry_policy RetryPolicy

    A retry policy.

    None max_duration Optional[Union[int, str]]

    The max instance running duration in seconds.

    None max_price Optional[float]

    The max instance price in dollars per hour for provisioning.

    None working_dir Optional[str]

    A working directory relative to the repo root directory

    None run_name Optional[str]

    A desired name of the run. Must be unique in the project. If not specified, a random name is assigned.

    None reserve_ports bool

    Whether local ports should be reserved in advance.

    True

    Returns:

    Type Description Run

    submitted run

    "},{"location":"docs/reference/api/python/#dstack.api.Client.repos","title":"dstack.api.RepoCollection","text":"

    Operations with repos

    "},{"location":"docs/reference/api/python/#dstack.api.RepoCollection.init","title":"init(repo, git_identity_file=None, oauth_token=None)","text":"

    Initializes the repo and configures its credentials in the project. Must be invoked before mounting the repo to a run.

    Example:

    repo=RemoteRepo.from_url(\n    repo_url=\"https://github.com/dstackai/dstack-examples\",\n    repo_branch=\"main\",\n)\nclient.repos.init(repo)\n

    By default, it uses the default Git credentials configured on the machine. You can override these credentials via the git_identity_file or oauth_token arguments of the init method.

    Once the repo is initialized, you can pass the repo object to the run:

    run = client.runs.submit(\n    configuration=...,\n    repo=repo,\n)\n

    Parameters:

    Name Type Description Default repo Repo

    The repo to initialize.

    required git_identity_file Optional[PathLike]

    The private SSH key path for accessing the remote repo.

    None oauth_token Optional[str]

    The GitHub OAuth token to access the remote repo.

    None"},{"location":"docs/reference/api/python/#dstack.api.Task","title":"dstack.api.Task","text":"

    Attributes:

    Name Type Description commands List[str]

    The bash commands to run

    ports List[PortMapping]

    Port numbers/mapping to expose

    env Dict[str, str]

    The mapping or the list of environment variables

    image Optional[str]

    The name of the Docker image to run

    python Optional[str]

    The major version of Python

    entrypoint Optional[str]

    The Docker entrypoint

    registry_auth Optional[RegistryAuth]

    Credentials for pulling a private Docker image

    home_dir str

    The absolute path to the home directory inside the container. Defaults to /root.

    resources Optional[ResourcesSpec]

    The requirements to run the configuration.

    "},{"location":"docs/reference/api/python/#dstack.api.Service","title":"dstack.api.Service","text":"

    Attributes:

    Name Type Description commands List[str]

    The bash commands to run

    port PortMapping

    The port, that application listens to or the mapping

    env Dict[str, str]

    The mapping or the list of environment variables

    image Optional[str]

    The name of the Docker image to run

    python Optional[str]

    The major version of Python

    entrypoint Optional[str]

    The Docker entrypoint

    registry_auth Optional[RegistryAuth]

    Credentials for pulling a private Docker image

    home_dir str

    The absolute path to the home directory inside the container. Defaults to /root.

    resources Optional[ResourcesSpec]

    The requirements to run the configuration.

    model Optional[ModelMapping]

    Mapping of the model for the OpenAI-compatible endpoint.

    auth bool

    Enable the authorization. Defaults to True.

    replicas Range[int]

    The range of the number of replicas. Defaults to 1.

    scaling Range[int]

    Optional[ScalingSpec]: The auto-scaling configuration.

    "},{"location":"docs/reference/api/python/##dstack.api.Run","title":"dstack.api.Run","text":"

    Attributes:

    Name Type Description name str

    run name

    ports Optional[Dict[int, int]]

    ports mapping, if run is attached

    backend Optional[BackendType]

    backend type

    status RunStatus

    run status

    hostname str

    instance hostname

    "},{"location":"docs/reference/api/python/#dstack.api.Run.attach","title":"attach(ssh_identity_file=None)","text":"

    Establish an SSH tunnel to the instance and update SSH config

    Parameters:

    Name Type Description Default ssh_identity_file Optional[PathLike]

    SSH keypair to access instances

    None

    Raises:

    Type Description PortUsedError

    If ports are in use or the run is attached by another process.

    "},{"location":"docs/reference/api/python/#dstack.api.Run.detach","title":"detach()","text":"

    Stop the SSH tunnel to the instance and update SSH config

    "},{"location":"docs/reference/api/python/#dstack.api.Run.logs","title":"logs(start_time=None, diagnose=False, replica_num=0, job_num=0)","text":"

    Iterate through run's log messages

    Parameters:

    Name Type Description Default start_time Optional[datetime]

    minimal log timestamp

    None diagnose bool

    return runner logs if True

    False

    Yields:

    Type Description Iterable[bytes]

    log messages

    "},{"location":"docs/reference/api/python/#dstack.api.Run.refresh","title":"refresh()","text":"

    Get up-to-date run info

    "},{"location":"docs/reference/api/python/#dstack.api.Run.stop","title":"stop(abort=False)","text":"

    Terminate the instance and detach

    Parameters:

    Name Type Description Default abort bool

    gracefully stop the run if False

    False"},{"location":"docs/reference/api/python/##dstack.api.Resources","title":"dstack.api.Resources","text":"

    Creates required resources specification.

    Parameters:

    Name Type Description Default cpu Optional[Range[int]]

    The number of CPUs

    DEFAULT_CPU_COUNT memory Optional[Range[Memory]]

    The size of RAM memory (e.g., \"16GB\")

    DEFAULT_MEMORY_SIZE gpu Optional[GPUSpec]

    The GPU spec

    None shm_size Optional[Range[Memory]]

    The of shared memory (e.g., \"8GB\"). If you are using parallel communicating processes (e.g., dataloaders in PyTorch), you may need to configure this.

    None disk Optional[DiskSpec]

    The disk spec

    None

    Returns:

    Type Description ResourcesSpec

    resources specification

    "},{"location":"docs/reference/api/python/##dstack.api.GPU","title":"dstack.api.GPU","text":"

    Creates GPU specification.

    Parameters:

    Name Type Description Default name Optional[List[str]]

    The name of the GPU (e.g., \"A100\" or \"H100\")

    None count Optional[Range[int]]

    The number of GPUs

    DEFAULT_GPU_COUNT memory Optional[Range[Memory]]

    The size of a single GPU memory (e.g., \"16GB\")

    None total_memory Optional[Range[Memory]]

    The total size of all GPUs memory (e.g., \"32GB\")

    None compute_capability Optional[float]

    The minimum compute capability of the GPU (e.g., 7.5)

    None

    Returns:

    Type Description GPUSpec

    GPU specification

    "},{"location":"docs/reference/api/python/##dstack.api.Disk","title":"dstack.api.Disk","text":"

    Creates disk specification.

    Parameters:

    Name Type Description Default size Range[Memory]

    The size of the disk (e.g., \"100GB\")

    required

    Returns:

    Type Description DiskSpec

    disk specification

    "},{"location":"docs/reference/api/python/##dstack.api.LocalRepo","title":"dstack.api.LocalRepo","text":"

    Creates an instance of a local repo from a local path.

    Example:

    run = client.runs.submit(\n    configuration=...,\n    repo=LocalRepo.from_dir(\".\"), # Mount the current folder to the run\n)\n
    "},{"location":"docs/reference/api/python/#dstack.api.LocalRepo.from_dir","title":"from_dir(repo_dir) staticmethod","text":"

    Creates an instance of a local repo from a local path.

    Parameters:

    Name Type Description Default repo_dir PathLike

    The path to a local folder

    required

    Returns:

    Type Description LocalRepo

    A local repo instance

    "},{"location":"docs/reference/api/python/##dstack.api.RemoteRepo","title":"dstack.api.RemoteRepo","text":"

    Creates an instance of a remote Git repo for mounting to a submitted run.

    Using a locally checked-out remote Git repo:

    repo=RemoteRepo.from_dir(repo_dir=\".\")\n

    Using a remote Git repo by a URL:

    repo=RemoteRepo.from_url(\n    repo_url=\"https://github.com/dstackai/dstack-examples\",\n    repo_branch=\"main\"\n)\n

    Initialize the repo before mounting it.

    client.repos.init(repo)\n

    By default, it uses the default Git credentials configured on the machine. You can override these credentials via the git_identity_file or oauth_token arguments of the init method.

    Finally, you can pass the repo object to the run:

    run = client.runs.submit(\n    configuration=...,\n    repo=repo,\n)\n
    "},{"location":"docs/reference/api/python/#dstack.api.RemoteRepo.from_dir","title":"from_dir(repo_dir) staticmethod","text":"

    Creates an instance of a remote repo from a local path.

    Parameters:

    Name Type Description Default repo_dir PathLike

    The path to a local folder

    required

    Returns:

    Type Description RemoteRepo

    A remote repo instance

    "},{"location":"docs/reference/api/python/#dstack.api.RemoteRepo.from_url","title":"from_url(repo_url, repo_branch=None, repo_hash=None) staticmethod","text":"

    Creates an instance of a remote repo from a URL.

    Parameters:

    Name Type Description Default repo_url str

    The URL of a remote Git repo

    required repo_branch Optional[str]

    The name of the remote branch. Must be specified if hash is not specified.

    None repo_hash Optional[str]

    The hash of the revision. Must be specified if branch is not specified.

    None

    Returns:

    Type Description RemoteRepo

    A remote repo instance

    "},{"location":"docs/reference/api/python/##dstack.api.VirtualRepo","title":"dstack.api.VirtualRepo","text":"

    Allows mounting a repo created programmatically.

    Example:

    virtual_repo = VirtualRepo(repo_id=\"some-unique-repo-id\")\nvirtual_repo.add_file_from_package(package=some_package, path=\"requirements.txt\")\nvirtual_repo.add_file_from_package(package=some_package, path=\"train.py\")\n\nrun = client.runs.submit(\n    configuration=...,\n    repo=virtual_repo,\n)\n

    Attributes:

    Name Type Description repo_id

    A unique identifier of the repo

    "},{"location":"docs/reference/api/python/#dstack.api.VirtualRepo.add_file","title":"add_file(path, content)","text":"

    Adds a given file to the repo.

    Attributes:

    Name Type Description path str

    The path inside the repo to add the file.

    content bytes

    The contents of the file.

    "},{"location":"docs/reference/api/python/#dstack.api.VirtualRepo.add_file_from_package","title":"add_file_from_package(package, path)","text":"

    Includes a file from a given package to the repo.

    Attributes:

    Name Type Description package Union[ModuleType, str]

    A package to include the file from.

    path str

    The path to the file to include to the repo. Must be relative to the package directory.

    "},{"location":"docs/reference/api/python/##dstack.api.RegistryAuth","title":"dstack.api.RegistryAuth","text":"

    Credentials for pulling a private Docker image.

    Attributes:

    Name Type Description username str

    The username

    password str

    The password or access token

    "},{"location":"docs/reference/api/python/#dstack.api.BackendType","title":"dstack.api.BackendType","text":"

    Attributes:

    Name Type Description AWS BackendType

    Amazon Web Services

    AZURE BackendType

    Microsoft Azure

    CUDO BackendType

    Cudo

    DSTACK BackendType

    dstack Sky

    GCP BackendType

    Google Cloud Platform

    DATACRUNCH BackendType

    DataCrunch

    KUBERNETES BackendType

    Kubernetes

    LAMBDA BackendType

    Lambda Cloud

    RUNPOD BackendType

    Runpod Cloud

    TENSORDOCK BackendType

    TensorDock Marketplace

    VASTAI BackendType

    Vast.ai Marketplace

    "},{"location":"docs/reference/api/rest/","title":"REST API","text":""},{"location":"docs/reference/cli/","title":"CLI","text":""},{"location":"docs/reference/cli/#commands","title":"Commands","text":""},{"location":"docs/reference/cli/#dstack-server","title":"dstack server","text":"

    This command starts the dstack server.

    $ dstack server --help\nUsage: dstack server [-h] [--host HOST] [-p PORT] [-l LOG_LEVEL] [--default]\n                     [--no-default] [--token TOKEN]\n\nOptions:\n  -h, --help            Show this help message and exit\n  --host HOST           Bind socket to this host. Defaults to 127.0.0.1\n  -p, --port PORT       Bind socket to this port. Defaults to 3000.\n  -l, --log-level LOG_LEVEL\n                        Server logging level. Defaults to INFO.\n  --default             Update the default project configuration\n  --no-default          Do not update the default project configuration\n  --token TOKEN         The admin user token\n
    "},{"location":"docs/reference/cli/#dstack-init","title":"dstack init","text":"

    This command initializes the current folder as a repo.

    $ dstack init --help\nUsage: dstack init [-h] [--project PROJECT] [-t OAUTH_TOKEN]\n                   [--git-identity SSH_PRIVATE_KEY]\n                   [--ssh-identity SSH_PRIVATE_KEY] [--local]\n\nOptions:\n  -h, --help            Show this help message and exit\n  --project PROJECT     The name of the project\n  -t, --token OAUTH_TOKEN\n                        An authentication token for Git\n  --git-identity SSH_PRIVATE_KEY\n                        The private SSH key path to access the remote repo\n  --ssh-identity SSH_PRIVATE_KEY\n                        The private SSH key path for SSH tunneling\n  --local               Do not use git\n
    Git credentials

    If the current folder is a Git repo, the command authorizes dstack to access it. By default, the command uses the default Git credentials configured for the repo. You can override these credentials via --token (OAuth token) or --git-identity.

    Custom SSH key

    By default, this command generates an SSH key that will be used for port forwarding and SSH access to running workloads. You can override this key via --ssh-identity.

    "},{"location":"docs/reference/cli/#dstack-run","title":"dstack run","text":"

    This command runs a given configuration.

    $ dstack run . --help\nUsage: dstack run [--project NAME] [-h [TYPE]] [-f FILE] [-n RUN_NAME] [-d]\n                  [-y] [--max-offers MAX_OFFERS] [--profile NAME]\n                  [--max-price PRICE] [--max-duration DURATION] [-b NAME]\n                  [-r NAME] [--instance-type NAME]\n                  [--pool POOL_NAME | --reuse | --dont-destroy | --idle-duration IDLE_DURATION | --instance NAME]\n                  [--spot | --on-demand | --spot-auto | --spot-policy POLICY]\n                  [--retry | --no-retry | --retry-duration DURATION]\n                  [-e KEY=VALUE] [--gpu SPEC] [--disk RANGE]\n                  working_dir\n\nPositional Arguments:\n  working_dir\n\nOptions:\n  --project NAME        The name of the project. Defaults to $DSTACK_PROJECT\n  -h, --help [TYPE]     Show this help message and exit. TYPE is one of task,\n                        dev-environment, service\n  -f, --file FILE       The path to the run configuration file. Defaults to\n                        WORKING_DIR/.dstack.yml\n  -n, --name RUN_NAME   The name of the run. If not specified, a random name\n                        is assigned\n  -d, --detach          Do not poll logs and run status\n  -y, --yes             Do not ask for plan confirmation\n  --max-offers MAX_OFFERS\n                        Number of offers to show in the run plan\n  -e, --env KEY=VALUE   Environment variables\n  --gpu SPEC            Request GPU for the run. The format is\n                        NAME:COUNT:MEMORY (all parts are optional)\n  --disk RANGE          Request the size range of disk for the run. Example\n                        --disk 100GB...\n\nProfile:\n  --profile NAME        The name of the profile. Defaults to $DSTACK_PROFILE\n  --max-price PRICE     The maximum price per hour, in dollars\n  --max-duration DURATION\n                        The maximum duration of the run\n  -b, --backend NAME    The backends that will be tried for provisioning\n  -r, --region NAME     The regions that will be tried for provisioning\n  --instance-type NAME  The cloud-specific instance types that will be tried\n                        for provisioning\n\nPools:\n  --pool POOL_NAME      The name of the pool. If not set, the default pool\n                        will be used\n  --reuse               Reuse instance from pool\n  --dont-destroy        Do not destroy instance after the run is finished\n  --idle-duration IDLE_DURATION\n                        Time to wait before destroying the idle instance\n  --instance NAME       Reuse instance from pool with name NAME\n\nSpot Policy:\n  --spot                Consider only spot instances\n  --on-demand           Consider only on-demand instances\n  --spot-auto           Consider both spot and on-demand instances\n  --spot-policy POLICY  One of spot, on-demand, auto\n\nRetry Policy:\n  --retry\n  --no-retry\n  --retry-duration DURATION\n
    .gitignore

    When running anything via CLI, dstack uses the exact version of code from your project directory.

    If there are large files, consider creating a .gitignore file to exclude them for better performance.

    "},{"location":"docs/reference/cli/#dstack-ps","title":"dstack ps","text":"

    This command shows the status of runs.

    $ dstack ps --help\nUsage: dstack ps [-h] [--project NAME] [-a] [-v] [-w]\n\nOptions:\n  -h, --help      Show this help message and exit\n  --project NAME  The name of the project. Defaults to $DSTACK_PROJECT\n  -a, --all       Show all runs. By default, it only shows unfinished runs or\n                  the last finished.\n  -v, --verbose   Show more information about runs\n  -w, --watch     Watch statuses of runs in realtime\n
    "},{"location":"docs/reference/cli/#dstack-stop","title":"dstack stop","text":"

    This command stops run(s) within the current repository.

    $ dstack stop --help\nUsage: dstack stop [-h] [--project NAME] [-x] [-y] run_name\n\nPositional Arguments:\n  run_name\n\nOptions:\n  -h, --help      Show this help message and exit\n  --project NAME  The name of the project. Defaults to $DSTACK_PROJECT\n  -x, --abort\n  -y, --yes\n
    "},{"location":"docs/reference/cli/#dstack-logs","title":"dstack logs","text":"

    This command shows the output of a given run within the current repository.

    $ dstack logs --help\nUsage: dstack logs [-h] [--project NAME] [-d] [-a]\n                   [--ssh-identity SSH_PRIVATE_KEY] [--replica REPLICA]\n                   [--job JOB]\n                   run_name\n\nPositional Arguments:\n  run_name\n\nOptions:\n  -h, --help            Show this help message and exit\n  --project NAME        The name of the project. Defaults to $DSTACK_PROJECT\n  -d, --diagnose\n  -a, --attach          Set up an SSH tunnel, and print logs as they follow.\n  --ssh-identity SSH_PRIVATE_KEY\n                        The private SSH key path for SSH tunneling\n  --replica REPLICA     The relica number. Defaults to 0.\n  --job JOB             The job number inside the replica. Defaults to 0.\n
    "},{"location":"docs/reference/cli/#dstack-config","title":"dstack config","text":"

    Both the CLI and API need to be configured with the server address, user token, and project name via ~/.dstack/config.yml.

    At startup, the server automatically configures CLI and API with the server address, user token, and the default project name (main). This configuration is stored via ~/.dstack/config.yml.

    To use CLI and API on different machines or projects, use the dstack config command.

    $ dstack config --help\nUsage: dstack config [-h] [--project PROJECT] [--url URL] [--token TOKEN]\n                     [--default] [--remove] [--no-default]\n\nOptions:\n  -h, --help         Show this help message and exit\n  --project PROJECT  The name of the project to configure\n  --url URL          Server url\n  --token TOKEN      User token\n  --default          Set the project as default. It will be used when\n                     --project is omitted in commands.\n  --remove           Delete project configuration\n  --no-default       Do not prompt to set the project as default\n
    "},{"location":"docs/reference/cli/#dstack-pool","title":"dstack pool","text":"

    Pools allow for managing the lifecycle of instances and reusing them across runs. The default pool is created automatically.

    "},{"location":"docs/reference/cli/#dstack-pool-add","title":"dstack pool add","text":"

    The dstack pool add command adds an instance to a pool. If no pool name is specified, the instance goes to the default pool.

    $ dstack pool add --help\nUsage: dstack pool add [-h] [-y] [--remote] [--remote-host REMOTE_HOST]\n                       [--remote-port REMOTE_PORT] [--name INSTANCE_NAME]\n                       [--profile NAME] [--max-price PRICE] [-b NAME]\n                       [-r NAME] [--instance-type NAME] [--pool POOL_NAME]\n                       [--reuse] [--dont-destroy]\n                       [--idle-duration IDLE_DURATION]\n                       [--spot | --on-demand | --spot-auto | --spot-policy POLICY]\n                       [--retry | --no-retry | --retry-duration DURATION]\n                       [--cpu SPEC] [--memory SIZE] [--shared-memory SIZE]\n                       [--gpu SPEC] [--disk SIZE]\n\nOptions:\n  -h, --help            show this help message and exit\n  -y, --yes             Don't ask for confirmation\n  --remote              Add remote runner as an instance\n  --remote-host REMOTE_HOST\n                        Remote runner host\n  --remote-port REMOTE_PORT\n                        Remote runner port\n  --name INSTANCE_NAME  Set the name of the instance\n  --pool POOL_NAME      The name of the pool. If not set, the default pool\n                        will be used\n  --reuse               Reuse instance from pool\n  --dont-destroy        Do not destroy instance after the run is finished\n  --idle-duration IDLE_DURATION\n                        Time to wait before destroying the idle instance\n\nProfile:\n  --profile NAME        The name of the profile. Defaults to $DSTACK_PROFILE\n  --max-price PRICE     The maximum price per hour, in dollars\n  -b, --backend NAME    The backends that will be tried for provisioning\n  -r, --region NAME     The regions that will be tried for provisioning\n  --instance-type NAME  The cloud-specific instance types that will be tried\n                        for provisioning\n\nSpot Policy:\n  --spot                Consider only spot instances\n  --on-demand           Consider only on-demand instances\n  --spot-auto           Consider both spot and on-demand instances\n  --spot-policy POLICY  One of spot, on-demand, auto\n\nRetry Policy:\n  --retry\n  --no-retry\n  --retry-duration DURATION\n\nResources:\n  --cpu SPEC            Request the CPU count. Default: 2..\n  --memory SIZE         Request the size of RAM. The format is SIZE:MB|GB|TB.\n                        Default: 8GB..\n  --shared-memory SIZE  Request the size of Shared Memory. The format is\n                        SIZE:MB|GB|TB.\n  --gpu SPEC            Request GPU for the run. The format is\n                        NAME:COUNT:MEMORY (all parts are optional)\n  --disk SIZE           Request the size of disk for the run. Example --disk\n                        100GB...\n
    "},{"location":"docs/reference/cli/#dstack-pool-ps","title":"dstack pool ps","text":"

    The dstack pool ps command lists all active instances of a pool. If no pool name is specified, default pool instances are displayed.

    $ dstack pool ps --help\nUsage: dstack pool ps [-h] [--pool POOL_NAME] [-w]\n\nShow instances in the pool\n\nOptions:\n  -h, --help        show this help message and exit\n  --pool POOL_NAME  The name of the pool. If not set, the default pool will be\n                    used\n  -w, --watch       Watch instances in realtime\n
    "},{"location":"docs/reference/cli/#dstack-pool-create","title":"dstack pool create","text":"

    The dstack pool create command creates a new pool.

    $ dstack pool create --help\nUsage: dstack pool create [-h] -n POOL_NAME\n\nOptions:\n  -h, --help            show this help message and exit\n  -n, --name POOL_NAME  The name of the pool\n
    "},{"location":"docs/reference/cli/#dstack-pool-list","title":"dstack pool list","text":"

    The dstack pool list lists all existing pools.

    $ dstack pool delete --help\nUsage: dstack pool delete [-h] -n POOL_NAME\n\nOptions:\n  -h, --help            show this help message and exit\n  -n, --name POOL_NAME  The name of the pool\n
    "},{"location":"docs/reference/cli/#dstack-pool-delete","title":"dstack pool delete","text":"

    The dstack pool delete command deletes a specified pool.

    $ dstack pool delete --help\nUsage: dstack pool delete [-h] -n POOL_NAME\n\nOptions:\n  -h, --help            show this help message and exit\n  -n, --name POOL_NAME  The name of the pool\n
    "},{"location":"docs/reference/cli/#dstack-gateway","title":"dstack gateway","text":"

    A gateway is required for running services. It handles ingress traffic, authorization, domain mapping, model mapping for the OpenAI-compatible endpoint, and so on.

    "},{"location":"docs/reference/cli/#dstack-gateway-list","title":"dstack gateway list","text":"

    The dstack gateway list command displays the names and addresses of the gateways configured in the project.

    $ dstack gateway list --help\nUsage: dstack gateway list [-h] [-v]\n\nOptions:\n  -h, --help     show this help message and exit\n  -v, --verbose  Show more information\n
    "},{"location":"docs/reference/cli/#dstack-gateway-create","title":"dstack gateway create","text":"

    The dstack gateway create command creates a new gateway instance in the project.

    $ dstack gateway create --help\nUsage: dstack gateway create [-h] --backend {aws,azure,gcp,kubernetes}\n                             --region REGION [--set-default] [--name NAME]\n                             --domain DOMAIN\n\nOptions:\n  -h, --help            show this help message and exit\n  --backend {aws,azure,gcp,kubernetes}\n  --region REGION\n  --set-default         Set as default gateway for the project\n  --name NAME           Set a custom name for the gateway\n  --domain DOMAIN       Set the domain for the gateway\n
    "},{"location":"docs/reference/cli/#dstack-gateway-delete","title":"dstack gateway delete","text":"

    The dstack gateway delete command deletes the specified gateway.

    $ dstack gateway delete --help\nUsage: dstack gateway delete [-h] [-y] name\n\nPositional Arguments:\n  name        The name of the gateway\n\nOptions:\n  -h, --help  show this help message and exit\n  -y, --yes   Don't ask for confirmation\n
    "},{"location":"docs/reference/cli/#dstack-gateway-update","title":"dstack gateway update","text":"

    The dstack gateway update command updates the specified gateway.

    $ dstack gateway update --help\nUsage: dstack gateway update [-h] [--set-default] [--domain DOMAIN] name\n\nPositional Arguments:\n  name             The name of the gateway\n\nOptions:\n  -h, --help       show this help message and exit\n  --set-default    Set it the default gateway for the project\n  --domain DOMAIN  Set the domain for the gateway\n
    "},{"location":"docs/reference/cli/#environment-variables","title":"Environment variables","text":"Name Description Default DSTACK_CLI_LOG_LEVEL Configures CLI logging level INFO DSTACK_PROFILE Has the same effect as --profile None DSTACK_PROJECT Has the same effect as --project None DSTACK_DEFAULT_CREDS_DISABLED Disables default credentials detection if set None DSTACK_LOCAL_BACKEND_ENABLED Enables local backend for debug if set None DSTACK_RUNNER_VERSION Sets exact runner version for debug latest DSTACK_SERVER_ADMIN_TOKEN Has the same effect as --token None DSTACK_SERVER_DIR Sets path to store data and server configs ~/.dstack/server DSTACK_SERVER_HOST Has the same effect as --host 127.0.0.1 DSTACK_SERVER_LOG_LEVEL Has the same effect as --log-level INFO DSTACK_SERVER_LOG_FORMAT Sets format of log output. Can be rich, standard, json. rich DSTACK_SERVER_PORT Has the same effect as --port 3000 DSTACK_SERVER_ROOT_LOG_LEVEL Sets root logger log level ERROR DSTACK_SERVER_UVICORN_LOG_LEVEL Sets uvicorn logger log level ERROR"},{"location":"docs/reference/dstack.yml/dev-environment/","title":"dev-environment","text":"

    The dev-environment configuration type allows running dev environments.

    Filename

    Configuration files must have a name ending with .dstack.yml (e.g., .dstack.yml or dev.dstack.yml are both acceptable) and can be located in the project's root directory or any nested folder. Any configuration can be run via dstack run.

    "},{"location":"docs/reference/dstack.yml/dev-environment/#examples","title":"Examples","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#python-version","title":"Python version","text":"

    If you don't specify image, dstack uses the default Docker image pre-configured with python, pip, conda (Miniforge), and essential CUDA drivers. The python property determines which default Docker image is used.

    type: dev-environment\n\npython: \"3.11\"\n\nide: vscode\n
    nvcc

    Note that the default Docker image doesn't bundle nvcc, which is required for building custom CUDA kernels. To install it, use conda install cuda.

    "},{"location":"docs/reference/dstack.yml/dev-environment/#docker-image","title":"Docker image","text":"
    type: dev-environment\n\nimage: ghcr.io/huggingface/text-generation-inference:latest\n\nide: vscode\n
    Private registry

    Use the registry_auth property to provide credentials for a private Docker registry.

    type: dev-environment\n\nimage: ghcr.io/huggingface/text-generation-inference:latest\nregistry_auth:\n  username: peterschmidt85\n  password: ghp_e49HcZ9oYwBzUbcSk2080gXZOU2hiT9AeSR5\n\nide: vscode\n
    "},{"location":"docs/reference/dstack.yml/dev-environment/#_resources","title":"Resources","text":"

    If you specify memory size, you can either specify an explicit size (e.g. 24GB) or a range (e.g. 24GB.., or 24GB..80GB, or ..80GB).

    type: dev-environment\n\nide: vscode\n\nresources:\n  cpu: 16.. # 16 or more CPUs\n  memory: 200GB.. # 200GB or more RAM\n  gpu: 40GB..80GB:4 # 4 GPUs from 40GB to 80GB\n  shm_size: 16GB # 16GB of shared memory\n  disk: 500GB\n

    The gpu property allows specifying not only memory size but also GPU names and their quantity. Examples: A100 (one A100), A10G,A100 (either A10G or A100), A100:80GB (one A100 of 80GB), A100:2 (two A100), 24GB..40GB:2 (two GPUs between 24GB and 40GB), A100:40GB:2 (two A100 GPUs of 40GB).

    Shared memory

    If you are using parallel communicating processes (e.g., dataloaders in PyTorch), you may need to configure shm_size, e.g. set it to 16GB.

    "},{"location":"docs/reference/dstack.yml/dev-environment/#environment-variables","title":"Environment variables","text":"
    type: dev-environment\n\nenv:\n  - HUGGING_FACE_HUB_TOKEN\n  - HF_HUB_ENABLE_HF_TRANSFER=1\n\nide: vscode\n

    If you don't assign a value to an environment variable (see HUGGING_FACE_HUB_TOKEN above), dstack will require the value to be passed via the CLI or set in the current process.

    For instance, you can define environment variables in a .env file and utilize tools like direnv.

    "},{"location":"docs/reference/dstack.yml/dev-environment/#root-reference","title":"Root reference","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#ide","title":"ide - The IDE to run.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#version","title":"version - (Optional) The version of the IDE.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#init","title":"init - (Optional) The bash commands to run.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#image","title":"image - (Optional) The name of the Docker image to run.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#entrypoint","title":"entrypoint - (Optional) The Docker entrypoint.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#home_dir","title":"home_dir - (Optional) The absolute path to the home directory inside the container. Defaults to /root.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#_registry_auth","title":"registry_auth - (Optional) Credentials for pulling a private Docker image.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#python","title":"python - (Optional) The major version of Python. Mutually exclusive with image.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#env","title":"env - (Optional) The mapping or the list of environment variables.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#setup","title":"setup - (Optional) The bash commands to run on the boot.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#_resources","title":"resources - (Optional) The resources requirements to run the configuration.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#ports","title":"ports - (Optional) Port numbers/mapping to expose.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#backends","title":"backends - (Optional) The backends to consider for provisionig (e.g., [aws, gcp]).","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#regions","title":"regions - (Optional) The regions to consider for provisionig (e.g., [eu-west-1, us-west4, westeurope]).","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#instance_types","title":"instance_types - (Optional) The cloud-specific instance types to consider for provisionig (e.g., [p3.8xlarge, n1-standard-4]).","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#spot_policy","title":"spot_policy - (Optional) The policy for provisioning spot or on-demand instances: spot, on-demand, or auto.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#_retry_policy","title":"retry_policy - (Optional) The policy for re-submitting the run.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#max_duration","title":"max_duration - (Optional) The maximum duration of a run (e.g., 2h, 1d, etc). After it elapses, the run is forced to stop. Defaults to off.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#max_price","title":"max_price - (Optional) The maximum price per hour, in dollars.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#pool_name","title":"pool_name - (Optional) The name of the pool. If not set, dstack will use the default name.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#instance_name","title":"instance_name - (Optional) The name of the instance.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#creation_policy","title":"creation_policy - (Optional) The policy for using instances from the pool. Defaults to reuse-or-create.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#termination_policy","title":"termination_policy - (Optional) The policy for termination instances. Defaults to destroy-after-idle.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#termination_idle_time","title":"termination_idle_time - (Optional) Time to wait before destroying the idle instance. Defaults to 5m for dstack run and to 3d for dstack pool add.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#resources","title":"resources","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#cpu","title":"cpu - (Optional) The number of CPU cores. Defaults to 2...","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#memory","title":"memory - (Optional) The RAM size (e.g., 8GB). Defaults to 8GB...","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#shm_size","title":"shm_size - (Optional) The size of shared memory (e.g., 8GB). If you are using parallel communicating processes (e.g., dataloaders in PyTorch), you may need to configure this.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#_gpu","title":"gpu - (Optional) The GPU requirements. Can be set to a number, a string (e.g. A100, 80GB:2, etc.), or an object; see examples.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#_disk","title":"disk - (Optional) The disk resources.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#resources-gpu","title":"resources.gpu","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#name","title":"name - (Optional) The GPU name or list of names.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#count","title":"count - (Optional) The number of GPUs. Defaults to 1.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#memory","title":"memory - (Optional) The VRAM size (e.g., 16GB). Can be set to a range (e.g. 16GB.., or 16GB..80GB).","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#total_memory","title":"total_memory - (Optional) The total VRAM size (e.g., 32GB). Can be set to a range (e.g. 16GB.., or 16GB..80GB).","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#compute_capability","title":"compute_capability - (Optional) The minimum compute capability of the GPU (e.g., 7.5).","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#resources-disk","title":"resources.disk","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#size","title":"size - The disk size. Can be a string (e.g., 100GB or 100GB..) or an object; see examples.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#registry_auth","title":"registry_auth","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#username","title":"username - The username.","text":""},{"location":"docs/reference/dstack.yml/dev-environment/#password","title":"password - The password or access token.","text":""},{"location":"docs/reference/dstack.yml/service/","title":"service","text":"

    The service configuration type allows running services.

    Filename

    Configuration files must have a name ending with .dstack.yml (e.g., .dstack.yml or serve.dstack.yml are both acceptable) and can be located in the project's root directory or any nested folder. Any configuration can be run via dstack run.

    "},{"location":"docs/reference/dstack.yml/service/#examples","title":"Examples","text":""},{"location":"docs/reference/dstack.yml/service/#python-version","title":"Python version","text":"

    If you don't specify image, dstack uses the default Docker image pre-configured with python, pip, conda (Miniforge), and essential CUDA drivers. The python property determines which default Docker image is used.

    type: service\n\npython: \"3.11\"\n\ncommands:\n  - python3 -m http.server\n\nport: 8000\n
    nvcc

    Note that the default Docker image doesn't bundle nvcc, which is required for building custom CUDA kernels. To install it, use conda install cuda.

    "},{"location":"docs/reference/dstack.yml/service/#docker-image","title":"Docker image","text":"
    type: service\n\nimage: dstackai/base:py3.11-0.4rc4-cuda-12.1\n\ncommands:\n  - python3 -m http.server\n\nport: 8000\n
    Private Docker registry

    Use the registry_auth property to provide credentials for a private Docker registry.

    type: service\n\nimage: dstackai/base:py3.11-0.4rc4-cuda-12.1\n\ncommands:\n  - python3 -m http.server\nregistry_auth:\n  username: peterschmidt85\n  password: ghp_e49HcZ9oYwBzUbcSk2080gXZOU2hiT9AeSR5\n\nport: 8000\n
    "},{"location":"docs/reference/dstack.yml/service/#openai-compatible-interface","title":"OpenAI-compatible interface","text":"

    By default, if you run a service, its endpoint is accessible at https://<run name>.<gateway domain>.

    If you run a model, you can optionally configure the mapping to make it accessible via the OpenAI-compatible interface.

    type: service\n\npython: \"3.11\"\n\nenv:\n  - MODEL=NousResearch/Llama-2-7b-chat-hf\ncommands:\n  - pip install vllm\n  - python -m vllm.entrypoints.openai.api_server --model $MODEL --port 8000\nport: 8000\n\nresources:\n  gpu: 24GB\n\n# Enable the OpenAI-compatible endpoint\nmodel:\n  format: openai\n  type: chat\n  name: NousResearch/Llama-2-7b-chat-hf\n

    In this case, with such a configuration, once the service is up, you'll be able to access the model at https://gateway.<gateway domain> via the OpenAI-compatible interface. See services for more detail.

    "},{"location":"docs/reference/dstack.yml/service/#replicas-and-auto-scaling","title":"Replicas and auto-scaling","text":"

    By default, dstack runs a single replica of the service. You can configure the number of replicas as well as the auto-scaling policy.

    type: service\n\npython: \"3.11\"\n\nenv:\n  - MODEL=NousResearch/Llama-2-7b-chat-hf\ncommands:\n  - pip install vllm\n  - python -m vllm.entrypoints.openai.api_server --model $MODEL --port 8000\nport: 8000\n\nresources:\n  gpu: 24GB\n\n# Enable the OpenAI-compatible endpoint\nmodel:\n  format: openai\n  type: chat\n  name: NousResearch/Llama-2-7b-chat-hf\n\nreplicas: 1..4\nscaling:\n  metric: rps\n  target: 10\n

    If you specify the minimum number of replicas as 0, the service will scale down to zero when there are no requests.

    "},{"location":"docs/reference/dstack.yml/service/#_resources","title":"Resources","text":"

    If you specify memory size, you can either specify an explicit size (e.g. 24GB) or a range (e.g. 24GB.., or 24GB..80GB, or ..80GB).

    type: service\n\npython: \"3.11\"\ncommands:\n  - pip install vllm\n  - python -m vllm.entrypoints.openai.api_server\n    --model mistralai/Mixtral-8X7B-Instruct-v0.1\n    --host 0.0.0.0\n    --tensor-parallel-size 2 # Match the number of GPUs\nport: 8000\n\nresources:\n  gpu: 80GB:2 # 2 GPUs of 80GB\n  disk: 200GB\n\n# Enable the OpenAI-compatible endpoint\nmodel:\n  type: chat\n  name: TheBloke/Mixtral-8x7B-Instruct-v0.1-GPTQ\n  format: openai\n

    The gpu property allows specifying not only memory size but also GPU names and their quantity. Examples: A100 (one A100), A10G,A100 (either A10G or A100), A100:80GB (one A100 of 80GB), A100:2 (two A100), 24GB..40GB:2 (two GPUs between 24GB and 40GB), A100:40GB:2 (two A100 GPUs of 40GB).

    Shared memory

    If you are using parallel communicating processes (e.g., dataloaders in PyTorch), you may need to configure shm_size, e.g. set it to 16GB.

    "},{"location":"docs/reference/dstack.yml/service/#authorization","title":"Authorization","text":"

    By default, the service endpoint requires the Authorization header with \"Bearer <dstack token>\". Authorization can be disabled by setting auth to false.

    type: service\n\npython: \"3.11\"\n\ncommands:\n  - python3 -m http.server\n\nport: 8000\n\nauth: false\n
    "},{"location":"docs/reference/dstack.yml/service/#root-reference","title":"Root reference","text":""},{"location":"docs/reference/dstack.yml/service/#port","title":"port - The port, that application listens on or the mapping.","text":""},{"location":"docs/reference/dstack.yml/service/#model","title":"model - (Optional) Mapping of the model for the OpenAI-compatible endpoint.","text":""},{"location":"docs/reference/dstack.yml/service/#auth","title":"auth - (Optional) Enable the authorization. Defaults to True.","text":""},{"location":"docs/reference/dstack.yml/service/#replicas","title":"replicas - (Optional) The range . Defaults to 1.","text":""},{"location":"docs/reference/dstack.yml/service/#_scaling","title":"scaling - (Optional) The auto-scaling configuration.","text":""},{"location":"docs/reference/dstack.yml/service/#image","title":"image - (Optional) The name of the Docker image to run.","text":""},{"location":"docs/reference/dstack.yml/service/#entrypoint","title":"entrypoint - (Optional) The Docker entrypoint.","text":""},{"location":"docs/reference/dstack.yml/service/#home_dir","title":"home_dir - (Optional) The absolute path to the home directory inside the container. Defaults to /root.","text":""},{"location":"docs/reference/dstack.yml/service/#_registry_auth","title":"registry_auth - (Optional) Credentials for pulling a private Docker image.","text":""},{"location":"docs/reference/dstack.yml/service/#python","title":"python - (Optional) The major version of Python. Mutually exclusive with image.","text":""},{"location":"docs/reference/dstack.yml/service/#env","title":"env - (Optional) The mapping or the list of environment variables.","text":""},{"location":"docs/reference/dstack.yml/service/#setup","title":"setup - (Optional) The bash commands to run on the boot.","text":""},{"location":"docs/reference/dstack.yml/service/#_resources","title":"resources - (Optional) The resources requirements to run the configuration.","text":""},{"location":"docs/reference/dstack.yml/service/#commands","title":"commands - (Optional) The bash commands to run.","text":""},{"location":"docs/reference/dstack.yml/service/#backends","title":"backends - (Optional) The backends to consider for provisionig (e.g., [aws, gcp]).","text":""},{"location":"docs/reference/dstack.yml/service/#regions","title":"regions - (Optional) The regions to consider for provisionig (e.g., [eu-west-1, us-west4, westeurope]).","text":""},{"location":"docs/reference/dstack.yml/service/#instance_types","title":"instance_types - (Optional) The cloud-specific instance types to consider for provisionig (e.g., [p3.8xlarge, n1-standard-4]).","text":""},{"location":"docs/reference/dstack.yml/service/#spot_policy","title":"spot_policy - (Optional) The policy for provisioning spot or on-demand instances: spot, on-demand, or auto.","text":""},{"location":"docs/reference/dstack.yml/service/#_retry_policy","title":"retry_policy - (Optional) The policy for re-submitting the run.","text":""},{"location":"docs/reference/dstack.yml/service/#max_duration","title":"max_duration - (Optional) The maximum duration of a run (e.g., 2h, 1d, etc). After it elapses, the run is forced to stop. Defaults to off.","text":""},{"location":"docs/reference/dstack.yml/service/#max_price","title":"max_price - (Optional) The maximum price per hour, in dollars.","text":""},{"location":"docs/reference/dstack.yml/service/#pool_name","title":"pool_name - (Optional) The name of the pool. If not set, dstack will use the default name.","text":""},{"location":"docs/reference/dstack.yml/service/#instance_name","title":"instance_name - (Optional) The name of the instance.","text":""},{"location":"docs/reference/dstack.yml/service/#creation_policy","title":"creation_policy - (Optional) The policy for using instances from the pool. Defaults to reuse-or-create.","text":""},{"location":"docs/reference/dstack.yml/service/#termination_policy","title":"termination_policy - (Optional) The policy for termination instances. Defaults to destroy-after-idle.","text":""},{"location":"docs/reference/dstack.yml/service/#termination_idle_time","title":"termination_idle_time - (Optional) Time to wait before destroying the idle instance. Defaults to 5m for dstack run and to 3d for dstack pool add.","text":""},{"location":"docs/reference/dstack.yml/service/#model_1","title":"model","text":""},{"location":"docs/reference/dstack.yml/service/#type","title":"type - The type of the model.","text":""},{"location":"docs/reference/dstack.yml/service/#name","title":"name - The name of the model.","text":""},{"location":"docs/reference/dstack.yml/service/#format","title":"format - The serving format.","text":""},{"location":"docs/reference/dstack.yml/service/#scaling","title":"scaling","text":""},{"location":"docs/reference/dstack.yml/service/#metric","title":"metric - The target metric to track.","text":""},{"location":"docs/reference/dstack.yml/service/#target","title":"target - The target value of the metric.","text":""},{"location":"docs/reference/dstack.yml/service/#scale_up_delay","title":"scale_up_delay - (Optional) The delay in seconds before scaling up. Defaults to 300.","text":""},{"location":"docs/reference/dstack.yml/service/#scale_down_delay","title":"scale_down_delay - (Optional) The delay in seconds before scaling down. Defaults to 600.","text":""},{"location":"docs/reference/dstack.yml/service/#resources","title":"resources","text":""},{"location":"docs/reference/dstack.yml/service/#cpu","title":"cpu - (Optional) The number of CPU cores. Defaults to 2...","text":""},{"location":"docs/reference/dstack.yml/service/#memory","title":"memory - (Optional) The RAM size (e.g., 8GB). Defaults to 8GB...","text":""},{"location":"docs/reference/dstack.yml/service/#shm_size","title":"shm_size - (Optional) The size of shared memory (e.g., 8GB). If you are using parallel communicating processes (e.g., dataloaders in PyTorch), you may need to configure this.","text":""},{"location":"docs/reference/dstack.yml/service/#_gpu","title":"gpu - (Optional) The GPU requirements. Can be set to a number, a string (e.g. A100, 80GB:2, etc.), or an object; see examples.","text":""},{"location":"docs/reference/dstack.yml/service/#_disk","title":"disk - (Optional) The disk resources.","text":""},{"location":"docs/reference/dstack.yml/service/#resources-gpu","title":"resouces.gpu","text":""},{"location":"docs/reference/dstack.yml/service/#name","title":"name - (Optional) The GPU name or list of names.","text":""},{"location":"docs/reference/dstack.yml/service/#count","title":"count - (Optional) The number of GPUs. Defaults to 1.","text":""},{"location":"docs/reference/dstack.yml/service/#memory","title":"memory - (Optional) The VRAM size (e.g., 16GB). Can be set to a range (e.g. 16GB.., or 16GB..80GB).","text":""},{"location":"docs/reference/dstack.yml/service/#total_memory","title":"total_memory - (Optional) The total VRAM size (e.g., 32GB). Can be set to a range (e.g. 16GB.., or 16GB..80GB).","text":""},{"location":"docs/reference/dstack.yml/service/#compute_capability","title":"compute_capability - (Optional) The minimum compute capability of the GPU (e.g., 7.5).","text":""},{"location":"docs/reference/dstack.yml/service/#resources-disk","title":"resouces.disk","text":""},{"location":"docs/reference/dstack.yml/service/#size","title":"size - The disk size. Can be a string (e.g., 100GB or 100GB..) or an object; see examples.","text":""},{"location":"docs/reference/dstack.yml/service/#registry_auth","title":"registry_auth","text":""},{"location":"docs/reference/dstack.yml/service/#username","title":"username - The username.","text":""},{"location":"docs/reference/dstack.yml/service/#password","title":"password - The password or access token.","text":""},{"location":"docs/reference/dstack.yml/task/","title":"task","text":"

    The task configuration type allows running tasks.

    Filename

    Configuration files must have a name ending with .dstack.yml (e.g., .dstack.yml or train.dstack.yml are both acceptable) and can be located in the project's root directory or any nested folder. Any configuration can be run via dstack run.

    "},{"location":"docs/reference/dstack.yml/task/#examples","title":"Examples","text":""},{"location":"docs/reference/dstack.yml/task/#python-version","title":"Python version","text":"

    If you don't specify image, dstack uses the default Docker image pre-configured with python, pip, conda (Miniforge), and essential CUDA drivers. The python property determines which default Docker image is used.

    type: task\n\npython: \"3.11\"\n\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py\n
    nvcc

    Note that the default Docker image doesn't bundle nvcc, which is required for building custom CUDA kernels. To install it, use conda install cuda.

    "},{"location":"docs/reference/dstack.yml/task/#_ports","title":"Ports","text":"

    A task can configure ports. In this case, if the task is running an application on a port, dstack run will securely allow you to access this port from your local machine through port forwarding.

    type: task\n\npython: \"3.11\"\n\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - tensorboard --logdir results/runs &\n  - python fine-tuning/qlora/train.py\n\nports:\n  - 6000\n

    When running it, dstack run forwards 6000 port to localhost:6000, enabling secure access. See tasks for more detail.

    "},{"location":"docs/reference/dstack.yml/task/#docker-image","title":"Docker image","text":"
    type: dev-environment\n\nimage: dstackai/base:py3.11-0.4rc4-cuda-12.1\n\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py\n
    Private registry

    Use the registry_auth property to provide credentials for a private Docker registry.

    type: dev-environment\n\nimage: dstackai/base:py3.11-0.4rc4-cuda-12.1\nregistry_auth:\n  username: peterschmidt85\n  password: ghp_e49HcZ9oYwBzUbcSk2080gXZOU2hiT9AeSR5\n\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py\n
    "},{"location":"docs/reference/dstack.yml/task/#_resources","title":"Resources","text":"

    If you specify memory size, you can either specify an explicit size (e.g. 24GB) or a range (e.g. 24GB.., or 24GB..80GB, or ..80GB).

    type: task\n\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py\n\nresources:\n  cpu: 16.. # 16 or more CPUs\n  memory: 200GB.. # 200GB or more RAM\n  gpu: 40GB..80GB:4 # 4 GPUs from 40GB to 80GB\n  shm_size: 16GB # 16GB of shared memory\n  disk: 500GB\n

    The gpu property allows specifying not only memory size but also GPU names and their quantity. Examples: A100 (one A100), A10G,A100 (either A10G or A100), A100:80GB (one A100 of 80GB), A100:2 (two A100), 24GB..40GB:2 (two GPUs between 24GB and 40GB), A100:40GB:2 (two A100 GPUs of 40GB).

    Shared memory

    If you are using parallel communicating processes (e.g., dataloaders in PyTorch), you may need to configure shm_size, e.g. set it to 16GB.

    "},{"location":"docs/reference/dstack.yml/task/#environment-variables","title":"Environment variables","text":"
    type: task\n\npython: \"3.11\"\n\nenv:\n  - HUGGING_FACE_HUB_TOKEN\n  - HF_HUB_ENABLE_HF_TRANSFER=1\n\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py\n

    If you don't assign a value to an environment variable (see HUGGING_FACE_HUB_TOKEN above), dstack will require the value to be passed via the CLI or set in the current process.

    For instance, you can define environment variables in a .env file and utilize tools like direnv.

    "},{"location":"docs/reference/dstack.yml/task/#run-arguments","title":"Run arguments","text":"

    You can parameterize tasks with user arguments using ${{ run.args }} in the configuration.

    type: task\n\npython: \"3.11\"\n\ncommands:\n  - pip install -r fine-tuning/qlora/requirements.txt\n  - python fine-tuning/qlora/train.py ${{ run.args }}\n

    Now, you can pass your arguments to the dstack run command. See tasks for more detail.

    "},{"location":"docs/reference/dstack.yml/task/#web-applications","title":"Web applications","text":"

    Here's an example of using ports to run web apps with tasks.

    type: task\n\npython: \"3.11\"\n\ncommands:\n  - pip3 install streamlit\n  - streamlit hello\n\nports: \n  - 8501\n
    "},{"location":"docs/reference/dstack.yml/task/#root-reference","title":"Root reference","text":""},{"location":"docs/reference/dstack.yml/task/#nodes","title":"nodes - (Optional) Number of nodes. Defaults to 1.","text":""},{"location":"docs/reference/dstack.yml/task/#image","title":"image - (Optional) The name of the Docker image to run.","text":""},{"location":"docs/reference/dstack.yml/task/#entrypoint","title":"entrypoint - (Optional) The Docker entrypoint.","text":""},{"location":"docs/reference/dstack.yml/task/#home_dir","title":"home_dir - (Optional) The absolute path to the home directory inside the container. Defaults to /root.","text":""},{"location":"docs/reference/dstack.yml/task/#_registry_auth","title":"registry_auth - (Optional) Credentials for pulling a private Docker image.","text":""},{"location":"docs/reference/dstack.yml/task/#python","title":"python - (Optional) The major version of Python. Mutually exclusive with image.","text":""},{"location":"docs/reference/dstack.yml/task/#env","title":"env - (Optional) The mapping or the list of environment variables.","text":""},{"location":"docs/reference/dstack.yml/task/#setup","title":"setup - (Optional) The bash commands to run on the boot.","text":""},{"location":"docs/reference/dstack.yml/task/#_resources","title":"resources - (Optional) The resources requirements to run the configuration.","text":""},{"location":"docs/reference/dstack.yml/task/#ports","title":"ports - (Optional) Port numbers/mapping to expose.","text":""},{"location":"docs/reference/dstack.yml/task/#commands","title":"commands - (Optional) The bash commands to run.","text":""},{"location":"docs/reference/dstack.yml/task/#backends","title":"backends - (Optional) The backends to consider for provisionig (e.g., [aws, gcp]).","text":""},{"location":"docs/reference/dstack.yml/task/#regions","title":"regions - (Optional) The regions to consider for provisionig (e.g., [eu-west-1, us-west4, westeurope]).","text":""},{"location":"docs/reference/dstack.yml/task/#instance_types","title":"instance_types - (Optional) The cloud-specific instance types to consider for provisionig (e.g., [p3.8xlarge, n1-standard-4]).","text":""},{"location":"docs/reference/dstack.yml/task/#spot_policy","title":"spot_policy - (Optional) The policy for provisioning spot or on-demand instances: spot, on-demand, or auto.","text":""},{"location":"docs/reference/dstack.yml/task/#_retry_policy","title":"retry_policy - (Optional) The policy for re-submitting the run.","text":""},{"location":"docs/reference/dstack.yml/task/#max_duration","title":"max_duration - (Optional) The maximum duration of a run (e.g., 2h, 1d, etc). After it elapses, the run is forced to stop. Defaults to off.","text":""},{"location":"docs/reference/dstack.yml/task/#max_price","title":"max_price - (Optional) The maximum price per hour, in dollars.","text":""},{"location":"docs/reference/dstack.yml/task/#pool_name","title":"pool_name - (Optional) The name of the pool. If not set, dstack will use the default name.","text":""},{"location":"docs/reference/dstack.yml/task/#instance_name","title":"instance_name - (Optional) The name of the instance.","text":""},{"location":"docs/reference/dstack.yml/task/#creation_policy","title":"creation_policy - (Optional) The policy for using instances from the pool. Defaults to reuse-or-create.","text":""},{"location":"docs/reference/dstack.yml/task/#termination_policy","title":"termination_policy - (Optional) The policy for termination instances. Defaults to destroy-after-idle.","text":""},{"location":"docs/reference/dstack.yml/task/#termination_idle_time","title":"termination_idle_time - (Optional) Time to wait before destroying the idle instance. Defaults to 5m for dstack run and to 3d for dstack pool add.","text":""},{"location":"docs/reference/dstack.yml/task/#resources","title":"resources","text":""},{"location":"docs/reference/dstack.yml/task/#cpu","title":"cpu - (Optional) The number of CPU cores. Defaults to 2...","text":""},{"location":"docs/reference/dstack.yml/task/#memory","title":"memory - (Optional) The RAM size (e.g., 8GB). Defaults to 8GB...","text":""},{"location":"docs/reference/dstack.yml/task/#shm_size","title":"shm_size - (Optional) The size of shared memory (e.g., 8GB). If you are using parallel communicating processes (e.g., dataloaders in PyTorch), you may need to configure this.","text":""},{"location":"docs/reference/dstack.yml/task/#_gpu","title":"gpu - (Optional) The GPU requirements. Can be set to a number, a string (e.g. A100, 80GB:2, etc.), or an object; see examples.","text":""},{"location":"docs/reference/dstack.yml/task/#_disk","title":"disk - (Optional) The disk resources.","text":""},{"location":"docs/reference/dstack.yml/task/#resources-gpu","title":"resouces.gpu","text":""},{"location":"docs/reference/dstack.yml/task/#name","title":"name - (Optional) The GPU name or list of names.","text":""},{"location":"docs/reference/dstack.yml/task/#count","title":"count - (Optional) The number of GPUs. Defaults to 1.","text":""},{"location":"docs/reference/dstack.yml/task/#memory","title":"memory - (Optional) The VRAM size (e.g., 16GB). Can be set to a range (e.g. 16GB.., or 16GB..80GB).","text":""},{"location":"docs/reference/dstack.yml/task/#total_memory","title":"total_memory - (Optional) The total VRAM size (e.g., 32GB). Can be set to a range (e.g. 16GB.., or 16GB..80GB).","text":""},{"location":"docs/reference/dstack.yml/task/#compute_capability","title":"compute_capability - (Optional) The minimum compute capability of the GPU (e.g., 7.5).","text":""},{"location":"docs/reference/dstack.yml/task/#resources-disk","title":"resouces.disk","text":""},{"location":"docs/reference/dstack.yml/task/#size","title":"size - The disk size. Can be a string (e.g., 100GB or 100GB..) or an object; see examples.","text":""},{"location":"docs/reference/dstack.yml/task/#registry_auth","title":"registry_auth","text":""},{"location":"docs/reference/dstack.yml/task/#username","title":"username - The username.","text":""},{"location":"docs/reference/dstack.yml/task/#password","title":"password - The password or access token.","text":""},{"location":"docs/reference/server/config.yml/","title":"~/.dstack/server/config.yml","text":"

    The ~/.dstack/server/config.yml file is used by the dstack server to configure cloud accounts.

    Projects

    For flexibility, dstack server permits you to configure backends for multiple projects. If you intend to use only one project, name it main.

    "},{"location":"docs/reference/server/config.yml/#examples","title":"Examples","text":""},{"location":"docs/reference/server/config.yml/#aws_1","title":"AWS","text":"Access keyDefault credentials
    projects:\n- name: main\n  backends:\n  - type: aws\n    creds:\n      type: access_key\n      access_key: KKAAUKLIZ5EHKICAOASV\n      secret_key: pn158lMqSBJiySwpQ9ubwmI6VUU3/W2fdJdFwfgO\n
    projects:\n- name: main\n  backends:\n  - type: aws\n    creds:\n      type: default\n
    "},{"location":"docs/reference/server/config.yml/#azure_1","title":"Azure","text":"ClientDefault credentials
    projects:\n- name: main\n  backends:\n  - type: azure\n    subscription_id: 06c82ce3-28ff-4285-a146-c5e981a9d808\n    tenant_id: f84a7584-88e4-4fd2-8e97-623f0a715ee1\n    creds:\n      type: client\n      client_id: acf3f73a-597b-46b6-98d9-748d75018ed0\n      client_secret: 1Kb8Q~o3Q2hdEvrul9yaj5DJDFkuL3RG7lger2VQ\n
    projects:\n- name: main\n  backends:\n  - type: azure\n    subscription_id: 06c82ce3-28ff-4285-a146-c5e981a9d808\n    tenant_id: f84a7584-88e4-4fd2-8e97-623f0a715ee1\n    creds:\n      type: default\n
    "},{"location":"docs/reference/server/config.yml/#gcp_1","title":"GCP","text":"Service accountDefault credentials
    projects:\n- name: main\n  backends:\n  - type: gcp\n    project_id: gcp-project-id\n    creds:\n      type: service_account\n      filename: ~/.dstack/server/gcp-024ed630eab5.json\n
    projects:\n- name: main\n  backends:\n  - type: gcp\n    project_id: gcp-project-id\n    creds:\n      type: default\n
    "},{"location":"docs/reference/server/config.yml/#lambda_1","title":"Lambda","text":"
    projects:\n- name: main\n  backends:\n  - type: lambda\n    creds:\n      type: api_key\n      api_key: eersct_yrpiey-naaeedst-tk-_cb6ba38e1128464aea9bcc619e4ba2a5.iijPMi07obgt6TZ87v5qAEj61RVxhd0p\n
    "},{"location":"docs/reference/server/config.yml/#tensordock_1","title":"TensorDock","text":"
    projects:\n- name: main\n  backends:\n  - type: tensordock\n    creds:\n      type: api_key\n      api_key: 248e621d-9317-7494-dc1557fa5825b-98b\n      api_token: FyBI3YbnFEYXdth2xqYRnQI7hiusssBC\n
    "},{"location":"docs/reference/server/config.yml/#vastai_1","title":"Vast.ai","text":"
    projects:\n- name: main\n  backends:\n  - type: vastai\n    creds:\n      type: api_key\n      api_key: d75789f22f1908e0527c78a283b523dd73051c8c7d05456516fc91e9d4efd8c5\n
    "},{"location":"docs/reference/server/config.yml/#cudo","title":"CUDO","text":"
    projects:\n- name: main\n  backends:\n  - type: cudo\n    project_id: my-cudo-project\n    creds:\n      type: api_key\n      api_key: 7487240a466624b48de22865589\n
    "},{"location":"docs/reference/server/config.yml/#datacrunch_1","title":"DataCrunch","text":"
    projects:\n- name: main\n  backends:\n  - type: datacrunch\n    creds:\n      type: api_key\n      client_id: xfaHBqYEsArqhKWX-e52x3HH7w8T\n      client_secret: B5ZU5Qx9Nt8oGMlmMhNI3iglK8bjMhagTbylZy4WzncZe39995f7Vxh8\n
    "},{"location":"docs/reference/server/config.yml/#kubernetes_1","title":"Kubernetes","text":"Self-managedManaged
    projects:\n- name: main\n  backends:\n  - type: kubernetes\n    kubeconfig:\n      filename: ~/.kube/config\n    networking:\n      ssh_host: localhost # The external IP address of any node\n      ssh_port: 32000 # Any port accessible outside of the cluster\n
    projects:\n- name: main\n  backends:\n  - type: kubernetes\n    kubeconfig:\n      filename: ~/.kube/config\n    networking:\n      ssh_port: 32000 # Any port accessible outside of the cluster\n

    For more details on configuring clouds, please refer to Installation.

    "},{"location":"docs/reference/server/config.yml/#root-reference","title":"Root reference","text":""},{"location":"docs/reference/server/config.yml/#_projects","title":"projects - The list of projects.","text":""},{"location":"docs/reference/server/config.yml/#projects","title":"projects[n]","text":""},{"location":"docs/reference/server/config.yml/#name","title":"name - The name of the project.","text":""},{"location":"docs/reference/server/config.yml/#backends","title":"backends - The list of backends.","text":""},{"location":"docs/reference/server/config.yml/#aws","title":"projects[n].backends[type=aws]","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of the backend. Must be aws.","text":""},{"location":"docs/reference/server/config.yml/#vpc_name","title":"vpc_name - (Optional) The VPC name.","text":""},{"location":"docs/reference/server/config.yml/#_creds","title":"creds - The credentials.","text":""},{"location":"docs/reference/server/config.yml/#aws-creds","title":"projects[n].backends[type=aws].creds","text":"Access keyDefault"},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be access_key.","text":""},{"location":"docs/reference/server/config.yml/#access_key","title":"access_key - The access key.","text":""},{"location":"docs/reference/server/config.yml/#secret_key","title":"secret_key - The secret key.","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be default.","text":""},{"location":"docs/reference/server/config.yml/#azure","title":"projects[n].backends[type=azure]","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of the backend. Must be azure.","text":""},{"location":"docs/reference/server/config.yml/#tenant_id","title":"tenant_id - The tenant ID.","text":""},{"location":"docs/reference/server/config.yml/#subscription_id","title":"subscription_id - The subscription ID.","text":""},{"location":"docs/reference/server/config.yml/#_creds","title":"creds - The credentials.","text":""},{"location":"docs/reference/server/config.yml/#azure-creds","title":"projects[n].backends[type=azure].creds","text":"ClientDefault"},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be client.","text":""},{"location":"docs/reference/server/config.yml/#client_id","title":"client_id - The client ID.","text":""},{"location":"docs/reference/server/config.yml/#client_secret","title":"client_secret - The client secret.","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be default.","text":""},{"location":"docs/reference/server/config.yml/#datacrunch","title":"projects[n].backends[type=datacrunch]","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of backend. Must be datacrunch.","text":""},{"location":"docs/reference/server/config.yml/#_creds","title":"creds - The credentials.","text":""},{"location":"docs/reference/server/config.yml/#datacrunch-creds","title":"projects[n].backends[type=datacrunch].creds","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be api_key.","text":""},{"location":"docs/reference/server/config.yml/#client_id","title":"client_id - The client ID.","text":""},{"location":"docs/reference/server/config.yml/#client_secret","title":"client_secret - The client secret.","text":""},{"location":"docs/reference/server/config.yml/#gcp","title":"projects[n].backends[type=gcp]","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of backend. Must be gcp.","text":""},{"location":"docs/reference/server/config.yml/#project_id","title":"project_id - The project ID.","text":""},{"location":"docs/reference/server/config.yml/#_creds","title":"creds - The credentials.","text":""},{"location":"docs/reference/server/config.yml/#gcp-creds","title":"projects[n].backends[type=gcp].creds","text":"Service accountDefault"},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be service_account.","text":""},{"location":"docs/reference/server/config.yml/#filename","title":"filename - The path to the service account file.","text":""},{"location":"docs/reference/server/config.yml/#data","title":"data - (Optional) The contents of the service account file.","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be default.","text":""},{"location":"docs/reference/server/config.yml/#lambda","title":"projects[n].backends[type=lambda]","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of backend. Must be lambda.","text":""},{"location":"docs/reference/server/config.yml/#_creds","title":"creds - The credentials.","text":""},{"location":"docs/reference/server/config.yml/#lambda-creds","title":"projects[n].backends[type=lambda].creds","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be api_key.","text":""},{"location":"docs/reference/server/config.yml/#api_key","title":"api_key - The API key.","text":""},{"location":"docs/reference/server/config.yml/#tensordock","title":"projects[n].backends[type=tensordock]","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of backend. Must be tensordock.","text":""},{"location":"docs/reference/server/config.yml/#_creds","title":"creds - The credentials.","text":""},{"location":"docs/reference/server/config.yml/#tensordock-creds","title":"projects[n].backends[type=tensordock].creds","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be api_key.","text":""},{"location":"docs/reference/server/config.yml/#api_key","title":"api_key - The API key.","text":""},{"location":"docs/reference/server/config.yml/#api_token","title":"api_token - The API token.","text":""},{"location":"docs/reference/server/config.yml/#vastai","title":"projects[n].backends[type=vastai]","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of backend. Must be vastai.","text":""},{"location":"docs/reference/server/config.yml/#_creds","title":"creds - The credentials.","text":""},{"location":"docs/reference/server/config.yml/#vastai-creds","title":"projects[n].backends[type=vastai].creds","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of credentials. Must be api_key.","text":""},{"location":"docs/reference/server/config.yml/#api_key","title":"api_key - The API key.","text":""},{"location":"docs/reference/server/config.yml/#kubernetes","title":"projects[n].backends[type=kubernetes]","text":""},{"location":"docs/reference/server/config.yml/#type","title":"type - The type of backend. Must be kubernetes.","text":""},{"location":"docs/reference/server/config.yml/#_kubeconfig","title":"kubeconfig - The kubeconfig configuration.","text":""},{"location":"docs/reference/server/config.yml/#_networking","title":"networking - (Optional) The networking configuration.","text":""},{"location":"docs/reference/server/config.yml/#kubeconfig","title":"projects[n].backends[type=kubernetes].kubeconfig","text":""},{"location":"docs/reference/server/config.yml/#filename","title":"filename - The path to the kubeconfig file.","text":""},{"location":"docs/reference/server/config.yml/#data","title":"data - (Optional) The contents of the kubeconfig file.","text":""},{"location":"docs/reference/server/config.yml/#networking","title":"projects[n].backends[type=kubernetes].networking","text":""},{"location":"docs/reference/server/config.yml/#ssh_host","title":"ssh_host - (Optional) The external IP address of any node.","text":""},{"location":"docs/reference/server/config.yml/#ssh_port","title":"ssh_port - (Optional) Any port accessible outside of the cluster.","text":""},{"location":"blog/archive/2024/","title":"2024","text":""}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 1edcdd17..6c780df2 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -40,96 +40,6 @@ 2024-04-19 daily - - https://dstack.ai/changelog/0.10.5/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/0.10.7/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/0.11.0/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/0.12.0/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/0.12.2/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/0.12.3/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/0.13.0/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/0.14.0/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/0.15.0/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/0.15.1/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/0.16.0/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/0.16.1/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/0.16.4/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/0.17.0/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/0.18.0/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/0.2/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/0.7.0/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/0.9.1/ - 2024-04-19 - daily - https://dstack.ai/docs/ 2024-04-19 @@ -210,21 +120,6 @@ 2024-04-19 daily - - https://dstack.ai/changelog/archive/2024/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/archive/2023/ - 2024-04-19 - daily - - - https://dstack.ai/changelog/page/2/ - 2024-04-19 - daily - https://dstack.ai/blog/archive/2024/ 2024-04-19 diff --git a/sitemap.xml.gz b/sitemap.xml.gz index 61aaa89ca8c0e39a07de1942d0805af023d6d6cb..1043cba45f810bd92ce4e91067a0b2d065f12ebd 100644 GIT binary patch literal 405 zcmV;G0c!pqiwFp($0B9||8r?{Wo=<_E_iKh0M(blZi6rkhVOd{#65&oJ**R@w>`o3 z0BLX`BE&RK>3I7krJK5)cA4bn68vL1pB!+UYX33VYywXP-7a4hWuAf4*cjLD^7pq_ z@tp7Lr|Rr2LCB)Bqg~#GFuq86xm*e|0R}ZvfxeZbyJ(QSiLxxVdHs~dkpe7F*HKy2 zb&5hUOhZBGzEDP1GU@kjio$?Ry)M@qQEtR)8(nVNoty5IYvJhOR5!}lxsrFvvcCKV z_#4XTjgC2BhBPTXb3zK>2jT>Du-LNWQC@du0!eBXEn;(+K?D?oa;k+!I1F$=?D-{f zF$MLkKDs3UvyE<06FZ*M+2}q>KCna6=roLhWCN1`HyMv^02hca>4<0<;}Q7DXkbhj z6!rY@jElClD#Q+m9h`?F_}Gxa*Nb_uj3GylM`MAQW2!NBQ*-E8Z+L?AK!Gu$w&pSZ zm|us?V?f^u`eVSR+Rm6XvCAee{%sX8u6Q5kQk_5J_fg%D2Qdh&(=kmt;id0tZ(<( zuh*aXbM{i-Rqw$G#Z~I;WuJ91jz5$-olb?=NP`}w;Ls{DU22HB1XWq=vife7wq=0x z(dSk=x#Uh&F5l&hz$eO`k#`!qE(SLt_-x(3F#(Y+yf- zkAf>5nH?}sC`{H6urO-r@p#s!wsSgK_HejBM+%hk_jO_(958YWe6)@PoT*2v#yNJ- z1z(VXBmxtSv$yfY{I$s32Kq9g-v)M>+kvG^E-5Ta(b2YOv(xu$?bpZg#Q-k^{ggH8 ZHt}Hpd;Fi$e(r=~{TrN^bcfU&004-$?o9vy diff --git a/terms/index.html b/terms/index.html index 57d7e53f..621b0d98 100644 --- a/terms/index.html +++ b/terms/index.html @@ -289,17 +289,16 @@ +
  • + + + - -
  • - - Changelog - -
  • - + + @@ -1211,180 +1210,14 @@ - - - - - - - - - -
  • - - - - - - - - - - -
  • - - @@ -2109,8 +1926,8 @@

    Contact Information