Skip to content

OrthogonalMatchingPursuit reproducibility with OpenBLAS and different number of cores #19214

Answered by ogrisel
evax asked this question in Q&A
Discussion options

You must be logged in to vote

is this a known OpenBLAS issue?

With multithreading enabled (that is OPENBLAS_NUM_THREADS > 1) the ordering of sub-operations (e.g. blocks of computations performed during a matrix matrix multiplication) is not deterministic (it depends on the thread scheduling decisions made by the operating system). From a mathematical point of view, this should not matter because arithmetic operations such as additions performed on the intermediate results are commutative.

However, computers work with finite precision floating point numbers instead of true real numbers. In consequence this can cause non deterministic rounding error changes in the results.

In case you have correlated data, those small…

Replies: 1 comment 3 replies

Comment options

You must be logged in to vote
3 replies
@evax
Comment options

@ogrisel
Comment options

@evax
Comment options

Answer selected by evax
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants
Converted from issue

This discussion was converted from issue #18790 on January 20, 2021 10:19.