Memory ordering in CPUs
I frequently see statements about differences between strongly ordered architectures (like x86 or SPARC) and weakly ordered architectures (like ARM or RISC-V), with the confident assertion that weakl…
When I grow up I'll be an inventor.
Mirror of http://fgiesen.wordpress.com/feed/, bridged by rss2.pub.
I frequently see statements about differences between strongly ordered architectures (like x86 or SPARC) and weakly ordered architectures (like ARM or RISC-V), with the confident assertion that weakl…
I wrote ryg_rans in 2014. I still regularly get questions and patch submissions from people who want to use it as a library. That is not what it’s for! ryg_rans is not a library, never was. It’s a to…
There’s a new paper out called “PivCo-Huffman” (HTML version with annotations here) and it’s very interesting. Normal Huffman decoding (and, to a lesser extent, encoding) is inherently quite serial.…
Unary codes are a form of universal variable-length code (UVLC) that are sometimes used on their own but more commonly used as a building block for more general families of UVLCs like Golomb, Rice or…
The ASTC texture compression format has its “integer sequence encoding” to send small integers with a uniform probability distribution within their range. When that value range is [0,2k-1] for some i…
Nobody should voluntarily call themselves that. “Content” is the language of people on the distribution side of things. If you look at something like a 19th century newspaper it’s mostly a logistics…
There’s a hardware problem affecting Intel 13th/14th gen CPUs, mostly desktop ones. This made the rounds through the press last year and has been on forums etc. for much longer than that. For months,…
I mentioned in a previous post that doing exact UNORM or SNORM conversions to float in hardware was not particularly expensive, but didn’t go into detail how. Let’s rectify that! (If you haven’t read…
For BC6H encoding in Oodle Texture, we needed a sensible error metric to use in the encoder core. BC6H is HDR which is more challenging than LDR data since we need to handle vast differences in magni…
GPUs support UNORM formats that represent a number inside [0,1] as an 8-bit unsigned integer. In exact arithmetic, the conversion to a floating-point number is straightforward: take the integer and d…