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

Consider NONLINEAR vectorizable. #1533

Merged
merged 1 commit into from
Oct 28, 2024
Merged

Consider NONLINEAR vectorizable. #1533

merged 1 commit into from
Oct 28, 2024

Conversation

1uc
Copy link
Collaborator

@1uc 1uc commented Oct 25, 2024

No description provided.

@1uc 1uc marked this pull request as ready for review October 25, 2024 13:30
Copy link
Contributor

@JCGoran JCGoran left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you remind me what vectorize refers to again? Is it in the SIMD sense, or something else?

@1uc
Copy link
Collaborator Author

1uc commented Oct 28, 2024

VECTORIZE is an NRN term that describes if MOD files have their data arranged in such a manner that vectorization (e.g. SIMD) is (potentially) possible. It affects the API of the registered function, e.g. they don't have access to a lot of things, and IIUC always go through _ppvar for everything (even during the simulation phase). Use nocmodl to explore how the generated MOD files changes when you add/remove LINEAR from some of the MOD files slated to be removed.

The term is also used to mean "not thread-safe".

The way it's annoying to us is that: a) it removes what we call v_unused and uses a static double to cache v instead, b) it makes things LINEAR and NONLINEAR not thread-safe even though, when using Eigen there's no issue.

Copy link
Contributor

@JCGoran JCGoran left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense, approved.

@1uc 1uc merged commit ffe4f68 into master Oct 28, 2024
12 checks passed
@1uc 1uc deleted the 1uc/vectorized-nonlinear branch October 28, 2024 14:21
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.

2 participants