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

Add support for non-(amd64,Arm,PPC) using SIMD Everywhere #4324

Closed
wants to merge 1 commit into from

Conversation

mr-c
Copy link

@mr-c mr-c commented Nov 23, 2023

Hello, this enables building and running openmm on riscv64 and other non-(amd64,arm,ppc) systems.

It uses the portable (and sometimes optimized) implementations of x86 intrinsics from https://github.com/simd-everywhere/simde

Once riscv64 hardware with support for version 1.0 of their vector extension becomes more widely available, then a proper riscv64 implementation could be written.

If you want to bundle the SIMDe library instead of making it an external dependency, then I'm happy to do so. Just let me know how you would like it: 1) single-file; 2) folder copied in; or 3) git sub module.

@peastman
Copy link
Member

That's really cool that you have it working on RISC-V. How is the performance?

We don't need a separate library for SIMD. We have a version of the vectorization routines that uses clang/gcc portable vectors, so it works on any hardware they support. I even have a few improvements to it I've been half meaning to check in, but haven't bothered since we aren't currently using it anywhere. But I can check them in if you want to try it out.

@mr-c
Copy link
Author

mr-c commented Nov 23, 2023

Oh, for Debian we had build failures on every arch except amd64, arm64, ppc64el: https://buildd.debian.org/status/package.php?p=openmm

I don't have performance numbers, sorry.

Using my patch, I was able to build a Debian package of 8.0.0 (and the tests passed) on Debian's Hifive Unmatched porterbox.

@peastman
Copy link
Member

I'm going to close this, since #4328 now provides support for other architectures. If you want to try it out, I'd be interested to hear how it works on RISC-V.

@peastman peastman closed this Dec 12, 2023
@mr-c mr-c deleted the SIMDe branch December 12, 2023 16:52
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

Successfully merging this pull request may close these issues.

None yet

2 participants