Skip to content
Snippets Groups Projects
  • Russell Taylor's avatar
    6b4fcc91
    Re #2738. Re-enable OpenMP in BinaryOperation on Mac. · 6b4fcc91
    Russell Taylor authored
    The problem looked to be due to the fact that the Intel compiler
    evaluates function arguments L->R (out other compilers do it R->L). If
    the LHS & output workspaces were the same one, the references obtained
    by the readY/E calls could be invalidated by other threads, whereas
    with R->L evaluation the dataY/E calls would have ensured the readY/E
    gave the right one.
    In fact, the tests that showed this up are rather artificial as it's
    extremely unlikely that data will be shared between Y & E vectors
    (unlike X vectors), but it's better to make sure it's correct.
    6b4fcc91
    History
    Re #2738. Re-enable OpenMP in BinaryOperation on Mac.
    Russell Taylor authored
    The problem looked to be due to the fact that the Intel compiler
    evaluates function arguments L->R (out other compilers do it R->L). If
    the LHS & output workspaces were the same one, the references obtained
    by the readY/E calls could be invalidated by other threads, whereas
    with R->L evaluation the dataY/E calls would have ensured the readY/E
    gave the right one.
    In fact, the tests that showed this up are rather artificial as it's
    extremely unlikely that data will be shared between Y & E vectors
    (unlike X vectors), but it's better to make sure it's correct.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.