Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Mohu zakázat preallokaci v JAX bez použití proměnných prostředí


Mohu zakázat preallokaci v JAX bez použití proměnných prostředí


V současné době neexistuje žádný přímý způsob, jak deaktivovat preallokaci paměti GPU v JAX bez použití proměnných prostředí. Doporučená metoda zahrnuje nastavení proměnné prostředí `xla_python_client_preallocate` na` 'false'` před importem JAX. To lze provést buď v rámci vašeho skriptu Python pomocí `os.environ ['xla_python_client_preallocate'] = 'false'` nebo jeho nastavením externě před spuštěním skriptu s` export xla_python_client_preallocate = false` false` false` false` (na unix-like) nebo `sad) nebo` sad) nebo `sad) nebo` sad) nebo ` Xla_python_client_preallocate = false` (na Windows).

Před importem JAX je však zásadní nastavit tyto proměnné prostředí, protože jejich nastavení nebude mít žádný účinek [1] [3]. Neexistují žádné vestavěné funkce JAX nebo konfigurace, které vám umožňují deaktivovat preallokaci bez použití proměnných prostředí.

Pokud narazíte na problémy s deaktivace preallokace v novějších verzích JAX, může to být způsobeno chybou a je vhodné zkontrolovat nejnovější dokumentaci nebo poznámky o vydání [9].

Citace:
[1] https://github.com/jax-ml/jax/discussions/21962
[2] https://learn.microsoft.com/en-us/windows/win32/msi/environment-toble
[3] https://jax.readthedocs.io/en/latest/gpu_memory_allocation.html
[4] https://docs.jax.dev/en/latest/jep/4410-omnistaging.html
[5] https://kolonist26-jax-kr.readthedocs.io/en/latest/gpu_memory_allocation.html
[6] https://developer.jboss.org/thread/215838
[7] https://crikit.science/documentation/ad_systems/
[8] https://docs.nvidia.com/deeplearning/dali/user-guide/docs/advanced_topics_performance_tuning.html
[9] https://github.com/jax-ml/jax/discussions/19014