1. A non-transitory, tangible, computer readable medium storing computer-readable instructions that, when executed by a processor perform a method for seismic modeling on a GPU having a GPU memory comprising: a. creating a discretized model; b. dividing the discretized model into a selected number of domain subsets, the domain subsets numbered from a first domain subset to a last domain subset; c. determining a selected number of time steps corresponding to a first time level, the time steps being numbered from a first time step to a last time step, the last time step corresponding to the final time step of the first time level; d. initializing data to the GPU memory; e. adding a data element corresponding to a higher numbered domain subset at an initial time step of the first time level to the GPU memory, the initial time step being the time step prior to the first time step of the first time level; f. calculating a result corresponding to the next lower numbered domain subset at the next later time step; g. repeating operation f until a result is calculated for the final time step of the first time level or until a result is calculated for the first domain subset; h. repeating operations e-g until the added data element corresponds with the last domain subset; i. repeating operations f-g until a result is calculated for the last domain subset for the final time step of the first time level.