Patent ID: 8458635

Claim:
A method for performing a convolution of a kernel at evaluation points in a layout using a multi-processor having shared memory, comprising: loading layout data specifying a sector of the layout in the shared memory of the multi-processor, the sector including data specifying a portion of the layout relevant to a convolution of the kernel for a plurality of evaluation points, the layout data for the sector having a size that depends on locations of the evaluation points in the sector; and performing a convolution operation of the kernel and the layout data for the plurality of evaluation points in the sector; the convolution operation including iteratively loading parts of a basis data set into space available in the shared memory, the parts of the basis data set loaded for iterations of the convolution operation being sized based on the space available given the size of the layout data specifying the sector, the basis data set comprising a function of the kernel and the layout data, and executing one or more threads in the multi-processor using the layout data for the sector and a currently loaded part of the basis data set in the shared memory, until the plurality of evaluation points in the sector is evaluated over the basis data set.