acm-header
Sign In

Communications of the ACM

Blogroll


bg-corner

Science and Technology links (September 15th, 2018)
From Daniel Lemire's Blog

Science and Technology links (September 15th, 2018)

I was told repeatedly throughout my life that the normal body temperature was 37.5°C. This estimate is over a hundred years old and flawed. It is off by one degree...

Science and Technology links (September 8th, 2018)
From Daniel Lemire's Blog

Science and Technology links (September 8th, 2018)

Most research articles are not available for free to the public, even when the research was fully funded by the public. To legally access research articles, one...

AVX-512: when and how to use these new instructions
From Daniel Lemire's Blog

AVX-512: when and how to use these new instructions

Our processors typically do computations using small data stores called registers. On 64-bit processors, 64-bit registers are frequently used. Most modern processors...

Per-core frequency scaling and AVX-512: an experiment
From Daniel Lemire's Blog

Per-core frequency scaling and AVX-512: an experiment

Intel has fancy new instructions (AVX-512) that are powerful, in part for heavy numerical work. When a core uses these heaviest of these new instructions, the core...

Science and Technology links (September 1st, 2018)
From Daniel Lemire's Blog

Science and Technology links (September 1st, 2018)

Our PCs and servers run x64 processors, most of them made by Intel and AMD. In my home, all my x64 processors are made by Intel… except the processor of my PlayStation...

Lexicographical comparisons vs. equality checks: the long-string case
From Daniel Lemire's Blog

Lexicographical comparisons vs. equality checks: the long-string case

It is a common problem in software to check whether two pieces of data are byte-by-byte identical. Standard libraries provide function to compute a lexicographical...

AVX-512 throttling: heavy instructions are maybe not so dangerous
From Daniel Lemire's Blog

AVX-512 throttling: heavy instructions are maybe not so dangerous

Recent Intel processors have fancy instructions operating over 512-bit registers. They are reported to cause a frequency throttling of the core where they are run...

Science and Technology links (August 24th, 2018)
From Daniel Lemire's Blog

Science and Technology links (August 24th, 2018)

There is water on the surface of the Moon. This is important because if you want to build a long-term base on the Moon, having access to water is a great asset....

Trying harder to make AVX-512 look bad: my quantified and reproducible results
From Daniel Lemire's Blog

Trying harder to make AVX-512 look bad: my quantified and reproducible results

Intel’s latest processors have fancy instructions part of the AVX-512 family. The AVX-512 instructions are useful for numerical work and sophisticated computing...

Avoid lexicographical comparisons when testing for string equality
From Daniel Lemire's Blog

Avoid lexicographical comparisons when testing for string equality

By default, programmers like to compare their bytes and strings using a lexicographical order. “Lexicographical” is a fancy word for “dictionary order”. That is...

Performance of ranged accesses into arrays: modulo, multiply-shift and masks
From Daniel Lemire's Blog

Performance of ranged accesses into arrays: modulo, multiply-shift and masks

Suppose that you wish to access values in an array of size n, but instead of having indexes in [0,n), you have arbitrary non-negative integers. This sort of problems...

Science and Technology links (August 19th, 2018)
From Daniel Lemire's Blog

Science and Technology links (August 19th, 2018)

Publishing your ideas is a central component of science and scholarship. To make it easier to publish, some companies and organizations have begun to offer pay-to...

The dangers of AVX-512 throttling: a 3% impact
From Daniel Lemire's Blog

The dangers of AVX-512 throttling: a 3% impact

Intel’s latest processors come with powerful new instructions from the AVX-512 family. These instructions operate over 512-bit registers. They use more power than...

Fast strongly universal 64-bit hashing everywhere!
From Daniel Lemire's Blog

Fast strongly universal 64-bit hashing everywhere!

In software, hashing is the process of taking a value and mapping it to a random-looking value. Suppose you are given 64-bit integers (a long in Java). You might...

The dangers of AVX-512 throttling: myth or reality?
From Daniel Lemire's Blog

The dangers of AVX-512 throttling: myth or reality?

Modern processors use many tricks to go faster. They are superscalar which means that they can execute many instructions at once. They are multicore, which means...

Science and Technology links (August 10th, 2018)
From Daniel Lemire's Blog

Science and Technology links (August 10th, 2018)

There are far fewer forest fires now than there was 15 years ago. The Earth is getting greener. There are more forests: We show that—contrary to the prevailingContinue...

Science and Technology links (August 4th, 2018)
From Daniel Lemire's Blog

Science and Technology links (August 4th, 2018)

About 80% of the ocean remains unmapped and unexplored. Even a mild concussion (a fall on your head) can double your risk of dementia (e.g., Alzheimer’s). Apple...

Getting 4 bytes or a full cache line: same speed or not?
From Daniel Lemire's Blog

Getting 4 bytes or a full cache line: same speed or not?

Many software operations are believed to be “memory bound”, meaning that the processor spins empty while waiting for data to come from memory. To compensate, our...

Science and Technology links (July 27th, 2018)
From Daniel Lemire's Blog

Science and Technology links (July 27th, 2018)

It is frequently argued that intelligence requires great complexity. But complex compared to what? To put things in perspective, my friend Leonid points out that...

Writing about software and building software are different jobs
From Daniel Lemire's Blog

Writing about software and building software are different jobs

Code taken from a blog post is meant to illustrate an idea. Blogging is literature, not engineering. Don’t build production systems by copying and pasting random...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account