From 861c5812b3a75f710531e922a6785a104ee14d35 Mon Sep 17 00:00:00 2001 From: cal-weng Date: Sat, 11 Oct 2025 15:06:45 +0800 Subject: [PATCH 1/6] docs: update GPU mode descriptions to be more accurate --- docs/manual/olares/settings/gpu-resource.md | 16 ++++------------ docs/zh/manual/olares/settings/gpu-resource.md | 15 ++++----------- 2 files changed, 8 insertions(+), 23 deletions(-) diff --git a/docs/manual/olares/settings/gpu-resource.md b/docs/manual/olares/settings/gpu-resource.md index 552a0956a..834ad271a 100644 --- a/docs/manual/olares/settings/gpu-resource.md +++ b/docs/manual/olares/settings/gpu-resource.md @@ -15,7 +15,6 @@ This guide helps you understand and configure GPU allocation modes to maximize h Olares supports **only Nvidia GPUs** of **Turing architecture or later** (Turing, Ampere, Ada Lovelace, and Blackwell). - Quick check: GTX/RTX **16 series and newer** consumer cards are supported. -- For other models, cross-check with the [compatible GPU table](https://github.com/NVIDIA/open-gpu-kernel-modules?tab=readme-ov-file#compatible-gpus). - Other models: Cross-check with the [compatible GPU table](https://github.com/NVIDIA/open-gpu-kernel-modules?tab=readme-ov-file#compatible-gpus). - Unknown model: Run `lspci | grep -i nvidia` to query the GPU architecture code and determine compatibility. ::: @@ -30,24 +29,17 @@ Olares supports three GPU allocation modes. Choosing the right mode helps optimi ### Time Slicing -In this mode, the GPU's processing power is shared among multiple applications. +In this mode, the GPU rotates across applications in time slices; at any instant only one app runs on the GPU. Other GPU workloads are paused, with their VRAM evicted to system memory and restored on their slice. -* Acts as a default resource pool. Any application not explicitly assigned to a specific GPU will automatically use a time-slicing GPU if available. - -* Suitable for General-purpose use and running multiple lightweight applications. +Time Slicing mode provides a shared VRAM pool. Applications without an exclusive GPU or dedicated VRAM automatically join the time-sliced queue and use this pool when the GPU is available. ### App Exclusive -In this mode, the entire GPU processing power and memory is dedicated to a single application. - -* Best for intensive, performance-critical applications like AI-generated imagery or high-performance gaming servers. -* Large memory demands may limit availability for other tasks. +In this mode, the GPU’s full compute capacity and VRAM are allocated to a single application, eliminating cross-application contention and interference. ### Memory Slicing -In this mode, GPU memory (VRAM) is partitioned into fixed, dedicated amounts for specific applications. -* Ideal for running multiple GPU-intensive applications simultaneously, each with guaranteed VRAM allocation. -* Prevents memory conflicts between applications running on the same GPU. +In this mode, VRAM is statically partitioned into fixed quotas and bound to designated applications. The sum of quotas must not exceed the total physical VRAM. Each assigned app can access only its own partition with no cross-app interference. ## View GPU status diff --git a/docs/zh/manual/olares/settings/gpu-resource.md b/docs/zh/manual/olares/settings/gpu-resource.md index cdc8b8e61..9bf8b433a 100644 --- a/docs/zh/manual/olares/settings/gpu-resource.md +++ b/docs/zh/manual/olares/settings/gpu-resource.md @@ -30,24 +30,17 @@ Olares 提供三种分配方式,可按场景灵活选择。 ### 时间分片模式 -在此模式下,GPU 的处理能力将在多个应用之间共享。 +在此模式下,GPU 按时间片在应用间轮换执行,任一时刻仅一个应用占用 GPU。其余GPU 负载被挂起,所用显存会交换至系统内存,轮到时再恢复。 -- 该模式下,GPU 提供默认的显存资源池。未被分配独占 GPU 或专有显存的应用将自动使用时间分片模式下的 GPU(如可用)。 -- 适合通用型任务以及同时运行多个轻量级应用。 +该模式下,GPU 提供默认的显存资源池。未被分配独占 GPU 或专有显存的应用将自动使用时间分片模式下的 GPU。 ### 应用独占模式 -在此模式下,整个 GPU 的计算能力和显存将专用于单个应用。 - -- 最适合高性能、资源密集型应用,如 AI 图像生成或高性能游戏服务器。 -- 大内存占用可能会限制其他任务的运行。 +在此模式下,整个 GPU 的算力和显存将分配给单个应用,无跨应用争用与干扰。 ### 显存分片模式 -在此模式下,GPU 显存(VRAM)被划分为固定配额,分配给指定应用。 - -- 适合同时运行多个显卡密集型应用(如多个 AI 模型),每个应用都有独立显存配额。 -- 可避免多个应用运行在同一 GPU 上时的内存冲突。 +在此模式下,GPU 显存按固定配额静态切分并绑定到指定应用;各配额之和不得超过物理显存。该模式下,每个应用仅能访问分配的显存分区,相互隔离、互不干扰。 ## 查看显卡状态 From d8db9c458c262f1bc1f4099c28d91a6d7e469bb6 Mon Sep 17 00:00:00 2001 From: cal-weng Date: Sat, 11 Oct 2025 21:23:52 +0800 Subject: [PATCH 2/6] update wording --- docs/manual/olares/settings/gpu-resource.md | 14 +++++++++----- docs/zh/manual/olares/settings/gpu-resource.md | 13 ++++++++----- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/docs/manual/olares/settings/gpu-resource.md b/docs/manual/olares/settings/gpu-resource.md index 834ad271a..b448dcd9d 100644 --- a/docs/manual/olares/settings/gpu-resource.md +++ b/docs/manual/olares/settings/gpu-resource.md @@ -29,17 +29,21 @@ Olares supports three GPU allocation modes. Choosing the right mode helps optimi ### Time Slicing -In this mode, the GPU rotates across applications in time slices; at any instant only one app runs on the GPU. Other GPU workloads are paused, with their VRAM evicted to system memory and restored on their slice. - -Time Slicing mode provides a shared VRAM pool. Applications without an exclusive GPU or dedicated VRAM automatically join the time-sliced queue and use this pool when the GPU is available. +In this mode, the GPU rotates across applications in time slices. +- At any instant, only one application uses the GPU’s compute and VRAM. +- Other applications’ VRAM contents are temporarily swapped out to system memory. +- Applications not assigned an exclusive GPU or dedicated VRAM are placed in the time-slicing queue by default. ### App Exclusive -In this mode, the GPU’s full compute capacity and VRAM are allocated to a single application, eliminating cross-application contention and interference. +In this mode, the GPU’s full compute capacity and VRAM are allocated to a single application to ensure the maximized performance. ### Memory Slicing -In this mode, VRAM is statically partitioned into fixed quotas and bound to designated applications. The sum of quotas must not exceed the total physical VRAM. Each assigned app can access only its own partition with no cross-app interference. +In this mode, GPU VRAM is allocated to multiple applications by specified quotas: + +- Applications with a quota can run concurrently on the GPU. +- The sum of all quotas must not exceed the GPU’s physical VRAM. ## View GPU status diff --git a/docs/zh/manual/olares/settings/gpu-resource.md b/docs/zh/manual/olares/settings/gpu-resource.md index 9bf8b433a..afdd5d410 100644 --- a/docs/zh/manual/olares/settings/gpu-resource.md +++ b/docs/zh/manual/olares/settings/gpu-resource.md @@ -30,17 +30,20 @@ Olares 提供三种分配方式,可按场景灵活选择。 ### 时间分片模式 -在此模式下,GPU 按时间片在应用间轮换执行,任一时刻仅一个应用占用 GPU。其余GPU 负载被挂起,所用显存会交换至系统内存,轮到时再恢复。 - -该模式下,GPU 提供默认的显存资源池。未被分配独占 GPU 或专有显存的应用将自动使用时间分片模式下的 GPU。 +在此模式下,多应用按时间片轮转共享同一 GPU: +- 任一时刻仅有一个应用占用 GPU 算力和显存。 +- 此时其他应用的显存内容会暂时换出至系统内存。 +- 未被分配独占 GPU 或专有显存的应用将默认加入时间分片队列。 ### 应用独占模式 -在此模式下,整个 GPU 的算力和显存将分配给单个应用,无跨应用争用与干扰。 +在此模式下,整个 GPU 的算力和显存将分配给单个应用,以保证最佳性能。 ### 显存分片模式 -在此模式下,GPU 显存按固定配额静态切分并绑定到指定应用;各配额之和不得超过物理显存。该模式下,每个应用仅能访问分配的显存分区,相互隔离、互不干扰。 +在此模式下,GPU 显存可按指定配额分配给多个应用。 +- 获得配额的应用可并行使用 GPU。 +- 所分配配额之和不得超过总物理显存。 ## 查看显卡状态 From 5a434b5b50a171fd39a18f43edd0d372be1e7482 Mon Sep 17 00:00:00 2001 From: cal-weng Date: Sat, 11 Oct 2025 21:45:15 +0800 Subject: [PATCH 3/6] resolve comments --- docs/manual/olares/settings/gpu-resource.md | 20 +++++++++--------- .../zh/manual/olares/settings/gpu-resource.md | 21 +++++++++---------- 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/docs/manual/olares/settings/gpu-resource.md b/docs/manual/olares/settings/gpu-resource.md index b448dcd9d..3076eaaeb 100644 --- a/docs/manual/olares/settings/gpu-resource.md +++ b/docs/manual/olares/settings/gpu-resource.md @@ -27,23 +27,23 @@ Even if your GPU architecture is supported, **low VRAM capacity may cause AI app Olares supports three GPU allocation modes. Choosing the right mode helps optimize performance based on your needs. -### Time Slicing - -In this mode, the GPU rotates across applications in time slices. -- At any instant, only one application uses the GPU’s compute and VRAM. -- Other applications’ VRAM contents are temporarily swapped out to system memory. -- Applications not assigned an exclusive GPU or dedicated VRAM are placed in the time-slicing queue by default. - ### App Exclusive In this mode, the GPU’s full compute capacity and VRAM are allocated to a single application to ensure the maximized performance. ### Memory Slicing -In this mode, GPU VRAM is allocated to multiple applications by specified quotas: +In this mode, GPU VRAM is allocated to multiple applications by specified VRAM quotas: -- Applications with a quota can run concurrently on the GPU. -- The sum of all quotas must not exceed the GPU’s physical VRAM. +- Applications with assigned VRAM can run concurrently on the GPU. +- The sum of all assigned VRAMs must not exceed the GPU’s physical VRAM. + +### Time Slicing + +In this mode, any number of applications can be bound to the same GPU: + +- At any instant, only one application fully occupies the GPU’s compute and VRAM. +- VRAM contents of other applications are temporarily swapped out to system memory. ## View GPU status diff --git a/docs/zh/manual/olares/settings/gpu-resource.md b/docs/zh/manual/olares/settings/gpu-resource.md index afdd5d410..010d9df45 100644 --- a/docs/zh/manual/olares/settings/gpu-resource.md +++ b/docs/zh/manual/olares/settings/gpu-resource.md @@ -28,22 +28,21 @@ Olares 仅支持 **NVIDIA 显卡**,且要求架构为 **Turing 或更新**(T Olares 提供三种分配方式,可按场景灵活选择。 -### 时间分片模式 - -在此模式下,多应用按时间片轮转共享同一 GPU: -- 任一时刻仅有一个应用占用 GPU 算力和显存。 -- 此时其他应用的显存内容会暂时换出至系统内存。 -- 未被分配独占 GPU 或专有显存的应用将默认加入时间分片队列。 - ### 应用独占模式 -在此模式下,整个 GPU 的算力和显存将分配给单个应用,以保证最佳性能。 +在此模式下,单张 GPU 的算力和显存将分配给一个应用,以保证最佳性能。 ### 显存分片模式 -在此模式下,GPU 显存可按指定配额分配给多个应用。 -- 获得配额的应用可并行使用 GPU。 -- 所分配配额之和不得超过总物理显存。 +在此模式下,GPU 显存可按指定显存分配给多个应用。 +- 所有获得显存的应用可同时使用 GPU。 +- 所分配显存之和不得超过总物理显存。 + +### 时间分片模式 + +在此模式下,任意数量应用可绑定至同一 GPU: +- 任一时刻仅有一个应用完全占用 GPU 算力和显存。 +- 此时其他应用的显存内容会暂时换出至系统内存。 ## 查看显卡状态 From d25bde12c36ed09de6c01a6ce488b1bdbe6e506e Mon Sep 17 00:00:00 2001 From: cal-weng Date: Mon, 27 Oct 2025 15:30:45 +0800 Subject: [PATCH 4/6] add multiple cards for one app support and update GPU modes description --- docs/manual/olares/settings/gpu-resource.md | 64 ++++++++++-------- .../images/manual/olares/gpu-overview.png | Bin 0 -> 62328 bytes .../images/zh/manual/olares/gpu-overview.png | Bin 0 -> 58429 bytes .../zh/manual/olares/settings/gpu-resource.md | 36 ++++++---- 4 files changed, 58 insertions(+), 42 deletions(-) create mode 100644 docs/public/images/manual/olares/gpu-overview.png create mode 100644 docs/public/images/zh/manual/olares/gpu-overview.png diff --git a/docs/manual/olares/settings/gpu-resource.md b/docs/manual/olares/settings/gpu-resource.md index 3076eaaeb..81e32e748 100644 --- a/docs/manual/olares/settings/gpu-resource.md +++ b/docs/manual/olares/settings/gpu-resource.md @@ -12,12 +12,13 @@ Olares allows you to harness the full power of your GPUs to accelerate demanding This guide helps you understand and configure GPU allocation modes to maximize hardware performance. ::: tip GPU support -Olares supports **only Nvidia GPUs** of **Turing architecture or later** (Turing, Ampere, Ada Lovelace, and Blackwell). +Olares supports **only Nvidia GPUs** of **Turing architecture or later** (Turing, Ampere, Ada Lovelace, and Blackwell). - Quick check: GTX/RTX **16 series and newer** consumer cards are supported. +- For other models, cross-check with the [compatible GPU table](https://github.com/NVIDIA/open-gpu-kernel-modules?tab=readme-ov-file#compatible-gpus). - Other models: Cross-check with the [compatible GPU table](https://github.com/NVIDIA/open-gpu-kernel-modules?tab=readme-ov-file#compatible-gpus). - Unknown model: Run `lspci | grep -i nvidia` to query the GPU architecture code and determine compatibility. -::: + ::: :::warning AI Performance Even if your GPU architecture is supported, **low VRAM capacity may cause AI applications to fail**. Ensure your GPU has enough memory for your workloads. @@ -27,23 +28,30 @@ Even if your GPU architecture is supported, **low VRAM capacity may cause AI app Olares supports three GPU allocation modes. Choosing the right mode helps optimize performance based on your needs. -### App Exclusive - -In this mode, the GPU’s full compute capacity and VRAM are allocated to a single application to ensure the maximized performance. - -### Memory Slicing - -In this mode, GPU VRAM is allocated to multiple applications by specified VRAM quotas: - -- Applications with assigned VRAM can run concurrently on the GPU. -- The sum of all assigned VRAMs must not exceed the GPU’s physical VRAM. - ### Time Slicing -In this mode, any number of applications can be bound to the same GPU: +In this mode, a GPU can be bound to multiple applications and rotates execution in time slices. -- At any instant, only one application fully occupies the GPU’s compute and VRAM. -- VRAM contents of other applications are temporarily swapped out to system memory. +* At any instant, only one application uses all available compute and VRAM of the GPU. +* Other apps enter a wait queue; their CUDA and VRAM content will be swapped to the system memory. + +### App Exclusive + +In this mode, the entire GPU is allocated to a single application. + +* During execution, the app can use all compute and VRAM of the bound GPU. +* No cross-app contention or scheduling overhead so that best performance is guaranteed. + +### Memory Slicing +In this mode, VRAM of the GPU is partitioned into fixed quotas for multiple designated applications. + +* Users need to manually set a quota for each app. +* The sum of quotas must not exceed physical VRAM of the bound GPU. Oversubscription is not supported. +* Apps with quota assigned can run concurrently, each limited to its own quota. + +:::tip Multi-GPU aggregation +You can bind multiple GPUs to one application within the same cluster to gain bigger VRAM. In such scenarios, only **App Exclusive** or **Memory Slicing** modes are supported. +::: ## View GPU status @@ -52,8 +60,10 @@ To view your GPU status: 1. Navigate to **Settings** > **GPU**. The GPU list shows each GPU’s model, associated node, total VRAM, and current GPU mode. 2. Click on a specific GPU to visit its details. +![GPU overview](/images/manual/olares/gpu-overview.png#bordered) + ::: tip Note -If your Olares only has one GPU, navigating to the GPU section will take you directly to the GPU details page. If you have multiple GPUs, you will see a list first. +If your Olares only has one GPU, navigating to the GPU section will take you directly to the GPU details page. ::: ## Configure GPU mode @@ -69,23 +79,19 @@ On the **GPU details** page, select your desired mode from the **GPU mode** drop :::tip Note No manual pinning is required if you only have one GPU in your cluster. ::: - + * **App Exclusive** 1. Select this mode from the GPU mode dropdown. 2. In the **Select exclusive app** dropbox, choose your target application. 3. Click **Confirm**. - ![App exclusive](/images/manual/olares/gpu-app-exclusive.png#bordered) + ![App exclusive](/images/manual/olares/gpu-app-exclusive.png#bordered) - * **Memory Slicing** - 1. Select this mode from the dropdown. - 2. In the **Allocate VRAM** section, click **Add an application**. - 3. Select your target application and assign it a specific amount of VRAM (in GB). - 4. Repeat for other applications and click **Confirm**. - ![VRAM slicing](/images/manual/olares/gpu-memory-slicing.png#bordered) - - ::: tip Note - You can't assign a VRAM that's larger than the total VRAM. - ::: +* **Memory Slicing** + 1. Select this mode from the dropdown. + 2. In the **Allocate VRAM** section, click **Add an application**. + 3. Select your target application and assign it a specific amount of VRAM in GB. + 4. Repeat for other applications and click **Confirm**. + ![VRAM slicing](/images/manual/olares/gpu-memory-slicing.png#bordered) ## Learn more - [Monitor GPU usage in Olares](../resources-usage.md) \ No newline at end of file diff --git a/docs/public/images/manual/olares/gpu-overview.png b/docs/public/images/manual/olares/gpu-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..35fcd0822a500527798bbe789255b50b948fd819 GIT binary patch literal 62328 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 literal 0 HcmV?d00001 diff --git a/docs/public/images/zh/manual/olares/gpu-overview.png b/docs/public/images/zh/manual/olares/gpu-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..b3058d94ae34b9e1305ca821c3c56aea511f2c2d GIT binary patch literal 58429 zcmeEuRa9JC(=F~nLgNm>-Q9wP;KAL3yE_DTiQw+;?(Po39fAZWxZln9f9K@n{BQT= zzTAxNF*=>}-b-p#&6+i9hsw)Jyh6Z500RSiCHYSD0~i>j5*QfxGaL-?jXZgZI`9{L zGZ7JaNf8lZd3zgUGfN{dFsjc^F{4rt3ZUL-W3@bm3DSyQOFsxioFkM3I#OE_?+IAZ zh-|ZrEyI)$XRA9%zZlHYY^!kFuagv}lW*a|{4%T#ghFt2uDNGSCq1;rqPtt;hryS< zV=KSF3aN8O{^%;HX{n-d(_I%q1;5DDohg!*e6#u8&*sRxl(!*ZRW?)`%U?wVN1)le z;D`XGU;V4K9)XD2;Y)8>XXasieqk{atCVyNdD*!qXTrA&qn+{Y>hU+ znsXVcNgB(@fYAV-;lRLy&A_05PvF2C7kGn#L1aMu^$ny_2IOC#!Jl9Lu_{uI2MkOI zOj1->$rb!C6*fh=ccCx+D7EflwfPgV9|ov7%Rnij^%FU6_N1Il1bH8JHbrF*RUOql zJHk~^2sEOYd-;@eeBB|#(lF=v;n?=!wzU!C@QT;!!&sWb&PZb7xu68gxR=Q)JS{U! zB3#I)KVL$T@Bwo-$ScGUr2l&9!M~IL32Z0YA1_~x*D)DIkimAW;*TCMP!WGjD z={h?jtCVONL48qpr!OmcU`rQi=?I^yF|mKo z8{e0PUuo_6RFRwHEn2m~_WPFS&U>|1_gXpEk0vH$)YS0H*N2nnhU56*0^(|75)$_` zIr7{FKQ`LV_X$gM+X+R2k$cbjiK4M|J<&o#L$79&ZQ5|61@86)dPfpjVY`D~(Z;W~ zxH%lIwk{#iyML!DBPAuZOv}n5rG296axFER&YQ2bP;I<-BK`M9J-w{TB(L%Z4wA6` z^PSP|Va9g9tWDAhvYA{56Gx7v*;36(;J4BqC;W$F^O4UFyMhgSU5KTqVNqc;rE_pa zi`c`h2W8E+!}Rrfx4*V;Hp3Yw>Z~+%6~_6m@srrh{I1u0h!pdr&vNgHQap|uZ?4;) zBP9skdaN}g`Xlaaz$mi)iUByxPN9KDuITW=rAA@S+(I1(=g0md{aU^_Wh)=&O$}Kpn zkW*1LCG0jGlog-vW~rTpQO`Wa=C?lrbL z-Dbs`yyhdToDp11cjSl20LHnfY10~L)BcEwP9c4|@|uXqCi-U}&-n;1x3qIUIAQ? z!o*GZn>60D9Vi*5ePe!4?`zAatf84v$7hb&Jbq<_BEPJ+co6(fnz$TRiviA7i;JH? z7t*bFL&eyv#u16EGmtomiSJ~jI=fK>BbIF13DiBVi21#+SVm6U*&J-}SW6gMFh!nL zz3;6Koa|8~&Z_&rc|G0kCKvd&+U=&gG)Zw?epf8bKNMpf4_n&o4QJNt07G=#9ZPNV ze1bJeu?zBftx;p@OTg=V__Yk`kC~wQhQV{8d_$Le;%@cp3nhH!yZ1O2{YJayF~*kG zT=Q63{9agDO-NYT&&gs=gHid}7jmM^%cJG~m^TCtr8_SYZ*mweIZ@Zk$Y0FXdInfS zOFmH(oJm$fz%8(gK+k0v*-L?D-pbp}6Z^}5#OAQPA*K@cqr71NvwKErK-~xHPmcjH*urD<>n4wRr zSsR4YpZ*v&;S)MNY{Mc=vBQzQUmtuLjZKLd3}r%#)9L(-b~q{I>WA748oC-1>b;E( zzCtUrrII;HcJ^0;ec{zTA+g~MEd%1~hHPz6)gdQw^qQYjt6?2>#)LB))2}h--?@V? z$(xb(qSpg{V}YO5VGNVgy`P3<$K<&{| z1qcXIa~WYFA#4!2@W_G>wxSYZWV0pHJ+(<(5#<9&h;%eG;*?ux@1@@f^&=C=++5&a z9L%Bc*4fl==1;^aHdFcdW*8Y6>F2_)$#(8U-tWk>h%UoUUT4j-Mg zKYNcPu@`G4$^IFeD4@7f1I}QJ3|Gm6ioUitxlt*lBoyosBBVf)7eItk*A-{!`(o7I z>PeS>kXNXfSgbL#dYd=iOPTH&LCetIi!@zQYJJ2g}-er~hP`Ht)s$46WXo zR2&^O=gClV=p_7~k*q=xN<5mdRj{73!Grd-qU;FtwA6NKvYwl4@q5cf>6r&bdg0!R zpGTuD)G+3H#33sayKTp+v}k)A)jFrm7)JA}Y~U9}5%3y3+?;`*NvH8G zjMXE!Dun(k)Us0up`n`=5KL3&`H>g27!1*7>}x0~OUYy435zj{j!#G6uu8u>bJG(F zDW=r13Z7$r!;Na(q8zLyr%;yYf3aU&zNm-U9fZufG2?5%O2<^<`W*aV2d?j)jqOUh z;M$qyx(To4G^4!E2wrV6-WP&KM&m^AVUJ#;hH5>yW5bW-U+2Dw3^jt=K)JSzlzBTq zSv#!A9FYcQ50A|>CUn1kP<+wj?q|Lo@XoeM=4d#q8a~v@BW=Dp;b|67PJ!3^thb~1 z3g0oLQH2M^!iRLXanG~;`SHX`8-NQU=>lH1VP`>;QsT^F9($R=mU^K>#Hv52m(s74 zRnp5s{|T@7dTL|e+mU%HFqw_|$ z)+)Z(nT=LV6@!uFb)Sdw{&Xts=FrB7_^<_>6`R=5iu%<6NjbSStE^{oQbESGu}t&X zl0qEZd5qTk3l0OCb|vZ96{+!wQO>8?_Av8QK_E~iuoxk%x^BJVyZ!Oib=?>C&}*g1 zsk$Fa%hngob=data!#{T!UkO=%jIZsX5<>zFMw|OO} z8qNTis;8HdxSeaQhdJaw1n)Cn zaPK-Xb3xB_WK|SJraFvqV}zA2e#`gx!`lc!;bQvIKr6pDr%CfTBR@zi+M7(xICF8v z365hw$Us2s4j5*vb||Bvk@)$q!$pev9;yhW2Ub_dvCN9Vf?4ZnRo%Z9}_|3-k9G8tF;*Za-eMY?}DaA3syiJzd9`P;#i z8UOqdY7^9(g16Tzh1>rc-KDgUUs0Owry{IBGX*$ph}TM)_s8Gu|8+FoDTsxY#~FoY z!vA?vKEVYrfWsF}c)6JWi3UT2_|bukV;3u9|6eHkZ9Fj4y*A!jtv@G`kp?eny-<~# zmi)hdB1+5#9}tU;IGR^H1I*(=ILGV$3WDSxQXGpa5OkCh|jRoWS-|z%*IJpW3vV& z^U5KkI2!{av{w2b*d|D*k-WZi+p0C&M(pE98IDk(|GC7dzIUXkDh4HOG$yUZ&T;FF zw_>hFc4!TB{02#Xw^_kDer=C6oz`6(gC>Gi8il$ zR38NPf1HB1@j|WeMFiaB4Hm{EX-S$j@j9X;U0sNuvP^5tll*ENrxi*><&Rp?8m!fz zo>*vJ58Ay}(P7}Ro(IeT_v(IT`tO5?{{XcwCg0jv1BWg^CuH0PuJi%v#}SM{5-DF6 zHhr?SsFpOL0okuggJB_u*1PUIF1pjk>1*1japzCwHG@ayXgw2ss4~k-{<^xs?yQzwi@bK7Nw#18dR(Pjp zJLBomn+E4(q5WCe*^|{Kay@-<&o+tb&d1B4mj`o8%cYw2;{8zsN0s;0hW*Hv^A(+G zb!O8r0L-zCulel`eEt18z?BK&rD;2cjmy4`BV6gZTC5LhmI*sHV-AcBiWeO3%20X4H^2f9NQm$A!5>N1dxaX9ZnZ&*P3H^ z-~FWg2!O_pPvF?x_HRhZQ1Eem!E&6PYsKg0)7=H#jq=@q zY|Z<+d7TQpv);saOREbJFm!7z1zB36yGENsZJ{^gRaBs?2Pc~i*@hVvCAVRO-YuW! z`!!bpjtsFs0_k{Ns-6w0*j(+Ljs-NvG^JdcmaIJg)6JIakIxb<^=iVGBdp^Y>ea^E zQ%+MAaD4ZN)i=YsPn#YEH#e>aURgr<9h)xaK-NyM)gOJmUAXs2rz}@0e$i?)iT$Qu z@QFl02aPWGZwDR#^4*t{UySZ|zdeZEi%*F9QBdOb-t6-eD+9rokohc65XKI%`6!Fy zV+mNhn=1pM=YiSsuUkAWlhrxwI&=6YtHr2P3ztljV_f`cno`H783FQRnT&!>)b2iG z{I_CgqKr$23)RAtqUBQnSrI|xebX82-+w`slb^qp=5gG4f6^XJ7R@*1l1fM$H{I^z z0|0)+;W+y4m#k{obvsto^VV_V6fP$xXMH1>s15}a9o-+m@l(jRTbx3fy&E3*ixSZv zgni-PY?**`5i#j1mQuJKP62x2J_x?;{heX}K}K!qG#nVTGf{VsYx3WdlM2FJ@`!pf4wpiSLZLC#s^5VIOgdC(pG zhfV6>FgH%`0P9j-oWlGH2mDr3O;2{S#`>0Uuz}bC1662*xZQl)T}=0LQ0=Q?rwjyV zx;226vGwUelUVOTm!p#iI)9%hmma0v?7ToClb`O*^X1DIOTw^3xAUEiA7ADAT-Lly zcEfB#K)eZb784o597H~?Cc&%>3}XnG6!!BVXyoDD(;{?PuFf%$4XwCwfqNw2TD9AY z5F_cFtFGM$*@z4cU_@RQpN|f8?0PZQThJGs=Cn-$QOgyyCb>R_cR#Ah)myJvCSA)J z8|PV}1e-NB(#LB%&9`aZVLG5kiP=@u{m>kYmw&ibKdrpdBE!f1Z z!L=VvW=q_coqrO!OX9RSmfG^+#HScK3BDTTTw7mu7{An>^Zm^a1_wqke)D;IOyYmA1=1^DeE%D<_YA)(4yE24f zdy>*Xpp}xL5#jk#@FGrnHUIo!wFXZo3kh4p&vwB3BXMkrNSrWGk}@r@r9ch6CaZ-x zYdyhwgB`hWtWgAnp2FKRw(T&^9}JirQM`_OVdCc3XNLx zKpa-%PXvmq@kvQx6f#L_`WJKUPcw1%7t?Y}_EZ&WV>l)$`q0wi;xJr%(dZA7G#ZO1E=kO$M=eR+q!FO4+z^WCnf> zkaEiDcogH3WOn_~L8SpMG~sBhiQGkgCz@J=ZRSbh81D(+S|#tzsExN_yI`6NKt+(N zHtnW}np`*z{)VU-B&cvj8Jj$ciMRSU%m!dh7-ii>BUCj5%YIUeA2UyL#kf8`nz$Ou zBe?I9>vv^QaB<{f*jIJi?vgLXOtJUVNhk-LW*NM}egw7WL&+e7$Hb_9qG%5Lobo#S z>L7VSot?mZvNVISE-^%w+Xv%6ivXEPtKXMm9_ z9dNsxQ7z5L8rZPq3X72weEc4UI;NiW>F#DL+AAykRc1m~K~{XeZo9Yh9y;ZgLxGZ# z5~%HF6LD#^dW>iISe>#L*&lovAQ@FoBk(wpfrC(g3GNH=er221OH6FLQ5+Em#U49T;$V1|p`{a_ zXAc+kdzg26M~k&rg;ev9VzXN)Fw5o!7xO%Zr|AEn+1a2Vgwd4%baJR&!&!wfk85)!dY^#+SM#~ynJ39ehjhYf)$WfH8>&O2x!J^>X( zE*8R+Im?TMneFyOSTiyx)NrQZ#4ebZ&P)y7YM*7-?V`I?Ha)(ZK<2Qfvjx$`NkkZ` zLqC*%GKzLH@X9DFB$LXHkkCC!rA*7rW@vo8KTjrkqD;FmW^0+O+zxwPk}~y&RF-WP z3b^xjPg-nGGRa-Y`^j+I)iHiGQXt+;E|QTw$_;v|$YTY1MhAi3Ae5Ums3dp=Ida#tjAP*GeI zhq-ph@sMSdsXcFl$`mWoFMz5fn&z#s63MURI6bZLY&7N?>@}-|$evx!Y#G8`okVU` z{cVx5bNWh|TJ7|(%>dFaUhwqx237>zR!N<6-Qa$B^7wvu8UzyLc#T$f_A$X{PfdYV zp|SAq%`P@B;Wl!@{oHgQ7m$+6vK{Q+(f(p>v5jmTI&Vty_6Py590u!>|Dx2_Sm`Q8lmx_0m5r<(6^ZJR~cnX&f zC6^7SP1y<;_v5H>ZT&eF)M)RbIZ25}ph~G&{LJIgBy6l8b`nFpTcrms!+9VfzsA^H zeCTVRO>!ykzk${y7~ekRQir(#x>fwb z(e5U*IXw}l$FI)g+PZm{2!TE6JZq9n%)ub6KPA35#2SfB$gmLS}Wq)TYs?ZsKoZ7t*q9A0~Q2vP1n9u*YoyKb`fzuq56A}} zW-p>Ef{?3Jcsqn`#EX+PehgF>k zy5W1sPqa(PJEI3>7XQflFJ*|S2#XTIMWuv4q92Y8v3|bVl-G(0ep@}NnH=cce=U}d zL9yTCK^-K9ZJ#CmwQJ-7pDZS9bF?iKKG-|z=YvlrVW7uI(uc`PxHa<~wIdp#tHC4G zMh-}+G@Vc~7$n-64=U9Qg5V2PR{f5vJ_Lj8X2?h z)cf8Nc^op+-Z8YCzFlH-w&Z>e+oqtP&_L_G3^bk7a)?|>ci%6Zg%p|T76=cP5qvtH{4VJgj00*Y^W@ToAfFox zZhkHh?@Mj!EdBWbmUG4ND}66?aY4yD_snG;exOF=+*pD%Gxm#1DTZWL-P_r@E|TV* zov2}}6+jgA>zshl_Xu3ida;fcKWL@Ik}NFfz<_MKD-uouv2-d{%ja}`2wYa2;xYVy zYGVP0MT_jow{Y2k0soO|rvnvRWTe2fl8x61O!`1^zY<08VPY(JGe*T-x$zhj+&CLJ zd9Y3T#9T%EjF%OnQE3qP*y+3RV1~5FqSx`Mso;arZ)Q#?^)-{lL0n)!aks%ee`@eH z?-hYN*5_6n%A>@ffH(rwuiue)z14j&2|Nt6zS`p3?P@u`qwlk!6yI2LN$wlbMOl8P zo*1P2;?ZrpezJx=7Y+Y``6twRWh30PGiw+Tn@%A$?U7!mMK|nbmumRw^aQKz`9eId z0*0FMr3`X+m4%d;q&7dxZjyY3Ypb-AGRJPkDV9e$s=d*4xERVpiF&nXs;<0`0@k zPuJ~j8K8&EPpcGR?pR5J6JD!q2-IaqJCS@pTV+vbTJw>jNPjaLzW$Ly@_b59=lRPb zSiSZABR#B@0;5n;a3~^QRR~bgZ~_bb3_#nsm7-=J`556iR|{rGebMhAf*skua*nva zw;D01wu)?EL4#Dl4l+PS9AaOJ<71T`2%%)fooJ|zK|lv1t%$1{EhwAftaVF_w2la@XcaPOi)R~+f)cqjc?bc@+r6DU%`@)xY$ zO5yLnN9zY8M`|RZ>e7{=QV3w~K;SQ3wc+OG#>tk5uIv6lo@f46$?b2p4*895#z^Mo z+a_Onq=m|(&sABdUfrC;Rfd{uqvPVixrreQR{aNwOI+W_L-NL~KCR)SfE-@YkkuXY z);f-FX^v=xJ@ApWjhwaxM{yVojHVPT@J@|uiYKZ|a-2UjVm5RSL>TCI$t@0ng93^?kPzcwB@NY~+w$G)YIByM zA#`A!GaSLRO0veh6{}h>!Gn(f8u;;zo>OvIEBnq4j6M=>=jqG^@dPggx-X>gr>y>i zLIjmmWj7^%^4^sR zVk``mh!|m>=jKy)S@w#*vr|jQP!i{}^9GIM)N~yhp1+@PlYm-Gsx48eGqw4pY-y=k zfY)6!{2S{3N2{=(4yG;OWKHme${Ru*zAHk0bG=PMP5`q}Uu-~#!CRPTr04?$KTt8~qKj3YeCS`S#06moP)3`qS0MjL7}Cn{gi3}e-L zt%`q8Xutk9SqBE?M_O=~@Xq}{0VfSBwGwX2u)XipFHwzUPmL_g;MA?>eamYB6wQkM zmfQ9&;qdeS`s}%!s#n2{C)Tqj7|R6%hkdR`F9xlD|i$Tw} z<=greG1E8>EM_b5^@3v=CXX5C2cri!uB&`5Q7d)7@5`2S-PVrOlA^oIrVm?*qi8=2I??ulfc-kQz4z7kKQY)yXUX9x-gCV^-(0|2Csa==SV}c`i%nt z34M|45M&h>%lzH;B%!>I4qqdy} zBZuZ${*lc{nn`tRA`so5RW13{pc`FnhJ0*iVpTWtvYQPwRY;!Loj9ISIUurmI6p}$ zIi2k&2mOXfFMhkj8y&Dvo<2C5G36=?0kIxEm++^CN(&AK*@TD&KcpN{mrg12ell)K zBt%3_J*R_>`Q;`8V}k##lS?z}@(STCeUHti%u* z$x(%goLU7PV}aQIrg~<=GG`gP`y-bGF&jZqfRG#*9q->+3EZ1tdu^HgXX)ytY~d#) z4~2o}JlO%qchL%OVO=73K&6HMh%<{jt|jn5DiIiY^X5&fSgYGKjnA7JV}R!Mm0T`sc}LOJ#` zB#w73OUf0&ds!)@G9hSil9QB!62k=3+y5&g7f$GrW^$%`bLCY$y;{9K?T5Ofx8A}e z_SJLie$EbOA2bNtBG|$o@6?md>{?@-@O2*Qz$6uS^|YF;Ocz?Hoh71r0!Y|Bv=9n+ z(|rg59ffGVY-)wwmUzqMtR^;PZX^Gi`kWHNOf7pfyLkK1&dqg%5LzAncAN2lIPe z=>goA=?snS-qmO_r{Uli@>vUZ%XubIF)dP@4%2r0I-7n3PeNNXqjU~&x(nF2L(gleCNts@n@o3V5dmN)~RGD`3Ca`*St92XQ z!LTiBGr6sQo*kiWDAHqg6}PxWU4jJ?e7RBDzF*pC4b1z7HAiTXH#xSJ3yHp&%%8qn%0RWqq91!uOgt1@$@!d)ssNxDW+=q0m-H`3|p7?@mJ3$T)jQC9EMU zb-^$nhKzVD=3cxpABY*t!9q=eG(E=YBymJ5K+|;AxSQ5p?tMuM=un_RoL?zqx&XSm zv_33rw--ydW|NYW6YC{Ot*WZBQ~+s$=&crODoJT6C}1FAk$V6wSM&=l6-I`T^m96Y zt6?juS_J<2B41E{rbsy?GO`vT%C=X+Qy?@0^#3pu~Jxp}(kak5YY4hf?aAoP<&h?tdiI&2Ho zv?z({x5d5sA~eCLloN}O6|^fG-4*zZ7m@3hs!(B0YfQHk=xk-k%v;D`!MBWbt?57T z+(A{ukSixx1vClvt9JG81(UcqQ*;I;%#s zkd|0*AcJ*-agx7QECpz-xolI_Mc|go)cFr2veP(apaKn_{ z8m#%bd#l!B&HyMU*+z*VQ~uz#0(fHA!^-}W^(>RH-KRb`U3}-gk?l;AFhF-9_3j;5 zVD`VFK*kl6A49=>4QzCD*GluaXrF3%7Ly=M{VwubIWq68(dREQU_Sy$HdmD23HnfJ z)R+fBkcr!$BPf{iacemgbsYXIrD0Nd)<`@sTXN1Y`zo3;UrrB`>VV&6kUb%2LuTCe zfRlDmjm??v!fbE2XDNP)w*!qjWDwQ2+`II)!-F4V~oboxNWLyzbTqDbs7RB1B+L z9=1|%=CYrEZEt}?qc33&Xe~i%EB=G9c!|bBqwt4L+ut8naaZit8dm2y9uV+9zYg*( zG?x7a@0Ny)j!A$9M;j`dp6*b2l^;8A7<8#!ccu7{k{YU7#c3dZ%;5Q@9Ws5_vj6*c zb}BXp|E}&Xg>UhJ6n1AJ(w4%(n9k(lda7!K3|iIrtsgiwnc27L7*Mnv4AmTW`LjAU zCIrIr0Qy3sQna(mVOO@sbP@uI;cOGSHG8je)({1a}5QK!|2TQq)_;-Ry~XMR9$CMlj8Zucc6pCwIt-@a?k?UEj@yOCxh82sG zue;QO6zL+)!&5@IHv-TPJ*i-VxK3KmJ8EgzQMG-~fCo=uBBq%_kylo%%2savVj!ED3TqJ`b_<24zH062Fecf;L&u~i&U%36l0 zTTh{JpJZtK@mf?uVhbqPRd<L*vYyN;>$L)5d)JEao+zvW z#HBw9+!?(|c;}=4j!F1}N3?J2S5$XQqcJmP`#CDI;E`nyGWYmw%|jxN+U<3;-Ej^t zn$weh?0213DSVCo#&`Yr4iT3E3JqK~7?9F89vRrCerdEi#RDNpX^dfo``E3rzL;ov z5@8~*76_9(0#`XI`BVD0cchi`1-9Y&AvEhOD;0=E%D2rcf5%8RB#2AWf{-%Xe!_s2 zOKt(5eJ9Ul16p?z^6V4ZUBjNU?il3+liGd2SwNQh>3-r zm|CD~h5staW-y}{a0+i{m?X*XBMRK$CWkw37O<2ou#|sr$Q6ZpNW~N){Ams?tXSU>`y_?cM?F5!xK=L^)IlBiv@h&ciDDX z^Dk3$diNq&&@ZC;Yf%4lBi}wT;Cs7P8~)PY`~4peM)1;0Ad*1y{;xgw9~pgy9k5j9 zS|^%vw7&ts%e~}-fuZiB=7s$$xBS1Dg6}}zWrI5)^6`Bnkyld-SzgxqvAvy{0kF!w zz4wYK$NxyoHPGQuP$Yozl7WE%Djr_=z`)&Sj!Q+0(#oIWzyd{iYrhe?VZ;l;-u~4xBFBfK>Mr{>g;e-c7t=eB}no)`RPFlJ~r|6|dYzEIKh?+|yCM`a2)vB7cVh1!T2DA9h{Nd$ z8+7Tf83+{GvGfom?>@Evu=VBpM+Gi`2mH!xz8*dg7~9vfAxvOw^78T-jfx~UtKUEV zWvaej@U{#X_Z*#U@I`u4$_u2Zeo$fI;TQ{yP;1G5uMBAgBe?j3;TlB(g)oM66OHCy zi~L{16$Yeg<`d8C(tsGOGpD%fZ&K`k&J->iuz@g-?w7W|SLr`qz4HyA zHv4~bgAmIJx%^;&nB;1JFVR$8Z2LJab!{=~mcUKNtf_t2>;&25!bop3a+d3~SN{7z ze<$%>M+9u_eR6ZPrEY59H4_0bunR)nfHe5>c2}GWXIsetq{MVptO{u{`z`J{u+U-z zdp!UhmqV35^{?x6fRm$Y319YNfz>Z!^YS}=Ka&I!JV2M@*Nx0uB2GUDlrDi9j_r2^ z2@+=JO7Ux&YTzEwP_t$97#|Ks($c8Hs4a|7_+5TlkB8rTq(VeN9Q2?|@v9oKTl`~B zYROUggfACNI!w}M>$E#4i6DD>J0vNUizD*W+!4aD7#ZU0f#Y&Bo&FRMORKsG^e)g* z7QE<)faCj;0nxfdU%%nu!Cmut=AW9LX7+w?Js~Fm1To)(z|BlZoXb?JvP z=gco@))x;x5%Qa#gPJ6MTZ|`^A7z2S(}b#IDT-QOg}#uzeXQ6aiwI(WBwjFC6j#^I zN`*coARYjn3Lq4|F#ZW#b_R_HFX=5%EYxJ62QpVc-7cV(Hb+%w-Sm^f=1UY{U`3=I zMC$KHP{?Pgf=n-KOf<{xWz5hoRDa*uT#}f}&wLvpqoSfj@)+ymTvt+B^L^23e@~Cz z)5Gn+(9l~TnSorb0C3&Ik&RC`b3eX6ps%UYN&^(c#O&-d$Y%~%?pKFDk-a<+suEdE z?#5o)735z*q~n5Do97Oy$)!<0yQ|_b&g7?qQKo;0>{Cq%e6}7*|2)MlH zX*t1__%g`9kL?{LD!y-FHT zQyeN!F28;ZHatJwe@;%;WFTu@!?!-{nJTSc4a>^PvUhWx$`V8512oKB52xKnwZVk$ za1YnpF75XOEq;K|psnh%22hjvnG=P*|8Jt^d-q~}%4(=LgMDex7e5hO1YfCD^4SvF z6xqCO;;eM;Pv*4gOEgI{t6z-GXa+omx!AfPS>9ge+0*r5)?FjS!O=22?_A9O5w$&4 zlId=m2LsR`VAVVERZbxEg=hjQJu4<^%+HURu(Xtv{V*+=5|3Ho3{~A>_gC!C3`2hh z^tVw$r%=kDbPY>mvNEz#?IyZ2(C?;kvnv8tZ;C5;DrzR0)@Q|$V1oMrR) znSFrvw8PsPv*{}|B}3_X=dsHiZ2;P?w@XF{-6g_rk_j7C?nVFC4Fur(uEQ4z5f+h$ zUqNUX_khlquY#v)SjSB3S*D#hf2Ahwk@vF79eDC&Nb=!^gx1CW|Rkw-7 zJ61i;+70lv;*$94XZ|Xi=pT#pwO)@=r2{EoANRJ zhL%46oGHda=D(1)ealJd-~$MFoUQ$m*~Wx0$FM6lzbVRs^NPNVhUZO(5W9c_MBW!K zXkjByF{SGcxDs~f z{%`QcbpsD2ClCEg{*p-TeSibtoT&J{&y_!Eim8YQ_v%KWzkcnRtH5Pv&&exFK=h6n<2kjCLi?P=csnB z1Z(IZb<+ufMtt%MfLy;bgWs=Jp1qr-#@IQNzD=L2P1rP)PiYmL!BPv);{At`Xr4Sg%5a!biJNKKF5-`=zzGdo-#J`uBgMMy`;TwNpn? zUSOQU(rQtaMuXY?km4c0^pw?Vnli7!MWi;;s8W}2IO(J4(~ny z3dn9iEmI?>l6So~2`Tt+3Mn3myWKo?tEiv%$=VtF1_-Ok_{9?8bH z@SB0^E-Gpda{3^o0NUQ&HQeY5bf$(urrzmuO9tBZ;M6vOW}6+v_h?iifNs$$r{m({ z!ajb5TkJR2y}nM0N|>^PjV6i$n#OU8N|(`qejC~ivEt=SUyShUmOX_e9336K z5-8Q4Vr>C^AuU~(8eA7Ak({d)nc>>Zx;~HW^NAZTO6meb2y&!Eow~C%NSDJalO%m_ z1_)CERjY7^OIxCXC)`;aLc(KoaX@*+*3eMSip*P9I%y%c#p7bFMj}!omoBi97mdx_ zb$t1ENLybgK@~-bHPK(Aeui#vJKA--&vPqp-U%%!?bRGy3g5iqDPzQH5=30+2dSa&^8xU9Gvcy;?B2$K1SF$pPHG?<3{SnCA({7z`K8? zYB4u3Np-?}ktFWAP5G|^3egfaU-l0lJ_w!M0nBJ|5-7jrZwLnaNoe$Gt*z;m`E=cg z$oAO>^=M`Kv7?FhA=(|=gcqi{8YmI8UVLcIpx7nnJL^Gr-n=eSF0KG*;ura^^Dh@I ztrTrYH0;<+SPU#XYrk*|jGr~SH% zvf6HAcI+;8?{!kZ61ZyV-UXPpg-=K#yG0zq`w=RicwKL9frnEOQSsSB&SGnd5ahXX z9-v{>3XH&gjFpAu(6hKuG2gtjh-NK}<-e8o4qr;3(~5NlPf_)2ofUhxF2l|uow7_) zLEq)iH5GMMBHwdNS*{JJ=7PLtU;WUZr5er7r5KugSBro|?C|5S!$ZsFypf4ak=A%8 zItW;PaAfx412>;eD)jg`==8#ny^nHCNiNSOe6rrc1bsN;(z?~leyls0u33*~Wm6Wu zQ|}!z#4npY%p3BtLc60HX9CaGYQKM1!aK~$ODk(C(EUpiAS6P9`mHSzR@RnJ=}0=K zMXK!7wQw(yW(k46pJBB5TE_%uhN+C#>DM4-Ji21bD15>3O7neGYp_`k8}JEU(?q(q@4BxAZfuIuKlB%ws?*}F=^ zEeC03d++U;j%^LSdWwNqRVZW)h=)mlE^jrq*Y<~i@PGYL+jk2!Xv%uh2vj0)#Q1b8aMN^tF4XFYw zk4+B(^!C0XCqdldeu|YgiYf*oQEJ!SNeh1&fzjdlH3N)}@%2+L!O_ZG&Qq()&v$=? z4gkIasgE)_sS$vd=4~L_oHD4=xDtmFpBp9f)tYv_<1;rO-LSxxSLwo0xzlFwt}F!m;@$#>2c;nc5Ly_r4vdVt_z5 z=CpKl7XUssDk%`YQYjM&5tRtX=Cka9!I@S~nGdpZyZD-A+*Rk}oxly;Yqzih5 zXY6RgJT*1dA=VFghYE{1hL=v{GKX4|al$oifTY-4Zmj0l1zZ%MST>6Gx!Hhip11|h zLWSuhDZbCcS(`@->`R6*#&bZ|yn`{lpr6KU2m^r4$OeG@Q>oC2s|PwimKX%cminCY z^7H-Q(os_n_IG=n11TE>gXf`|TlrbSC68}4KxHna>9o2pSQe|4R?T@_A6t!+k&$^F z)xsP3+>8K?d@pg&YtWPO;}4sX=<%19<7cVuvEA`>o3%p27N=nq%Nrv|@hE(C1|n|T z$$@=rtWE2w9C)A`1)f1bH?h`w1vg5>=+@6Ea*giRfnK7{2zdGh@w03yPi*m*aS#SZ zAW&dfbm_jX0D_~34ujzWeEU~ne;DYd9JZHq0!|Xh(MfI>zni|W65Cma(5CmajNs+c z99R)e?(1mlF$g@G;nGU&f~y)D9VGrTtHF>Ul{mJmH|-YIBy{aRG*YV01ubUjE>6~n z1fL(Oj|M2;y!k|6i$D~H=gic|R6b|O?sBX}o1jK6Hei;YY78xBV30-cZxA6)B6J2k z4Z|NOO>O}X6R3qa0tzI;K%RGK@MEMNXeCb1$kNm2)*-0@sx`!U}FLMqu*X ze5Hv=f>qvphI|g{;NW2Ai((fV?EDl578&1ksrNoLL_atgF^6|}WTXd>b{)xfI_S8J z?>6fpQxPv1$B7xHvel*TjB#2mejKMZPU5gKkA8fPVNCDDNk5-AjCRUrUj$OYr7(yv z*t&F5y{){+I%@#4sot;nU4U3YSs3s% zI+W<%;h@hC$2ThzRDM8#@sN3G7HF}Qzp(vm>aE%$KDiaK8Knt8a_uiG)ysQ(rnD(o z3|gkcCli_ek307lKMmW-ywB;9XMqP&07c9GC)W;_9wOuv)F(hmUplbsvb|_#Gez{W zfu>+DL}rK7ce0QUVYv>+sZzC~n#?h$?JIB=Mhzhs@t=W#=a3&y-!yu*<-8xd+%8-N z=dC=HcRrk-bk3oEI}e^;DKbLha(D`~d%vrIlq`qhO$QN;jE|j9whXR7%GBBL>cJ_S}!d>Twv}3!P4p^4GjKbn%4L?sdrAKTwz4jCp^e z8JZ+P^wPpD2&_sutTG9Z1*XqYvAopPlY6ed_M%DPZ;V!rp8@qB%V`eFc|G2zF~qkD zo$l1wMO6Uzusl~*^h?D#_44Jx22<5NcLW2zoJ5cY zrKpzcv__i*&r!RYf^bI;`0KGC9x`vX>qYIP6#A}CwTaw*eCFWn#aRPiLu>z!*gDc6 zsVj7IiMD|1_?GU;FD$UqQ-HHwGfa?j^QC-+Ba6+#*pAT#i6HM@aKrbo;cFy+c-{{? z>vJ(FvE;By_9A2R4SMNUBWV%i_lLtjgfeF--@96a^pCivj-hAs8?wlcgio0hOutU! z;n|Vrp=4+gtD4@6Ak1MM<1!?QMlG-28qrre^qdmu-U6P+u%JmD1eD5nY2WP0tlJq8 zqN=95jFSX{Bx?ZAGUX1NViM+Lmkc!JTnbe>NS7n>wu9atF8cr_mO6(+45<+jyFTQr z_0HUr5G%v}1st&ubP-REFqXJZ5@((4{G$ZJs5A1)X*rVJ5x1OWZs_h$;E*LuPG&?t z50&Hoz0Q-#yH>+M3jPzF>X@*8mvtI_mp$$zfOHL>|2;7Kx}q(D0B^Yt^(UU9=0 z0Kx*HVZ5sUhy!8PX^E9@KI!v!)BFlcubq}1ZYB-LmqZqgD+Qr znxuMiOYLU2F!(Xpw1@GA(H-qp_NO{Ide~W6AFY^znD8xtmNmRD-YdvYx)S+(T;~+q z@DLr)fC$kabvzj}M(0 zIMIF1n3An7|39pKWmuHk_qHJ2DIE?S(%nc(gCHUyDIne5(q({vbcaZHOLupNG)Q;& z?m7MQ|MmTFj$EE|%`khOz4qF7t?swv!}8<6Ikz;-^=odcF~iiqGinb&N#XNJItqzA z1MU{|dDCvDU1M&zI%CuP!l1LY3Qi=O1qPkD*H`>MitD89TI|hEjRB5RpX6(|UeYF? z=}XLE9P%w#kIvm>x^|OOz(}T6D*Vx;;OgkK)@BLYXJt%;V7C!^EWW+y)_1L;7yOy@ z&>nq0f8i56|L|5vnr0t5fe~>qse6DGTcndZ7iO5@*Rm+VMp`^sy-b%PNT%3|Q`JJ~ z!(Yb?FB#Iz@rbMmjigM}4sE-sBFULi%<23YCgV43@TM&TKwmg$v)ynqcrvsj=#s(~ zR`G=}HCRG~0gWNzO3}f{&68Isr#fN@rTHNWYnXafu>YuCMpr+wE(*t=%gO~^*8RvG zH?XYKE&S>^xUMR*Ehrln8lx{!keuJmY@2qC`0x=6#^b^Fw>6v&A8LBJo7b4id|F*@ zyjU!6UM??xh8c1~Sz9oJojv04<7}g5cTpG~uLD(Z0FPBkfgQ6ENlzJfY?|G45tyy| zQFxqxBn%NXa(YG;L`Xc;;(KwI4&U1AcRt zFO#>+saKcyqFF%dowXSeg{hdGFVsW%wn&ELXh>k&&Jj{4af5*r zjZ|H2=lUo6N=yuJ>Y#J!Ga-mA8&1t7ivE2hqEVkh;?_h#LMi9qAOv2ccM?w!tydeC zYSm68Y**!&7(Uo#s8*3n={(o8Q!qDhJBgx$%e|H_E4(eAkrRc;y*vrNcj#Q@cKGD` z@ywA)O!NL+l@YjJJ3Cy|3vXJMW-2H@5>^s=lc>`YDFz8n_H-^IQt|T-%jk1UeaRwa zrWl+$!Xz;iJVlSw&H7&T{eE<5qc!<7B88`Zc!o?kY>Z)`VZ_kNuUmyoc$~=dr!y2` zlz!rRU_&p)r-(pcl&l6-A)w(|!+{|?9R_}2lR z+!IZ0(APf=@x^{(LN*XkG!jQxT1_#TZ4qZLF{Y!s*Nwp8jx_D&yhuS1Ha|eII!{f` zd6$QIT}r467CL+sWSAP*I>$qBnCBUBZt% zNIe)_x+MFtzHznjq}EMO>9qD14P#|PrIza_!y7*JQHxvhJK^}n-6(ji;+LhZ1a8AO zdn}@<0S8}}!cXEkP$-){2D4WkG+x9p$^4NwghT`OTKZ|#_zP?#4cLGIp=|kLI6e14 zA@TT4hPUjS`78&`{T1e-kz}&GFiYBaQX@b+XN4m;bSgB=^!@SkB#ZVHt%|~a=Jxi^ z%fXpv*;8%kOyvpv6z**iJ%U&w`= z+PP*1+j+BJ*+@&_;)~DSqQ#<7S=vk64SY?OZyCaykL}`LIx0BwA4wlj3U2;rH(k?V zb+_pDHH?D61-cGFp`r`{*z7pGxYv|3>nrp81d2o1wZgl^g3g74-yDa!qmqJuz%eYr zz^7dZsla%O3cH`T04&8g*zcI!Tl1C$7Mb)HM|aT0aq=NamTZRYS9+oP3vcgDz2dJI zUj#RNFpWARN*9$-=!$fmK>k&2-+3^c`{KMOH-=1BZq(|K+mvU*pAkWipNavBOfTjO z1MFjE-&K=EQe4SaG%P7VwaHe?bdu$HzsW(oG14OIT zUSR|W??tD~(SLXu93pPI**Tc%2y-t88myf+q;}!Su|y_2Vyv7D_85u`t{)M+QNT3D z6a1Orn!MUS(1#qel-TJpLry2Qz>V_U-GE+%A@34{-i(hrGQ;m=wuTlb`1^-U-1MK` zpL;G=Z9GMPBv#V(Nz42=6KiFE?`tOkch~ph#68j~efXPMy3s~<$SH-=R&QF!j}uON zin+e3!yEIdqU1icm6U@IDat5hP1;qFhMjJ`w>DYyCgfFdm;s^u!v5!N#7zB~%M!3^zv#Kuzg>*U$ipB^$A`a4{o@Z3o

-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 P;Gej#j8O4QJ-`10v{5zD literal 0 HcmV?d00001 diff --git a/docs/zh/manual/olares/settings/gpu-resource.md b/docs/zh/manual/olares/settings/gpu-resource.md index 010d9df45..ee2a2d948 100644 --- a/docs/zh/manual/olares/settings/gpu-resource.md +++ b/docs/zh/manual/olares/settings/gpu-resource.md @@ -28,27 +28,37 @@ Olares 仅支持 **NVIDIA 显卡**,且要求架构为 **Turing 或更新**(T Olares 提供三种分配方式,可按场景灵活选择。 -### 应用独占模式 - -在此模式下,单张 GPU 的算力和显存将分配给一个应用,以保证最佳性能。 - -### 显存分片模式 - -在此模式下,GPU 显存可按指定显存分配给多个应用。 -- 所有获得显存的应用可同时使用 GPU。 -- 所分配显存之和不得超过总物理显存。 - ### 时间分片模式 -在此模式下,任意数量应用可绑定至同一 GPU: -- 任一时刻仅有一个应用完全占用 GPU 算力和显存。 -- 此时其他应用的显存内容会暂时换出至系统内存。 +在此模式下,单张显卡按时间分片分配给多个应用。 +- 任一时刻仅一个应用占用全部算力与可用显存。 +- 其余应用进入等待队列,其 CUDA 及显存内容被换出至系统内存。 + +### 应用独占模式 + +在此模式下,每张显卡的计算能力和显存将分配至单个应用。 + +- 应用在运行时可使用显卡全部的算力和显存。 +- 在这个模式下运行的应用会获得最佳性能。 + +### 显存分片模式 +在此模式下,每张显卡的显存被划分为固定配额,分配给多个指定应用。 + +- 需为每个应用手动设定配额。 +- 各配额之和不得超过对应显卡的物理显存。(暂不支持超订阅) +- 获配额的应用可并行运行,且仅能使用自身配额。 + +:::tip 多显卡合并 +在同一集群中,可将多张显卡绑定至同一应用以获取更大显存和算力;合并场景下仅支持应用独占或显存分片模式。 +::: ## 查看显卡状态 1. 进入 **设置 > GPU**。GPU 列表显示每个显卡的型号、所在节点、总显存及当前分配模式。 2. 点击单个显卡以进入其详情页。 +![GPU 概览](/images/zh/manual/olares/gpu-overview.png#bordered) + ::: tip 注意 如果你的 Olares 集群中只有一块 GPU,进入 GPU 页面将直接跳转至详情页;若有多块 GPU,则会显示 GPU 列表。 ::: From 10ce9b44fc7c6eae2dbba831e2197c5a65e85dd3 Mon Sep 17 00:00:00 2001 From: cal-weng Date: Wed, 29 Oct 2025 17:16:55 +0800 Subject: [PATCH 5/6] add note on multi-GPU and improve accuracy --- docs/manual/olares/settings/gpu-resource.md | 20 +++++++++++++------ .../zh/manual/olares/settings/gpu-resource.md | 17 +++++++++------- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/docs/manual/olares/settings/gpu-resource.md b/docs/manual/olares/settings/gpu-resource.md index 81e32e748..c83672853 100644 --- a/docs/manual/olares/settings/gpu-resource.md +++ b/docs/manual/olares/settings/gpu-resource.md @@ -33,7 +33,8 @@ Olares supports three GPU allocation modes. Choosing the right mode helps optimi In this mode, a GPU can be bound to multiple applications and rotates execution in time slices. * At any instant, only one application uses all available compute and VRAM of the GPU. -* Other apps enter a wait queue; their CUDA and VRAM content will be swapped to the system memory. +* Other apps enter a wait queue; Their VRAM contents (e.g., CUDA context, etc.) may be temporarily swapped out to system memory. +* By default, GPUs run in time-slicing mode. Applications not assigned an exclusive GPU or dedicated VRAM will join the time-slicing queue when a time-slicing GPU is available. ### App Exclusive @@ -49,8 +50,10 @@ In this mode, VRAM of the GPU is partitioned into fixed quotas for multiple desi * The sum of quotas must not exceed physical VRAM of the bound GPU. Oversubscription is not supported. * Apps with quota assigned can run concurrently, each limited to its own quota. -:::tip Multi-GPU aggregation -You can bind multiple GPUs to one application within the same cluster to gain bigger VRAM. In such scenarios, only **App Exclusive** or **Memory Slicing** modes are supported. +:::tip Multi-GPU allocation +- All three allcation modes support assigning multiple GPUs to the same application. Olares only assigns multiple GPUs to the application’s container without fusing VRAM or compute in any way. Whether multi-GPU is utilized depends on the application/framework itself. + +- In multi-node environments, you can't assign multiple GPUs across nodes to the same application simultaneously. ::: ## View GPU status @@ -76,9 +79,9 @@ On the **GPU details** page, select your desired mode from the **GPU mode** drop ![Time slicing](/images/manual/olares/gpu-time-slicing.png#bordered) -:::tip Note -No manual pinning is required if you only have one GPU in your cluster. -::: + :::tip Note + No manual binding is required if you only have one GPU in your cluster. + ::: * **App Exclusive** 1. Select this mode from the GPU mode dropdown. @@ -93,5 +96,10 @@ No manual pinning is required if you only have one GPU in your cluster. 4. Repeat for other applications and click **Confirm**. ![VRAM slicing](/images/manual/olares/gpu-memory-slicing.png#bordered) +:::tip Unbinding GPU allocation +After binding GPUs to an application, you can release GPU resources by performing an unbind operation under the corresponding GPU mode. +::: + + ## Learn more - [Monitor GPU usage in Olares](../resources-usage.md) \ No newline at end of file diff --git a/docs/zh/manual/olares/settings/gpu-resource.md b/docs/zh/manual/olares/settings/gpu-resource.md index ee2a2d948..b8be318ff 100644 --- a/docs/zh/manual/olares/settings/gpu-resource.md +++ b/docs/zh/manual/olares/settings/gpu-resource.md @@ -32,7 +32,8 @@ Olares 提供三种分配方式,可按场景灵活选择。 在此模式下,单张显卡按时间分片分配给多个应用。 - 任一时刻仅一个应用占用全部算力与可用显存。 -- 其余应用进入等待队列,其 CUDA 及显存内容被换出至系统内存。 +- 其余应用进入等待队列,其显存内容(如 CUDA 上下文等)可被临时换出至系统内存。 +- 显卡默认处于时间分配模式。未被分配独占 GPU 或专属显存的应用,将默认加入时间分片队列(当有可用的时间分片显卡时)。 ### 应用独占模式 @@ -48,8 +49,9 @@ Olares 提供三种分配方式,可按场景灵活选择。 - 各配额之和不得超过对应显卡的物理显存。(暂不支持超订阅) - 获配额的应用可并行运行,且仅能使用自身配额。 -:::tip 多显卡合并 -在同一集群中,可将多张显卡绑定至同一应用以获取更大显存和算力;合并场景下仅支持应用独占或显存分片模式。 +:::tip 多显卡分配 +- 三种模式均支持为同一应用分配多张显卡。Olares 仅将多张显卡分配到应用所在的容器,不做显存/算力的融合;能否利用多卡取决于应用/框架本身。 +- 在多节点环境中,同一应用不可跨节点同时分配多张显卡。 ::: ## 查看显卡状态 @@ -76,15 +78,16 @@ Olares 提供三种分配方式,可按场景灵活选择。 2. 在**选择独占应用**下拉框中选择目标应用。 3. 点击**确认**。 ![独占](/images/zh/manual/olares/gpu-app-exclusive.png#bordered) -- **显存分片**: +* **显存分片**: 1. 在下拉菜单中选择该模式。 2. 在**分配显存**窗口,点击 **+ 添加应用**。 3. 选择目标应用,并指定分配给该应用的显存大小(以 GB 为单位)。 4. 如需为其他应用分配显存,可重复以上操作,然后点击**确认**。 ![显存分片](/images/zh/manual/olares/gpu-memory-slicing.png#bordered) - ::: tip 注意 - 分配的显存必须小于显卡总显存。 - ::: + +:::tip 解除绑定 +绑定应用后,如需释放显卡资源,可在相应的显卡模式下执行解绑操作。 +::: ## 了解更多 - [监控 Olares 中的显卡使用情况](../resources-usage.md) \ No newline at end of file From 26910b80b976644cd0fd6d03d252d0def83d989c Mon Sep 17 00:00:00 2001 From: cal-weng Date: Wed, 29 Oct 2025 19:37:55 +0800 Subject: [PATCH 6/6] resolve comments --- docs/manual/olares/settings/gpu-resource.md | 11 ++++++++--- docs/zh/manual/olares/settings/gpu-resource.md | 8 ++++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/docs/manual/olares/settings/gpu-resource.md b/docs/manual/olares/settings/gpu-resource.md index c83672853..6d98d7f62 100644 --- a/docs/manual/olares/settings/gpu-resource.md +++ b/docs/manual/olares/settings/gpu-resource.md @@ -34,7 +34,10 @@ In this mode, a GPU can be bound to multiple applications and rotates execution * At any instant, only one application uses all available compute and VRAM of the GPU. * Other apps enter a wait queue; Their VRAM contents (e.g., CUDA context, etc.) may be temporarily swapped out to system memory. -* By default, GPUs run in time-slicing mode. Applications not assigned an exclusive GPU or dedicated VRAM will join the time-slicing queue when a time-slicing GPU is available. + +:::info Default GPU allocation +By default, GPUs run in time-slicing mode. Applications without allocated GPU resources automatically join the time-sliced GPU queue. If no time-sliced GPU is available, the application pauses after a startup timeout. In this case, you need to allocate a GPU (for example, set a GPU to time-slicing mode, or assign a VRAM quota to the application), then manually resume the application. +::: ### App Exclusive @@ -96,8 +99,10 @@ On the **GPU details** page, select your desired mode from the **GPU mode** drop 4. Repeat for other applications and click **Confirm**. ![VRAM slicing](/images/manual/olares/gpu-memory-slicing.png#bordered) -:::tip Unbinding GPU allocation -After binding GPUs to an application, you can release GPU resources by performing an unbind operation under the corresponding GPU mode. +:::tip Unbinding +- After binding an GPU or its VRAM to an application, you can manually unbind it under the corresponding GPU mode to release GPU resources. + +- When you switch a GPU’s allocation mode, all applications allocated under that mode are unbound, and the application containers will restart. ::: diff --git a/docs/zh/manual/olares/settings/gpu-resource.md b/docs/zh/manual/olares/settings/gpu-resource.md index b8be318ff..6bb11f8a2 100644 --- a/docs/zh/manual/olares/settings/gpu-resource.md +++ b/docs/zh/manual/olares/settings/gpu-resource.md @@ -33,7 +33,10 @@ Olares 提供三种分配方式,可按场景灵活选择。 在此模式下,单张显卡按时间分片分配给多个应用。 - 任一时刻仅一个应用占用全部算力与可用显存。 - 其余应用进入等待队列,其显存内容(如 CUDA 上下文等)可被临时换出至系统内存。 -- 显卡默认处于时间分配模式。未被分配独占 GPU 或专属显存的应用,将默认加入时间分片队列(当有可用的时间分片显卡时)。 + +::: tip 默认显卡分配 +显卡默认处于时间分片模式。未被分配 GPU 资源的应用将自动加入时间分片显卡队列。若系统无可用时间分片显卡,应用会在启动超时后被暂停。此时,需先为应用分配显卡(如设置显卡为时间分片模式,或为应用分配显存)后,可手动恢复应用运行。 +::: ### 应用独占模式 @@ -86,7 +89,8 @@ Olares 提供三种分配方式,可按场景灵活选择。 ![显存分片](/images/zh/manual/olares/gpu-memory-slicing.png#bordered) :::tip 解除绑定 -绑定应用后,如需释放显卡资源,可在相应的显卡模式下执行解绑操作。 +- 绑定应用后,如需释放显卡资源,可在相应的显卡模式下手动执行解绑操作。 +- 切换某张显卡的分配模式时,显卡在该模式下分配的所有应用将被解除绑定,同时应用容器会重启。 ::: ## 了解更多