acm-header
Sign In

Communications of the ACM

Blogroll


bg-corner

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

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

Science and Technology links (July 15th, 2018)

The majority of people dying are 80 years old or older. A heart-disease drug can partially reverse type 1 diabetes. We can at least partially reverse age-related...

Are fungi making us sick?
From Daniel Lemire's Blog

Are fungi making us sick?

Fungi are everywhere. Yeasts, molds, mushrooms. We eat them. They live on our skin. But are they making us sick? That’s a theory strongly held by Martin Laurence...

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

Science and Technology links (July 6th, 2018)

In the United Kingdom, only a tiny minority of high school female students take computer science (0.4% in 2017). Physics is ten times more popular. Russians once...

How quickly can you compute the dot product between two large vectors?
From Daniel Lemire's Blog

How quickly can you compute the dot product between two large vectors?

A dot (or scalar) product is a fairly simple operation that simply sums the many products: float sum = 0; for (size_t i = 0; i < len; i++) { sum += x1[i] * x2[i]...

Income, wealth, intelligence and the fall of the American empire
From Daniel Lemire's Blog

Income, wealth, intelligence and the fall of the American empire

Arcand‘s latest movie (the Fall of the American Empire) depicts a young man (Pierre-Paul Daoust) who is supposedly very intelligent, but not very wealthy. The movie...

Predicting the truncated xorshift32* random number generator
From Daniel Lemire's Blog

Predicting the truncated xorshift32* random number generator

Software programmers need random number generators. For this purpose, the often use functions with outputs that appear random. Gerstmann has a nice post about Better...

Science and Technology links (June 29th, 2018)
From Daniel Lemire's Blog

Science and Technology links (June 29th, 2018)

Hogarth imagines that artificial intelligence (AI) could progress much faster than we might anticipate due to what he calls “AI nationalism”: I believe that the...

Data processing on modern hardware
From Daniel Lemire's Blog

Data processing on modern hardware

If you had to design a new database system optimized for the hardware we have today, how would you do it? And what is the new hardware you should care about? This...

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

Science and Technology links (June 24th, 2018)

Video gamers may soon be paid more than top pro athletes. Meanwhile, if you want to stand out in a crowd of university professors, point out that you are a fanContinue...

Roaring Bitmaps in JavaScript
From Daniel Lemire's Blog

Roaring Bitmaps in JavaScript

Roaring bitmaps are a popular data structure to represents sets of integers. Given such sets, you can quickly compute unions, intersections, and so forth. It is...

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

Science and Technology links (June 15th, 2018)

The market for artificial-intelligence chips could reach $30bn by 2022. My guess is that NVIDIA (a graphics card maker) is the big winner, their tag line is now...

Emojis, Java and Strings
From Daniel Lemire's Blog

Emojis, Java and Strings

Emojis are funny characters that are becoming increasingly popular. However, they are probably not as simple as you might thing when you are a programmer. For a...

Science and Technology links (June 9th, 2018)
From Daniel Lemire's Blog

Science and Technology links (June 9th, 2018)

A woman with late-stage breast cancer has been successfully cured using immunotherapy. She was preparing to die. She is now going to live hopefully many more years...

Vectorizing random number generators for greater speed: PCG and xorshift128+ (AVX-512 edition)
From Daniel Lemire's Blog

Vectorizing random number generators for greater speed: PCG and xorshift128+ (AVX-512 edition)

Most people designing random number generators program using regular code. If they are aiming for speed, they probably write functions in C. However, our processors...

Science and Technology links (June 2nd, 2018)
From Daniel Lemire's Blog

Science and Technology links (June 2nd, 2018)

Human hearts do not regenerate. Cardiovascular diseases are the leading cause of death in occident. Japanese doctors will graft sheets of tissue derived from reprogrammed...

Greater speed in memory-bound graph algorithms with just straight C code
From Daniel Lemire's Blog

Greater speed in memory-bound graph algorithms with just straight C code

Graph algorithms are often memory bound. When you visit a node, there is no reason to believe that its neighbours are located nearby in memory. In an earlier post...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account