Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kokie yra aplinkos kintamieji, naudojami Jax atminties paskirstymo konfigūravimui


Kokie yra aplinkos kintamieji, naudojami Jax atminties paskirstymo konfigūravimui


Norint sukonfigūruoti JAX atminties paskirstymą, gali būti naudojami keli aplinkos kintamieji:

1. `Xla_python_client_preallocate`: Šis kintamasis kontroliuoja, ar Jaxas išankstinis GPU atmintis. Nustatydami jį į „klaidingą“, išjungiama išankstinė dalis, todėl Jax prireikus paskirs atmintį. Tačiau tai gali sukelti atminties suskaidymą ir ne visada gali veikti taip, kaip tikėtasi kai kuriose JAX versijose [1] [3] [5].

2. `xla_python_client_mem_fraction`: Šis kintamasis nurodo bendros GPU atminties procentą, kurį„ Jax “turėtų iš anksto ištarti. Pvz., Nustatydami jį į „.10“, 10% GPU atminties bus iš anksto. Tai gali padėti išvengti atmintyje esančių klaidų, tačiau gali sukelti OOM įspėjimus, jei jie nebus tinkamai valdomi [1] [3] [5].

3. `xla_python_client_allocator = Platform`: Šis nustatymas verčia JAX paskirstyti tai, ko reikia pareikalavimui, ir atsiminimų atminčiai, kurios nebereikia. Nors tai nerekomenduojama naudoti bendrai naudoti dėl lėto našumo, jis gali būti naudingas derinant ar sumažinant GPU atminties naudojimą [1] [3].

Šiuos kintamuosius galima nustatyti prieš paleidžiant „Jax“ programą, kad pritaikytumėte jos atminties paskirstymo elgseną. Tačiau kai kurie vartotojai pranešė apie nenuoseklų elgesį su šiais nustatymais tam tikrose JAX versijose [5] [9].

Citatos:
[1] https://kolonist26-Jax-kr.readthedocs.io/en/latest/gpu_memory_allocation.html
[2] https://docs.nvidia.com/deeplearning/dali/user-guide/docs/advanced_topics_performance_tuning.html
[3] https://jax.readthedocs.io/en/latest/gpu_memory_allocation.html
[4] https://docs.jax.dev/en/latest/installation.html
[5] https://github.com/google/jax/issues/19267
[6] https://www.maplesoft.com/support/help/maple/view.aspx?path=envvar
[7] https://docs.jax.dev/en/latest/faq.html
[8] https://github.com/google/jax/issues/1491
[9] https://github.com/google/jax/issues/19035
[10] https://stackoverflow.com/questions/73322760/jax-gpu-memory-usage-even-with-cpu-Allocation