Pašlaik nav tieša veida, kā atspējot GPU atmiņas preallocation Jax, neizmantojot vides mainīgos. Ieteicamā metode ietver vides mainīgā iestatīšanu `xla_python_client_preallocate` uz` 'false'` pirms Jax importēšanas. To var izdarīt vai nu jūsu Python skriptā, izmantojot `os.environ ['xla_python_client_preallocate'] = 'false'`, vai arī, iestatot to ārēji pirms skripta palaišanas ar` Export xla_python_client_preallocate = false` (Unix līdzīgas sistēmas) vai `iestatīt iestatīt Xla_python_client_preallocate = false` (uz logiem).
Tomēr ir svarīgi iestatīt šos vides mainīgos lielumus pirms Jax importēšanas, jo to iestatīšana pēc tam tam nebūs nekādas ietekmes [1] [3]. Nav iebūvētu Jax funkciju vai konfigurāciju, kas ļauj atspējot preallocation, neizmantojot vides mainīgos.
Ja rodas problēmas ar preallatikācijas atspējošanu jaunākās Jax versijās, tas varētu būt saistīts ar kļūdu, un ir ieteicams pārbaudīt jaunākās dokumentācijas vai izlaišanas piezīmes atjauninājumiem [9].
Atsauces:[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/deeplearning/dali/user-guide/docs/advanced_topics_performance_tuning.html
[9] https://github.com/jax-ml/jax/discussions/19014