acm-header
Sign In

Communications of the ACM

Blogroll


bg-corner

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...

It is more complicated than I thought: -mtune, -march in GCC
From Daniel Lemire's Blog

It is more complicated than I thought: -mtune, -march in GCC

My favourite C compilers are GNU GCC and LLVM’s Clang. In C, you compile for some architecture. Thus you have to tell the compiler what kind of machine you have...

Are vectorized random number generators actually useful?
From Daniel Lemire's Blog

Are vectorized random number generators actually useful?

Our processors benefit from “SIMD” instructions. These instructions can operate on several values at once, thus greatly accelerating some algorithms. Earlier, I...

Science and Technology links (July 21st, 2018)
From Daniel Lemire's Blog

Science and Technology links (July 21st, 2018)

It seems that something called “Cartesian Genetic Programming” could be a match for Deep Learning. If you look at the best paid individuals in most fields, most...

Accelerating Conway’s Game of Life with SIMD instructions
From Daniel Lemire's Blog

Accelerating Conway’s Game of Life with SIMD instructions

Conway’s Game of Life is one of the simplest non-trivial simulation one can program. It simulates the emergence of life from chaos. Though the rules are simple,...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account