Describir: Snapshot and time-dependent inversions of basal sliding using automatic generation of adjoint code on graphics processing units