GPU code fails on low cutoffs with real wave functions
This works for first 10 iterations until something goes wrong. Reproducible both with A100 and A4000. Probably some synchronize is missing, and the low ecut triggers it.
from gpaw import GPAW
import numpy as np
from gpaw.gpu import setup
setup()
from ase.build import bulk
from gpaw.new.ase_interface import GPAW
for gpu in reversed([True, False]):
atoms = bulk('C', 'diamond')# * (n, n, n)
atoms.calc = GPAW(xc='LDA',
mode={"name": "pw", "ecut": 200},
parallel={'gpu':gpu}, txt=f'{gpu}.txt')
atoms.get_potential_energy()
With ecut=800 this works just fine.