Explore >> Select a destination


You are here

www.bazhenov.me
| | ashvardanian.com
12.6 parsecs away

Travel
| | David Patterson had recently mentioned that (rephrasing): The programmers may benefit from using complex instruction sets directly, but it is increasingly challenging for compilers to automatically generate them in the right spots. In the last 3-4 years I gave a bunch of talks on the intricacies of SIMD programming, highlighting the divergence in hardware and software design in the past ten years. Chips are becoming bigger and more complicated to add more functionality, but the general-purpose compilers like GCC, LLVM, MSVC and ICC cannot keep up with the pace. Hardly any developer codes in Assembly today, hoping that the compiler will do the heavy lifting.
| | travisdowns.github.io
12.0 parsecs away

Travel
| | Incrementing vector for various T may not perform as you'd expect.
| | coredumped.dev
10.5 parsecs away

Travel
| | In this post, we are going to take a deep dive into pointer tagging, where metadata is encoded into a word-sized pointer. Doing so allows us to keep a compact representation that can be passed around in machine registers. This is very common in implementing dynamic programming languages, but can really be used anywhere that additional runtime information is needed about a pointer. We will look at a handful of different ways these pointers can be encoded and see how the compiler can optimize them for diff...
| | gustedt.wordpress.com
88.7 parsecs away

Travel
| C99 allows to define a flexible array member as the last member of a struct, namely an array of undetermined length. Such a struct can then allocated on the heap with a suitable size such that the field data has as much elements as fit in the allocated space from the start of data onward....