Skip to content

Linux Install OpenBLAS #1131

Closed
Closed

Description

@lyatdawn

In Non root user, when I enter make FC=gfortran -j12, I get the following class of error:
../kernel/x86_64/dtrsm_kernel_RN_haswell.c: Assembler messages:
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:126: Error: no such instruction: vpermpd $0xb1,%ymm0,%ymm3' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:132: Error: no such instruction: vpermpd $0x1b,%ymm3,%ymm0'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:134: Error: no such instruction: vpermpd $0xb1,%ymm0,%ymm3' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:145: Error: no such instruction: vpermpd $0xb1,%ymm4,%ymm4'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:149: Error: no such instruction: vpermpd $0x1b,%ymm4,%ymm4' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:153: Error: no such instruction: vpermpd $0xb1,%ymm4,%ymm4'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:162: Error: no such instruction: vpermpd $0xb1,%ymm0,%ymm0' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:165: Error: no such instruction: vpermpd $0x1b,%ymm0,%ymm0'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:168: Error: no such instruction: vpermpd $0xb1,%ymm0,%ymm0' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:175: Error: no such instruction: vpermpd $0xb1,%ymm4,%ymm4'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:178: Error: no such instruction: vpermpd $0x1b,%ymm4,%ymm4' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:181: Error: no such instruction: vpermpd $0xb1,%ymm4,%ymm4'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:185: Error: no such instruction: vpermpd $0xb1,%ymm9,%ymm9' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:186: Error: no such instruction: vpermpd $0xb1,%ymm11,%ymm11'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:191: Error: no such instruction: vpermpd $0x1b,%ymm2,%ymm2' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:192: Error: no such instruction: vpermpd $0x1b,%ymm3,%ymm3'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:193: Error: no such instruction: vpermpd $0xb1,%ymm2,%ymm2' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:194: Error: no such instruction: vpermpd $0xb1,%ymm3,%ymm3'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:199: Error: no such instruction: vpermpd $0xb1,%ymm13,%ymm13' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:200: Error: no such instruction: vpermpd $0xb1,%ymm15,%ymm15'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:205: Error: no such instruction: vpermpd $0x1b,%ymm2,%ymm2' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:206: Error: no such instruction: vpermpd $0x1b,%ymm3,%ymm3'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:207: Error: no such instruction: vpermpd $0xb1,%ymm2,%ymm2' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:208: Error: no such instruction: vpermpd $0xb1,%ymm3,%ymm3'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:225: Error: no such instruction: vpermpd $0x55,%ymm0,%ymm1' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:227: Error: no such instruction: vpermpd $0xaa,%ymm0,%ymm2'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:229: Error: no such instruction: vpermpd $0xff,%ymm0,%ymm3' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:230: Error: no such instruction: vpermpd $0x00,%ymm0,%ymm0'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:234: Error: no such instruction: vpermpd $0x55,%ymm4,%ymm5' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:236: Error: no such instruction: vpermpd $0xaa,%ymm4,%ymm6'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:238: Error: no such instruction: vpermpd $0xff,%ymm4,%ymm7' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:239: Error: no such instruction: vpermpd $0x00,%ymm4,%ymm4'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:249: Error: no such instruction: vpermpd $0xaa,%ymm0,%ymm2' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:251: Error: no such instruction: vpermpd $0xff,%ymm0,%ymm3'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:253: Error: no such instruction: vpermpd $0x55,%ymm0,%ymm0' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:255: Error: no such instruction: vpermpd $0x55,%ymm1,%ymm5'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:257: Error: no such instruction: vpermpd $0xaa,%ymm1,%ymm6' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:259: Error: no such instruction: vpermpd $0xff,%ymm1,%ymm7'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:260: Error: no such instruction: vpermpd $0x00,%ymm1,%ymm4' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:270: Error: no such instruction: vpermpd $0xff,%ymm0,%ymm3'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:272: Error: no such instruction: vpermpd $0xaa,%ymm0,%ymm0' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:274: Error: no such instruction: vpermpd $0x55,%ymm1,%ymm5'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:276: Error: no such instruction: vpermpd $0xaa,%ymm1,%ymm6' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:278: Error: no such instruction: vpermpd $0xff,%ymm1,%ymm7'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:279: Error: no such instruction: vpermpd $0x00,%ymm1,%ymm4' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:288: Error: no such instruction: vpermpd $0xff,%ymm0,%ymm0'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:291: Error: no such instruction: vpermpd $0x55,%ymm1,%ymm5' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:293: Error: no such instruction: vpermpd $0xaa,%ymm1,%ymm6'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:295: Error: no such instruction: vpermpd $0xff,%ymm1,%ymm7' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:296: Error: no such instruction: vpermpd $0x00,%ymm1,%ymm4'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:305: Error: no such instruction: vpermpd $0x55,%ymm1,%ymm5' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:307: Error: no such instruction: vpermpd $0xaa,%ymm1,%ymm6'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:309: Error: no such instruction: vpermpd $0xff,%ymm1,%ymm7' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:310: Error: no such instruction: vpermpd $0x00,%ymm1,%ymm0'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:319: Error: no such instruction: vpermpd $0xaa,%ymm1,%ymm6' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:321: Error: no such instruction: vpermpd $0xff,%ymm1,%ymm7'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:322: Error: no such instruction: vpermpd $0x55,%ymm1,%ymm0' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:331: Error: no such instruction: vpermpd $0xff,%ymm1,%ymm7'
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:332: Error: no such instruction: vpermpd $0xaa,%ymm1,%ymm0' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:340: Error: no such instruction: vpermpd $0xff,%ymm1,%ymm0'
make[1]: *** [dtrsm_kernel_RN.o] Error 1
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c: Assembler messages:
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:30: Error: no such instruction: vpermpd $0xb1,%ymm0,%ymm0' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:33: Error: no such instruction: vpermpd $0x1b,%ymm0,%ymm0'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:36: Error: no such instruction: vpermpd $0xb1,%ymm0,%ymm0' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:52: Error: no such instruction: vpermpd $0xb1,%ymm5,%ymm5'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:53: Error: no such instruction: vpermpd $0xb1,%ymm7,%ymm7' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:58: Error: no such instruction: vpermpd $0x1b,%ymm2,%ymm2'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:59: Error: no such instruction: vpermpd $0x1b,%ymm3,%ymm3' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:60: Error: no such instruction: vpermpd $0xb1,%ymm2,%ymm2'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:61: Error: no such instruction: vpermpd $0xb1,%ymm3,%ymm3' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:70: Error: no such instruction: vpermpd $0xb1,%ymm9,%ymm9'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:71: Error: no such instruction: vpermpd $0xb1,%ymm11,%ymm11' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:76: Error: no such instruction: vpermpd $0x1b,%ymm2,%ymm2'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:77: Error: no such instruction: vpermpd $0x1b,%ymm3,%ymm3' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:78: Error: no such instruction: vpermpd $0xb1,%ymm2,%ymm2'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:79: Error: no such instruction: vpermpd $0xb1,%ymm3,%ymm3' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c: Assembler messages: ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:30: Error: no such instruction: vpermpd $0xb1,%ymm0,%ymm0'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:33: Error: no such instruction: vpermpd $0x1b,%ymm0,%ymm0' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:36: Error: no such instruction: vpermpd $0xb1,%ymm0,%ymm0'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:52: Error: no such instruction: vpermpd $0xb1,%ymm5,%ymm5' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:53: Error: no such instruction: vpermpd $0xb1,%ymm7,%ymm7'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:58: Error: no such instruction: vpermpd $0x1b,%ymm2,%ymm2' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:59: Error: no such instruction: vpermpd $0x1b,%ymm3,%ymm3'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:60: Error: no such instruction: vpermpd $0xb1,%ymm2,%ymm2' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:61: Error: no such instruction: vpermpd $0xb1,%ymm3,%ymm3'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:70: Error: no such instruction: vpermpd $0xb1,%ymm9,%ymm9' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:71: Error: no such instruction: vpermpd $0xb1,%ymm11,%ymm11'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:76: Error: no such instruction: vpermpd $0x1b,%ymm2,%ymm2' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:77: Error: no such instruction: vpermpd $0x1b,%ymm3,%ymm3'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:78: Error: no such instruction: vpermpd $0xb1,%ymm2,%ymm2' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:79: Error: no such instruction: vpermpd $0xb1,%ymm3,%ymm3'
make[1]: *** [dtrmm_kernel_RT.o] Error 1
make[1]: *** [dtrmm_kernel_LN.o] Error 1
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c: Assembler messages:
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:30: Error: no such instruction: vpermpd $0xb1,%ymm0,%ymm0' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:33: Error: no such instruction: vpermpd $0x1b,%ymm0,%ymm0'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:36: Error: no such instruction: vpermpd $0xb1,%ymm0,%ymm0' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:52: Error: no such instruction: vpermpd $0xb1,%ymm5,%ymm5'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:53: Error: no such instruction: vpermpd $0xb1,%ymm7,%ymm7' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:58: Error: no such instruction: vpermpd $0x1b,%ymm2,%ymm2'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:59: Error: no such instruction: vpermpd $0x1b,%ymm3,%ymm3' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:60: Error: no such instruction: vpermpd $0xb1,%ymm2,%ymm2'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:61: Error: no such instruction: vpermpd $0xb1,%ymm3,%ymm3' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:70: Error: no such instruction: vpermpd $0xb1,%ymm9,%ymm9'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:71: Error: no such instruction: vpermpd $0xb1,%ymm11,%ymm11' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:76: Error: no such instruction: vpermpd $0x1b,%ymm2,%ymm2'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:77: Error: no such instruction: vpermpd $0x1b,%ymm3,%ymm3' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:78: Error: no such instruction: vpermpd $0xb1,%ymm2,%ymm2'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:79: Error: no such instruction: vpermpd $0xb1,%ymm3,%ymm3' make[1]: *** [dtrmm_kernel_RN.o] Error 1 ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c: Assembler messages: ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:30: Error: no such instruction: vpermpd $0xb1,%ymm0,%ymm0'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:33: Error: no such instruction: vpermpd $0x1b,%ymm0,%ymm0' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:36: Error: no such instruction: vpermpd $0xb1,%ymm0,%ymm0'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:52: Error: no such instruction: vpermpd $0xb1,%ymm5,%ymm5' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:53: Error: no such instruction: vpermpd $0xb1,%ymm7,%ymm7'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:58: Error: no such instruction: vpermpd $0x1b,%ymm2,%ymm2' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:59: Error: no such instruction: vpermpd $0x1b,%ymm3,%ymm3'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:60: Error: no such instruction: vpermpd $0xb1,%ymm2,%ymm2' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:61: Error: no such instruction: vpermpd $0xb1,%ymm3,%ymm3'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:70: Error: no such instruction: vpermpd $0xb1,%ymm9,%ymm9' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:71: Error: no such instruction: vpermpd $0xb1,%ymm11,%ymm11'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:76: Error: no such instruction: vpermpd $0x1b,%ymm2,%ymm2' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:77: Error: no such instruction: vpermpd $0x1b,%ymm3,%ymm3'
../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:78: Error: no such instruction: vpermpd $0xb1,%ymm2,%ymm2' ../kernel/x86_64/dtrmm_kernel_4x8_haswell.c:79: Error: no such instruction: vpermpd $0xb1,%ymm3,%ymm3'

I have no idea what it means. What is to be done about this?

Activity

  1. martin-frbg commented on Mar 17, 2017

    @martin-frbg
    Collaborator

    This has nothing to do with not being root (if anything, that might cause problems during "make install"), but your assembler ("as" from "binutils" package) appears to be too old to understand some newer AVX2 instructions. Most likely you are trying to build OpenBLAS on some older CentOS installation ?
    Try compiling with "make NO_AVX2=1" (or "make TARGET=SANDYBRIDGE" which has the same effect), or see our wiki at https://github.com/xianyi/OpenBLAS/wiki/faq#binutils for how to upgrade your binutils.

  2. lyatdawn commented on Mar 17, 2017

    @lyatdawn
    Author

    Nice, it works now. Thanks very much。 @martin-frbg

  3. added a commit that references this issue on Jun 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions