Accelerating cryptocurrency Mining with Intel ISPC
Daniel Lemire and Maxime Chevalier just had a great exchange on Twitter about the state of compilers and being able to automatically vectorize code, such as a scalar product. Of course, hoping the compiler can correctly vectorize your code can be a bit fragile, and as Maxime points out, writing raw intrinsics results in an unreadable pain in the editor, and a GPU-style implementation in CUDA or OpenCL might be more scalable and maintainable. A few years ago, some folks at Intel wrote a compiler called ISPC, the Intel SPMD Program Compiler . A possibly unfairly simple way to describe ISPC is that it's OpenCL-style programming for x86 vector units. You can write code that looks like this: export uniform float scalar_product(uniform float a[], uniform float b[], ...