Atualmente, não existe uma maneira direta de desativar a pré -allocação de memória da GPU no JAX sem usar variáveis de ambiente. O método recomendado envolve a definição da variável de ambiente `xla_python_client_preallocate` para` 'false' antes de importar Jax. Isso pode ser feito dentro do seu script python usando `os.environ ['xla_python_client_preallocate'] = 'false' 'ou definindo-o externamente antes de executar seu script com` exportar xla_python_client_preallocate = false` (em sistemas unix-tipo) ou `set Xla_python_client_preallocate = false` (no Windows).
No entanto, é crucial definir essas variáveis de ambiente antes de importar o JAX, pois defini -las depois não terá efeito [1] [3]. Não há funções ou configurações Jax integradas que permitam desativar a pré-realocação sem o uso de variáveis de ambiente.
Se você encontrar problemas com a pré -allocação desativada em versões mais recentes do JAX, pode ser devido a um bug, e a verificação da documentação ou anotações mais recentes para atualizações é aconselhável [9].
Citações:[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.
[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