Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Vilka är de miljövariabler som används för att konfigurera Jax -minnesallokering


Vilka är de miljövariabler som används för att konfigurera Jax -minnesallokering


För att konfigurera JAX -minnesallokering kan flera miljövariabler användas:

1. `xla_python_client_preallocate`: Denna variabel styr huruvida Jax Preallocates GPU -minne. Att ställa in det för att "falska" inaktiverar preallokation, vilket får Jax att fördela minne vid behov. Detta kan emellertid leda till minnesfragmentering och kanske inte alltid fungerar som förväntat i vissa versioner av JAX [1] [3] [5].

2. `XLA_PYTHON_CLIENT_MEM_FRACTION`: Denna variabel specificerar procentandelen av det totala GPU -minnet som JAX ska förplantas. Till exempel kommer det att införa den till `.10 '10% av GPU -minnet. Detta kan hjälpa till att undvika fel i minnet men kan leda till OOM-varningar om de inte hanteras ordentligt [1] [3] [5].

3. `XLA_PYTHON_CLIENT_ALLOCATOR = Platform`: Denna inställning gör att JAX tilldelar exakt vad som behövs på begäran och återlämnar minne som inte längre behövs. Även om det inte rekommenderas för allmänt bruk på grund av dess långsamma prestanda, kan det vara användbart för felsökning eller minimera GPU -minnesanvändning [1] [3].

Dessa variabler kan ställas in innan du kör din JAX -applikation för att anpassa dess minnesallokeringsbeteende. Vissa användare har emellertid rapporterat inkonsekvent beteende med dessa inställningar i vissa versioner av JAX [5] [9].

Citeringar:
[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