Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Milyen környezeti változók vannak a JAX memória allokációjának konfigurálásához


Milyen környezeti változók vannak a JAX memória allokációjának konfigurálásához


A JAX memória allokációjának konfigurálásához több környezeti változó használható:

1. A „hamis” beállítása letiltja a preallokációt, ami miatt a JAX szükség szerint elosztja a memóriát. Ez azonban a memória fragmentációjához vezethet, és a JAX egyes verzióiban nem mindig működhet a várt módon [1] [3] [5].

2. Például, ha azt a .10 -re állítja, a GPU memóriájának 10% -át prealmatálja. Ez segíthet elkerülni a memórián kívüli hibákat, de OOM figyelmeztetéseket okozhat, ha nem megfelelően kezelik [1] [3] [5].

3. Noha a lassú teljesítmény miatt nem ajánlott általános felhasználásra, hasznos lehet a GPU memória használatának hibakeresésében vagy minimalizálásában [1] [3].

Ezeket a változókat beállíthatjuk a JAX alkalmazás futtatása előtt a memóriaelosztási viselkedés testreszabására. Néhány felhasználó azonban a JAX bizonyos verzióiban következetlen viselkedést jelentett ezekkel a beállításokkal [5] [9].

Idézetek:
[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-thocation