Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Aké sú environmentálne premenné používané na konfiguráciu priradenia pamäte Jax


Aké sú environmentálne premenné používané na konfiguráciu priradenia pamäte Jax


Ak chcete nakonfigurovať pridelenie pamäte Jax, je možné použiť niekoľko premenných prostredia:

1. `XLA_PYTHON_CLIENT_PREALLOCATE`: Táto premenná ovláda, či Jax predbežuje pamäť GPU. Nastavenie na „false` deaktivuje preallokáciu, čo spôsobí, že Jax podľa potreby pridelí pamäť. To však môže viesť k fragmentácii pamäte a nemusí fungovať vždy, ako sa očakávalo v niektorých verziách Jax [1] [3] [5].

2. `XLA_PYTHON_CLIENT_MEM_FRACTION`: Táto premenná určuje percento celkovej pamäte GPU, ktorú by mal JAX predbehnúť. Napríklad jeho nastavenie na `.10` bude predvídať 10% pamäte GPU. To môže pomôcť vyhnúť sa chybám mimo pamäte, ale môže viesť k varovaniam OOM, ak sa nebude riadne riadiť [1] [3] [5].

3. `XLA_PYTHON_CLIENT_ALLOCATOR = Platform`: Toto nastavenie robí JAX presne prideľuje to, čo je potrebné na požiadanie, a uviesť pamäť, ktorá už nie je potrebná. Aj keď sa neodporúča na všeobecné použitie z dôvodu pomalého výkonu, môže byť užitočné na ladenie alebo minimalizáciu využitia pamäte GPU [1] [3].

Tieto premenné je možné nastaviť pred spustením vašej aplikácie Jax, aby ste prispôsobili správanie prideľovania pamäte. Niektorí používatelia však hlásili nekonzistentné správanie s týmito nastaveniami v určitých verziách Jax [5] [9].

Citácie:
[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/maaple/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-cingAcation