Transfer Fourier data and *k*-space mask to GPU. |

Initialize necessary temporary arrays on the GPU. |

Precompute outer and inner loop-independent factors. |

**outer loop ** **times:** |

** inner loop **** times:** |

(4) Minimize L2 norm by direct matrix inversion. |

(5) Update solution image. |

(6) “Shrink” TV of solution. |

(7) Update Bregman parameters. |

** end** |

(8) Update Fourier data matrix. |

(9) Update inner loop-independent matrices. |

**end ** |

(10) Transfer solution to CPU. |