5 Replies Latest reply on Sep 23, 2017 1:05 PM by JonMM

    AVX issues with i5-6600K Skylake




      I have been having some issues with AVX, BLAS, and matrix multiplication with my i5-6600K Skylake CPU.  OS is Windows 10 with developer mode enabled and linux subsystem for windows installed.  BIOS is up to date.  I've tried the following:


      • OpenBLAS on linux subsystem for windows passes all self-tests with all AVX disabled.
      • OpenBLAS on linux subsystem for windows fails self-tests with AVX enabled and AVX2 disabled.  OpenBLAS fails the self-tests in inconsistent ways.  It will usually, but not always, fail matrix multiplication tests such as dgemm.  When it fails dgemm, it will occasionally compute erroneously large matrix products (on the order of 1e+70 when the expected result is on order 1).  The error occurs randomly in unpredictable locations.
      • OpenBLAS on linux subsystem for windows fails self-tests with AVX2 enabled in the same fashion.
      • When using Octave on windows with OpenBLAS, it will occasionally report erroneously large values when multiplying matrices.  I believe this is from the same underlying problem as OpenBLAS on the linux subsystem.  Again these mistakes occur at random but are obvious (product on the order of 1e+300 when it should be on order 1 ) and happen frequently enough to derail large matrix multiplications.
      • Octave on windows with reference BLAS works as expected.
      • I've installed numpy and scipy with anaconda (which uses MKL) and matrix multiplication with these codes fails in the same fashion as Octave with OpenBLAS.


      Given that BLAS is making random mistakes in both OpenBLAS and MKL, I'm guessing the problem is with the processor.  I tried:

      • Prime95, which consistently fails on one core.
      • Intel Processor Diagnostic Tool passes.


      Any ideas on what could be wrong or things to try next?