1. A method, comprising: encoding a data with a first encoding scheme to produce an ordered set of values comprising a first value, a second value, and a third value, the first value preceding the second value and the third value in the ordered set, the second value preceding the third value in the ordered set; executing a first thread on a graphics processing unit (GPU) to encode the first value with a second encoding scheme, based on the first value and a reference value, the reference value being separate from the data and the ordered set of values; while executing the first thread on the GPU, executing a second thread on the GPU to encode the second value with the second encoding scheme, based on the second value and the first value; while executing the first thread on the GPU, executing a third thread on the GPU to encode the third value with the second encoding scheme, based on the third value and the second value; and storing the encoded first, second, and third values in a memory location.