I øjeblikket er der ingen direkte måde at deaktivere GPU -hukommelsesforudgående i JAX uden at bruge miljøvariabler. Den anbefalede metode involverer indstilling af miljøvariablen `xla_python_client_preallocate 'til`' falsk ', før du importerer Jax. Dette kan gøres enten inden for dit Python-script ved hjælp af `os.environ ['xla_python_client_preallocate'] = 'falsk' eller ved at indstille det eksternt, før du kører dit script med` Export XLA_Python_Client_Preallocate = False` (On Unix-lignende systemer) eller 'sæt Xla_python_client_preallocate = falsk` (på Windows).
Det er dog vigtigt at indstille disse miljøvariabler, før du importerer JAX, da indstilling af dem bagefter ikke har nogen effekt [1] [3]. Der er ingen indbyggede Jax-funktioner eller konfigurationer, der giver dig mulighed for at deaktivere preallocation uden at bruge miljøvariabler.
Hvis du støder på problemer med deaktivering af preallokation i nyere versioner af JAX, kan det skyldes en fejl, og at kontrollere den seneste dokumentations- eller frigivelsesnotater for opdateringer anbefales [9].
Citater:[1] https://github.com/jax-ml/jax/discussioner/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/deeplearning/dali/user-guide/docs/advanced_topics_performance_tuning.html
[9] https://github.com/jax-ml/jax/discussioner/19014