Agner Fog

Agner Fog is a Danish evolutionary anthropologist and computer scientist. He is currently an Associate Professor of computer science at the Technical University of Denmark (DTU), and has been present at DTU since 1995. He is best known for coining the term "Regality Theory" and for writing extensive optimization manuals for machines running the x86 architecture.[1][2]

Agner Fog
Alma mater
Website Edit this on Wikidata

Social sciencesEdit

Agner Fog is the main investigator of Regality Theory, the proposition that the environment a group is in selects for certain psychological traits. As a result, a harsher environment selects for more regal (warlike) social structures while a safer environment selects for more kungic (peaceful) ones.[3]

Programming and mathematicsEdit


Agner Fog is known as a "CPU analyst" to tech websites covering x86 CPUs.[2][4] He maintains a five-volume manual for optimizing code for x86 CPUs, with details on the instruction timing and other features of individual microarchitectures. He also maintains a Vector Class Library for SIMD math, an assembly subroutine library ("asmlib"), as well as many other utilities.[5]

Agner Fog has also written extensively on the behavior of Intel C++ Compiler and Intel MKL on non-Intel CPUs, coining the term "cripple AMD" to describe the bias.[6]

Other subjectsEdit

Fog has written a few pseudorandom number generators with a variety of distributions, with a focus on performance (SIMD) and correctness with regard to floating-point behavior and statistical properties. These are used in simulations for his anthropology research.[7]


  1. ^ "Agner Fog". DTU. Retrieved 2019-05-03.
  2. ^ a b "AMD Replaces Ryzen CPUs for Users Affected By Rare Linux Bug". ExtremeTech.
  3. ^ Warlike and Peaceful Societies : the Interaction of Genes and Culture. Fog, Agner. (1 ed.). UK. ISBN 9781783744039. OCLC 1012158524.CS1 maint: others (link)
  4. ^ Gelas, Johan De. "the x86 instruction proprietary extensions: a waste of time, money and energy". AnandTech.
  5. ^ "Software optimization resources. C++ and assembly. Windows, Linux, BSD, Mac OS X". Agner Fog.
  6. ^ "Intel's "cripple AMD" function". Agner`s CPU blog. 2009.
  7. ^ "Pseudo random number generators".