sfmpigpufwi (2.0-git)
CUDA based FWI using Enquist absorbing boundary condition

        sfmpigpufwi < vinit.rsf shots=shots.rsf > vupdates.rsf grads=grads.rsf objs=objs.rsf illums=illums.rsf verb=y precon=n niter=100 rbell=2

Note: You can try other complex boundary condition but we do not
recommend to do so. The main reason is that FWI is to recover
the low-frequency information of the earth model. Low-freq
means that exact absorbing is not necessarilly needed. The
result will be improved with the optimization precedure.
Furthermore, complex boundary condition (such as sponge ABC or
PML) implies more computational cost, which will degrade the
efficiency of FWI.

file grads=
auxiliary output file name
file illums=
auxiliary output file name
int niter=100
number of iterations
file objs=
auxiliary output file name
bool precon=n [y/n]
precondition or not
int rbell=2
radius of bell smooth
file shots=
auxiliary input file name
bool verb=y [y/n]