Agner Fog is a Danish
evolutionary anthropologist and
computer scientist
A computer scientist is a person who is trained in the academic study of computer science.
Computer scientists typically work on the theoretical side of computation, as opposed to the hardware side on which computer engineers mainly focus (al ...
. 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.
Social sciences
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.
Programming and mathematics
Optimization
Agner Fog is known as a "CPU analyst" to tech websites covering x86 CPUs.
[ He maintains a five-volume manual for optimizing code for x86 CPUs, with details on the instruction timing and other features of individual ]microarchitecture
In computer engineering, microarchitecture, also called computer organization and sometimes abbreviated as µarch or uarch, is the way a given instruction set architecture (ISA) is implemented in a particular processor. A given ISA may be impl ...
s. He also maintains a Vector Class Library for SIMD math, an assembly subroutine library ("asmlib"), as well as many other utilities.
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.
Vector Class Library
Agner Fog is the main author of the C++ Vector Class Library. This is an open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
C++ class library for optimizing SIMD code.
ForwardCom instruction set
Agner Fog has designed the ForwardCom instruction set. This is a high performance open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
CPU Instruction set architecture
In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an ' ...
with variable-length vector registers. The instruction set is neither RISC
In computer engineering, a reduced instruction set computer (RISC) is a computer designed to simplify the individual instructions given to the computer to accomplish tasks. Compared to the instructions given to a complex instruction set comput ...
nor CISC, but a compromise with few instructions and many variants of each instruction.
Other subjects
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.
References
{{DEFAULTSORT:Fog, Agner
Free software programmers
Danish computer programmers
Danish social scientists
Living people
Year of birth missing (living people)