blis icon indicating copy to clipboard operation
blis copied to clipboard

Warning: The value EMIN may be incorrect

Open MariusCausemann opened this issue 3 years ago • 6 comments

Dear BLIS-developers, I've installed multithreaded BLIS through PETSc and get a warning when running my code:

 WARNING. The value EMIN may be incorrect:- EMIN =        1
If, after inspection, the value EMIN looks acceptable please comment out 
 the IF block as marked within the code of routine DLAMC2, 
 otherwise supply EMINexplicitly.

EMIN is not consistently -1, but varies (e.g. 0, 1, -354, ...). Is this a serious problem and what could I do to solve the issue? Thanks!

MariusCausemann avatar Nov 30 '21 20:11 MariusCausemann

I don't have a clue what could be causing this. BLIS has no variable called EMIN, how is this calculated/stored/used?

devinamatthews avatar Jan 11 '22 00:01 devinamatthews

@MariusCausemann Aha, now my memory is triggered. I rewrote this code to use the C builtin constants but maybe somehow that is problematic. There is a line #ifdef BLIS_ENABLE_LEGACY_LAMCH at the beggining of frame/base/noopt/bli_slamch.c and frame/base/noopt/bli_dlamch.c. Please change this to #if 1, recompile, and test again.

devinamatthews avatar Jan 11 '22 21:01 devinamatthews

Hi @devinamatthews! I'm only trying to use BLIS through PETSc (never compiled it outside the PETSc installation process) and don't have the time to investigate this in-depth at the moment, sorry. I could provide more information (e.g the docker file I use for installation) if that would be helpful?

MariusCausemann avatar Jan 12 '22 10:01 MariusCausemann

@MariusCausemann if you provide the docker file maybe just maybe I can suggest an addition to patch this change in.

devinamatthews avatar Jan 25 '22 21:01 devinamatthews

Hi @devinamatthews , here is the Dockerfile. The blis installation is handled by PETSc, so it might be a bit tricky to get that patch in. docker.txt

MariusCausemann avatar Jan 31 '22 17:01 MariusCausemann

You'll need to add a command before installing PETSc to install BLIS from source (with patch) and then have PETSc use that. I don't know what configure options you need for PETSc but installing BLIS should go something like this:

RUN git clone https://github.com/flame/blis blis-src && \
    cd blis-src && \
    sed --in-place 's/BLIS_ENABLE_LEGACY_LAMCH/1/' frame/base/noopt/bli_slamch.c && \
    sed --in-place 's/BLIS_ENABLE_LEGACY_LAMCH/1/' frame/base/noopt/bli_dlamch.c && \
    ./configure --prefix=/usr/local/blis auto && \
    make && \
    make install

devinamatthews avatar Jan 31 '22 18:01 devinamatthews