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

MKL_CBWR environment variable does not seem to be respected when running? #1070

Open
jaybert opened this issue Mar 11, 2024 · 0 comments
Open

Comments

@jaybert
Copy link

jaybert commented Mar 11, 2024

We are trying to resolve some diffs across different systems and I am trying to play around with the MKL_CBWR environment setting but I'm not positive that the environment setting is being effected on the run like it should.

https://www.intel.com/content/www/us/en/developer/articles/technical/introduction-to-the-conditional-numerical-reproducibility-cnr.html

for example,

i set MKL_CBWR=SSE2 or COMPATIBLE, or AVX2,STRICT

and then when I set the env setting MKL_VERBOSE=1 and then run my program,

i still see MKL_VERBOSE DGEMM(......CNR:AUTO...) and the CNR:AUTO never changes

I believe I should see this value change as I change the MKL_CBWR setting but I could be wrong on that.

On a related note, is there a way to change this in code (running the F# version if it matters).

Thanks!

EDIT: i was able to set it by using the MathNet.Numerics.Providers.MKL.LinearAlgebra.MklLinearAlebgraControl.UseNativeMKl(MklConsistency.Compatible) instead of just UseNativeMKL()

One request, would it be possible to expose STRICT setting for MKL_CBWR, so you could do AVX2,STRICT to ensure stronger reproducibility guarantees.

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

1 participant