  Inverse rendering seeks to estimate scene characteristics from a set of data
images. The dominant approach is based on differential rendering using
Monte-Carlo. Algorithms as such usually rely on a forward model and use an
iterative gradient method that requires sampling millions of light paths per
iteration. This paper presents an efficient framework that speeds up existing
inverse rendering algorithms. This is achieved by tailoring the iterative
process of inverse rendering specifically to a GPU architecture. For this
cause, we introduce two interleaved steps - Path Sorting and Path Recycling.
Path Sorting allows the GPU to deal with light paths of the same size. Path
Recycling allows the algorithm to use light paths from previous iterations to
better utilize the information they encode. Together, these steps significantly
speed up gradient optimization. In this paper, we give the theoretical
background for Path Recycling. We demonstrate its efficiency for volumetric
scattering tomography and reflectometry (surface reflections).
