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

How to know whether Xeon CPU supports ISA-l? #232

Open
PhilYu20 opened this issue Jan 11, 2023 · 4 comments
Open

How to know whether Xeon CPU supports ISA-l? #232

PhilYu20 opened this issue Jan 11, 2023 · 4 comments
Labels

Comments

@PhilYu20
Copy link

PhilYu20 commented Jan 11, 2023

How to know whether Xeon CPU supports ISA-l, such as Intel Xeon Gold 6354 Processor? If the intel cpu supports the corresponding instruction set (such as sse, avx and avx2), this CPU can support ISA-l?

Any help would be greatly appreciated!

@gbtucker
Copy link
Contributor

Hi @PhilYu20. ISA-L has multi-binary dispatchers and base functions that will run on a wide variety of architectures. The dispatcher will pick an appropriate version at run time. ISA-L has many functions that were optimized specifically for this processor in mind.

@fredfany
Copy link

fredfany commented Feb 2, 2023

I heard that isa-l can only run on x86 architecture, but looking at the current code, it seems to support other architectures, such as ARM aarch64, and I want to determine if this is true. If so, then is the performance of the ARM architecture inferior to X86?
Great appreciation!

@rhpvorderman
Copy link
Contributor

If so, then is the performance of the ARM architecture inferior to X86?

@Fanyuanli Well, I think you can't really see it that way. The base level performance is zlib. Zlib performance also differs between platforms. You can't really speak of inferior/superior, as you have to work with the hardware that you have. If a library can provide a speedup advantage compared to zlib, then it is worth considering in my opinion.

I maintain the python-bindings for ISA-L. Supposedly ISA-L can run on all platforms due to its base functions which are implemented in C. I have tested the optimizations on x86_64 quite extensively. On my machine (Ryzen 5-3600) ISA-L performs roughly 2 times faster than zlib when decompressing and roughly 5(!) times faster for level 1 compression than zlib.
I do have an aarch64 development board (Olimex Olinuxino A64 with Allwinner A64 chip). On this board there is no real measurable difference between zlib and ISA-L in decompression, however it performs 3 times faster when compressing on level 1.

On both x86_64 and aarch64 I therefore wholeheartedly recommend ISA-L. If you also want a speedup for compression levels higher than 3 I recommend also looking at zlib-ng.

@fredfany
Copy link

Sorry for a late response! I've done my test and I got what I wander. Thanks again for your professional and patient answers. I'd really appreaicate you! @gbtucker @rhpvorderman

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants