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

SIMD #87

Open
Smattr opened this issue Nov 29, 2018 · 0 comments
Open

SIMD #87

Smattr opened this issue Nov 29, 2018 · 0 comments

Comments

@Smattr
Copy link
Owner

Smattr commented Nov 29, 2018

There's been some research in the past demonstrating it's feasible to speed up model checking with SIMD instructions by processing several states at once. In practice, doing this is quite challenging, but a recent post gives clues of how to do this better using some AVX-512 tricks. I'm still not convinced we can feasibly implement general optimisation but we should at least evaluate this.

Taking this one step further, we may even be able to "vectorise" a model that e.g. uses a value_t of uint8_t by packing eight of these into a uint64_t. We may be missing support to do some of the conditional enabling, but I think the only way to know for sure is to try and build it.

Also of relevance: http://cppcast.com/2018/11/jeff-amstutz/

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

No branches or pull requests

1 participant