A general purpose graphics processor, comprising: a plurality of streaming multiprocessors, SMs, comprising a local cache memory (765, 624) and a plurality of processing resources; at least one processing resource configured to: receive one or more frames for a workload and assign the one or more frames to one or more of the plurality of SMs; determine one or more compute resource parameters for the workload and store the one or more compute resource parameters in the local cache memory (765, 624); receive additional one or more frames for the workload; retrieve the one or more compute resource parameters from the local cache memory; use the processing resource parameters to schedule processing resources to process the additional one or more frames for the workload; and delete the compute resource parameters in the local cache memory (765, 624) when the workload is finished; wherein performance parameters of frames being processed are monitored, and wherein the processing resources for the workload are reduced for subsequent frames for the workload if the processing resources for the workload are excessive, and are increased if the processing resources are insufficient. a plurality of streaming multiprocessors, SMs, comprising a local cache memory (765, 624) and a plurality of processing resources; at least one processing resource configured to: receive one or more frames for a workload and assign the one or more frames to one or more of the plurality of SMs; determine one or more compute resource parameters for the workload and store the one or more compute resource parameters in the local cache memory (765, 624); receive additional one or more frames for the workload; retrieve the one or more compute resource parameters from the local cache memory; use the processing resource parameters to schedule processing resources to process the additional one or more frames for the workload; and delete the compute resource parameters in the local cache memory (765, 624) when the workload is finished; wherein performance parameters of frames being processed are monitored, and wherein the processing resources for the workload are reduced for subsequent frames for the workload if the processing resources for the workload are excessive, and are increased if the processing resources are insufficient. receive one or more frames for a workload and assign the one or more frames to one or more of the plurality of SMs; determine one or more compute resource parameters for the workload and store the one or more compute resource parameters in the local cache memory (765, 624); receive additional one or more frames for the workload; retrieve the one or more compute resource parameters from the local cache memory; use the processing resource parameters to schedule processing resources to process the additional one or more frames for the workload; and delete the compute resource parameters in the local cache memory (765, 624) when the workload is finished; wherein performance parameters of frames being processed are monitored, and wherein the processing resources for the workload are reduced for subsequent frames for the workload if the processing resources for the workload are excessive, and are increased if the processing resources are insufficient.