FastPFor icon indicating copy to clipboard operation
FastPFor copied to clipboard

build for the platforms without SIMD and 32-bit platforms out of the box correctly

Open KOLANICH opened this issue 4 years ago • 5 comments

Compression of integers is an algo. It should be possible to decompress the data compressed this way on such platforms.

KOLANICH avatar Jun 28 '21 08:06 KOLANICH

SIMD algorithms on a Turing machine seems like a very cool topic. There are no major platforms without SIMD nowadays. A big question is how to support them all without handcrafted assembly. It's not possible IMHO without some standardization on vendors side or reliance on somewhat limited libraries like SIMDE.

searchivarius avatar Jun 28 '21 09:06 searchivarius

There are no major platforms without SIMD nowadays.

I guess such a statement is almost equivalent to calling platforms without SIMD as non-platforms ("a calculator" 🖩 as some people call them) and treating people using them as subhumans.

big question is how to support them all without handcrafted assembly.

I guess, OpenCL may be helpful. Also old plain C++ without using any SIMD.

KOLANICH avatar Jun 28 '21 10:06 KOLANICH

The library has non-SIMD codecs as well: https://github.com/lemire/FastPFor/blob/master/headers/codecfactory.h

Performance is expectedly underwhelming compared to SIMD versions. So, bad news for platforms without SIMD.

searchivarius avatar Jun 28 '21 11:06 searchivarius

The library has non-SIMD codecs as well: https://github.com/lemire/FastPFor/blob/master/headers/codecfactory.h

It is good. Then I'd just need to fix CMake scripts to make it work. Because recently I have tried to build it for Pentium III, and got an error about lack of SIMD.

KOLANICH avatar Jun 28 '21 11:06 KOLANICH

The library requires x64 processors, as indicated in the 'hardware requirements' section of the README. The Pentium III is not an x64 processor.

lemire avatar Jun 28 '21 12:06 lemire