Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
KOLANICH opened this issue Jun 28, 2021 · 5 comments

Comments

@KOLANICH
Copy link

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

@searchivarius
Copy link
Collaborator

searchivarius commented Jun 28, 2021

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.

@KOLANICH
Copy link
Author

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.

@searchivarius
Copy link
Collaborator

searchivarius commented Jun 28, 2021

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.

@KOLANICH
Copy link
Author

KOLANICH commented Jun 28, 2021

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 KOLANICH changed the title Support platforms without SIMD Fix CMake scripts to build for the platforms without SIMD out of the box correctly Jun 28, 2021
@lemire
Copy link
Member

lemire commented Jun 28, 2021

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

@lemire lemire changed the title Fix CMake scripts to build for the platforms without SIMD out of the box correctly build for the platforms without SIMD out of the box correctly Jun 28, 2021
@KOLANICH KOLANICH changed the title build for the platforms without SIMD out of the box correctly build for the platforms without SIMD and 32-bit platforms out of the box correctly Jun 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants