You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
My machine has a 12-core/24 thread CPU. By default, antechamber spins up 24 threads to charge a molecule. I've found that performance is much better with only 8 threads (~2-4x speedup), though I haven't carefully tested how this varies.
Describe the solution you'd like
Antechamber's threading behaviour can be controlled with the OMP_NUM_THREADS environment variable. When Antechamber is called in assign_partial_charges, this environment variable should be set to a small number (say, n_threads/3) if it is not already set in the environment. IIRC this variable can be set with the subprocessing.run(env: dict) argument so that it doesn't leak to other processes.
In addition, AmberToolsToolkitWrapper() and/or assign_partial_charges() could take an optional n_threads argument that overrides the environment variable.
Describe alternatives you've considered
We could just document this behavior and how it can be configured.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
My machine has a 12-core/24 thread CPU. By default, antechamber spins up 24 threads to charge a molecule. I've found that performance is much better with only 8 threads (~2-4x speedup), though I haven't carefully tested how this varies.
Describe the solution you'd like
Antechamber's threading behaviour can be controlled with the
OMP_NUM_THREADS
environment variable. When Antechamber is called inassign_partial_charges
, this environment variable should be set to a small number (say,n_threads/3
) if it is not already set in the environment. IIRC this variable can be set with thesubprocessing.run(env: dict)
argument so that it doesn't leak to other processes.In addition,
AmberToolsToolkitWrapper()
and/orassign_partial_charges()
could take an optionaln_threads
argument that overrides the environment variable.Describe alternatives you've considered
We could just document this behavior and how it can be configured.
The text was updated successfully, but these errors were encountered: