Momenteel is er geen directe manier om GPU -geheugen preallocatie in JAX uit te schakelen zonder omgevingsvariabelen te gebruiken. De aanbevolen methode omvat het instellen van de omgevingsvariabele `xla_python_client_preallocate` op` 'false' 'voordat u JAX importeert. Dit kan worden gedaan in uw python-script met behulp van `os.environ ['xla_python_client_preallocate'] = 'false'`` of door het extern in te stellen voordat u uw script uitvoert met` export xla_python_client_prealLocate = false' (op unix-like systemen) of `set Xla_python_client_preallocate = false` (op Windows).
Het is echter cruciaal om deze omgevingsvariabelen in te stellen voordat u JAX importeert, omdat het instellen ervan geen effect heeft [1] [3]. Er zijn geen ingebouwde JAX-functies of configuraties waarmee u preallocatie kunt uitschakelen zonder omgevingsvariabelen te gebruiken.
Als u problemen ondervindt met het uitschakelen van preallocatie in nieuwere versies van JAX, kan dit te wijten zijn aan een bug en het controleren van de nieuwste documentatie of release -notities voor updates is raadzaam [9].
Citaten:[1] https://github.com/jax-ml/jax/discussions/21962
[2] https://learn.microsoft.com/en-us/windows/win32/msi/environment-table
[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/deepleParining/dali/user-guide/docs/advanced_topics_performance_tuning.html
[9] https://github.com/jax-ml/jax/discussions/19014