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
Our DFT function considers only a single molecule. We could compute DFT for a batch of molecules using jax.vmap.
Problem: This consumes more on-chip memory.
Idea: Take a molecule a. Construct molecule b by modifying the position a single atom. Most floats we need to store for a and b overlap: only O(N^3) floats will differ. If the molecule has n_atom<64 atoms we could then make batch_size=64<n_atom such "one-atom" perturbations while increasing memory consumption by only batch_size*n_atom^3.
Note: From deep learning perspective this feels similar to data augmentation. From DFT we are just re-using stuff when doing batch_size=64 similar DFTs.
The text was updated successfully, but these errors were encountered:
AlexanderMath
changed the title
Memory-aware jax.vmap(nanoDFT)
Data augmentation aware jax.vmap(nanoDFT)Sep 4, 2023
AlexanderMath
changed the title
Data augmentation aware jax.vmap(nanoDFT)
Molecule similarity aware jax.vmap(nanoDFT)Sep 4, 2023
Note: Consider GD wrt density_matrix as in D4FT. If we instead do GD wrt NN(mol)=dm and then DFT_energy(NN(mol)) a single DFT iteration is sufficient to evaluate how well NN did.
Note: This also works if we change within {C,N,O,F}.
Our DFT function considers only a single molecule. We could compute DFT for a batch of molecules using
jax.vmap
.Problem: This consumes more on-chip memory.
Idea: Take a molecule
a
. Construct moleculeb
by modifying the position a single atom. Most floats we need to store fora
andb
overlap: onlyO(N^3)
floats will differ. If the molecule hasn_atom<64
atoms we could then makebatch_size=64<n_atom
such "one-atom" perturbations while increasing memory consumption by onlybatch_size*n_atom^3
.Note: From deep learning perspective this feels similar to data augmentation. From DFT we are just re-using stuff when doing
batch_size=64
similar DFTs.The text was updated successfully, but these errors were encountered: