Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problems with Haswell kernels on older distributions #438

Closed
susilehtola opened this issue Aug 24, 2014 · 2 comments
Closed

Problems with Haswell kernels on older distributions #438

susilehtola opened this issue Aug 24, 2014 · 2 comments

Comments

@susilehtola
Copy link
Contributor

@susilehtola susilehtola commented Aug 24, 2014

Hi,

while updating the Fedora linux packages of OpenBLAS to version 0.2.11, I have encountered problems with the Haswell kernels.

On Red Hat Enterprise 5 (GCC 4.1.2) I see

../kernel/x86_64/dgemm_kernel_4x4_haswell.S: Assembler messages:
../kernel/x86_64/dgemm_kernel_4x4_haswell.S:2461: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x4_haswell.S:2461: Error: no such instruction:vpermpd $ 0x1b,%ymm0,%ymm0'

and on Red Hat Enterprise 6 (GCC 4.4.7)

{standard input}: Assembler messages:
{standard input}:24: Error: no such instruction: vzeroupper ' {standard input}:25: Error: no such instruction:vbroadcastss (%rdx),%ymm12'
{standard input}:26: Error: no such instruction: vbroadcastss 4(%rdx),%ymm13' {standard input}:27: Error: no such instruction:vbroadcastss 8(%rdx),%ymm14'
{standard input}:28: Error: no such instruction: vbroadcastss 12(%rdx),%ymm15' {standard input}:31: Error: no such instruction:vmovups (%rcx,%r11,4),%ymm4'
{standard input}:32: Error: no such instruction: vmovups 32(%rcx,%r11,4),%ymm5' {standard input}:34: Error: no such instruction:vfmadd231ps (%r10,%r11,4),%ymm12,%ymm4'
{standard input}:35: Error: no such instruction: vfmadd231ps 32(%r10,%r11,4),%ymm12,%ymm5' {standard input}:37: Error: no such instruction:vfmadd231ps (%r9,%r11,4),%ymm13,%ymm4'
{standard input}:38: Error: no such instruction: vfmadd231ps 32(%r9,%r11,4),%ymm13,%ymm5' {standard input}:40: Error: no such instruction:vfmadd231ps (%r8,%r11,4),%ymm14,%ymm4'
{standard input}:41: Error: no such instruction: vfmadd231ps 32(%r8,%r11,4),%ymm14,%ymm5' {standard input}:43: Error: no such instruction:vfmadd231ps (%rax,%r11,4),%ymm15,%ymm4'
{standard input}:44: Error: no such instruction: vfmadd231ps 32(%rax,%r11,4),%ymm15,%ymm5' {standard input}:45: Error: no such instruction:vmovups %ymm4,(%rcx,%r11,4)'
{standard input}:46: Error: no such instruction: vmovups %ymm5,32(%rcx,%r11,4)' {standard input}:50: Error: no such instruction:vzeroupper '
../kernel/x86_64/sgemm_kernel_16x4_haswell.S: Assembler messages:
../kernel/x86_64/sgemm_kernel_16x4_haswell.S:1151: Error: no such instruction: vzeroupper' ../kernel/x86_64/sgemm_kernel_16x4_haswell.S:1206: Error: no such instruction:vmovss %xmm0,48(%rsp)'
{standard input}: Assembler messages:
{standard input}:24: Error: no such instruction: vzeroupper ' {standard input}:25: Error: no such instruction:vxorps %ymm4,%ymm4,%ymm4'
{standard input}:26: Error: no such instruction: vxorps %ymm5,%ymm5,%ymm5' {standard input}:27: Error: no such instruction:vxorps %ymm6,%ymm6,%ymm6'
{standard input}:28: Error: no such instruction: vxorps %ymm7,%ymm7,%ymm7' {standard input}:32: Error: no such instruction:vmovups (%rdx,%r11,4),%ymm12'
{standard input}:33: Error: no such instruction: vmovups 32(%rdx,%r11,4),%ymm13' {standard input}:35: Error: no such instruction:vfmadd231ps (%r10,%r11,4),%ymm12,%ymm4'
{standard input}:36: Error: no such instruction: vfmadd231ps (%r9,%r11,4),%ymm12,%ymm5' {standard input}:38: Error: no such instruction:vfmadd231ps 32(%r10,%r11,4),%ymm13,%ymm4'
{standard input}:39: Error: no such instruction: vfmadd231ps 32(%r9,%r11,4),%ymm13,%ymm5' {standard input}:41: Error: no such instruction:vfmadd231ps (%r8,%r11,4),%ymm12,%ymm6'
{standard input}:42: Error: no such instruction: vfmadd231ps (%rax,%r11,4),%ymm12,%ymm7' {standard input}:44: Error: no such instruction:vfmadd231ps 32(%r8,%r11,4),%ymm13,%ymm6'
{standard input}:45: Error: no such instruction: vfmadd231ps 32(%rax,%r11,4),%ymm13,%ymm7' {standard input}:49: Error: no such instruction:vextractf128 $1,%ymm4,%xmm12'
{standard input}:50: Error: no such instruction: vextractf128 $1,%ymm5,%xmm13' {standard input}:51: Error: no such instruction:vextractf128 $1,%ymm6,%xmm14'
{standard input}:52: Error: no such instruction: vextractf128 $1,%ymm7,%xmm15' {standard input}:53: Error: no such instruction:vaddps %xmm4,%xmm12,%xmm4'
{standard input}:54: Error: no such instruction: vaddps %xmm5,%xmm13,%xmm5' {standard input}:55: Error: no such instruction:vaddps %xmm6,%xmm14,%xmm6'
{standard input}:56: Error: no such instruction: vaddps %xmm7,%xmm15,%xmm7' {standard input}:57: Error: no such instruction:vhaddps %xmm4,%xmm4,%xmm4'
{standard input}:58: Error: no such instruction: vhaddps %xmm5,%xmm5,%xmm5' {standard input}:59: Error: no such instruction:vhaddps %xmm6,%xmm6,%xmm6'
{standard input}:60: Error: no such instruction: vhaddps %xmm7,%xmm7,%xmm7' {standard input}:61: Error: no such instruction:vhaddps %xmm4,%xmm4,%xmm4'
{standard input}:62: Error: no such instruction: vhaddps %xmm5,%xmm5,%xmm5' {standard input}:63: Error: no such instruction:vhaddps %xmm6,%xmm6,%xmm6'
{standard input}:64: Error: no such instruction: vhaddps %xmm7,%xmm7,%xmm7' {standard input}:65: Error: no such instruction:vmovss %xmm4,(%rcx)'
{standard input}:66: Error: no such instruction: vmovss %xmm5,4(%rcx)' {standard input}:67: Error: no such instruction:vmovss %xmm6,8(%rcx)'
{standard input}:68: Error: no such instruction: vmovss %xmm7,12(%rcx)' {standard input}:69: Error: no such instruction:vzeroupper '

and a whole lot of more errors.

@wernsaar
Copy link
Collaborator

@wernsaar wernsaar commented Aug 24, 2014

On 24.08.2014 07:51, Susi Lehtola wrote:

Hi,

while updating the Fedora linux packages of OpenBLAS to version 0.2.11, I have encountered problems with the Haswell kernels.

On Red Hat Enterprise 5 (GCC 4.1.2) I see

../kernel/x86_64/dgemm_kernel_4x4_haswell.S: Assembler messages:
../kernel/x86_64/dgemm_kernel_4x4_haswell.S:2461: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x4_haswell.S:2461: Error: no such instruction:vpermpd $ 0x1b,%ymm0,%ymm0'

and on Red Hat Enterprise 6 (GCC 4.4.7)

{standard input}: Assembler messages:
{standard input}:24: Error: no such instruction: vzeroupper ' {standard input}:25: Error: no such instruction:vbroadcastss (%rdx),%ymm12'
{standard input}:26: Error: no such instruction: vbroadcastss 4(%rdx),%ymm13' {standard input}:27: Error: no such instruction:vbroadcastss 8(%rdx),%ymm14'
{standard input}:28: Error: no such instruction: vbroadcastss 12(%rdx),%ymm15' {standard input}:31: Error: no such instruction:vmovups (%rcx,%r11,4),%ymm4'
{standard input}:32: Error: no such instruction: vmovups 32(%rcx,%r11,4),%ymm5' {standard input}:34: Error: no such instruction:vfmadd231ps (%r10,%r11,4),%ymm12,%ymm4'
{standard input}:35: Error: no such instruction: vfmadd231ps 32(%r10,%r11,4),%ymm12,%ymm5' {standard input}:37: Error: no such instruction:vfmadd231ps (%r9,%r11,4),%ymm13,%ymm4'
{standard input}:38: Error: no such instruction: vfmadd231ps 32(%r9,%r11,4),%ymm13,%ymm5' {standard input}:40: Error: no such instruction:vfmadd231ps (%r8,%r11,4),%ymm14,%ymm4'
{standard input}:41: Error: no such instruction: vfmadd231ps 32(%r8,%r11,4),%ymm14,%ymm5' {standard input}:43: Error: no such instruction:vfmadd231ps (%rax,%r11,4),%ymm15,%ymm4'
{standard input}:44: Error: no such instruction: vfmadd231ps 32(%rax,%r11,4),%ymm15,%ymm5' {standard input}:45: Error: no such instruction:vmovups %ymm4,(%rcx,%r11,4)'
{standard input}:46: Error: no such instruction: vmovups %ymm5,32(%rcx,%r11,4)' {standard input}:50: Error: no such instruction:vzeroupper '
../kernel/x86_64/sgemm_kernel_16x4_haswell.S: Assembler messages:
../kernel/x86_64/sgemm_kernel_16x4_haswell.S:1151: Error: no such instruction: vzeroupper' ../kernel/x86_64/sgemm_kernel_16x4_haswell.S:1206: Error: no such instruction:vmovss %xmm0,48(%rsp)'
{standard input}: Assembler messages:
{standard input}:24: Error: no such instruction: vzeroupper ' {standard input}:25: Error: no such instruction:vxorps %ymm4,%ymm4,%ymm4'
{standard input}:26: Error: no such instruction: vxorps %ymm5,%ymm5,%ymm5' {standard input}:27: Error: no such instruction:vxorps %ymm6,%ymm6,%ymm6'
{standard input}:28: Error: no such instruction: vxorps %ymm7,%ymm7,%ymm7' {standard input}:32: Error: no such instruction:vmovups (%rdx,%r11,4),%ymm12'
{standard input}:33: Error: no such instruction: vmovups 32(%rdx,%r11,4),%ymm13' {standard input}:35: Error: no such instruction:vfmadd231ps (%r10,%r11,4),%ymm12,%ymm4'
{standard input}:36: Error: no such instruction: vfmadd231ps (%r9,%r11,4),%ymm12,%ymm5' {standard input}:38: Error: no such instruction:vfmadd231ps 32(%r10,%r11,4),%ymm13,%ymm4'
{standard input}:39: Error: no such instruction: vfmadd231ps 32(%r9,%r11,4),%ymm13,%ymm5' {standard input}:41: Error: no such instruction:vfmadd231ps (%r8,%r11,4),%ymm12,%ymm6'
{standard input}:42: Error: no such instruction: vfmadd231ps (%rax,%r11,4),%ymm12,%ymm7' {standard input}:44: Error: no such instruction:vfmadd231ps 32(%r8,%r11,4),%ymm13,%ymm6'
{standard input}:45: Error: no such instruction: vfmadd231ps 32(%rax,%r11,4),%ymm13,%ymm7' {standard input}:49: Error: no such instruction:vextractf128 $1,%ymm4,%xmm12'
{standard input}:50: Error: no such instruction: vextractf128 $1,%ymm5,%xmm13' {standard input}:51: Error: no such instruction:vextractf128 $1,%ymm6,%xmm14'
{standard input}:52: Error: no such instruction: vextractf128 $1,%ymm7,%xmm15' {standard input}:53: Error: no such instruction:vaddps %xmm4,%xmm12,%xmm4'
{standard input}:54: Error: no such instruction: vaddps %xmm5,%xmm13,%xmm5' {standard input}:55: Error: no such instruction:vaddps %xmm6,%xmm14,%xmm6'
{standard input}:56: Error: no such instruction: vaddps %xmm7,%xmm15,%xmm7' {standard input}:57: Error: no such instruction:vhaddps %xmm4,%xmm4,%xmm4'
{standard input}:58: Error: no such instruction: vhaddps %xmm5,%xmm5,%xmm5' {standard input}:59: Error: no such instruction:vhaddps %xmm6,%xmm6,%xmm6'
{standard input}:60: Error: no such instruction: vhaddps %xmm7,%xmm7,%xmm7' {standard input}:61: Error: no such instruction:vhaddps %xmm4,%xmm4,%xmm4'
{standard input}:62: Error: no such instruction: vhaddps %xmm5,%xmm5,%xmm5' {standard input}:63: Error: no such instruction:vhaddps %xmm6,%xmm6,%xmm6'
{standard input}:64: Error: no such instruction: vhaddps %xmm7,%xmm7,%xmm7' {standard input}:65: Error: no such instruction:vmovss %xmm4,(%rcx)'
{standard input}:66: Error: no such instruction: vmovss %xmm5,4(%rcx)' {standard input}:67: Error: no such instruction:vmovss %xmm6,8(%rcx)'
{standard input}:68: Error: no such instruction: vmovss %xmm7,12(%rcx)' {standard input}:69: Error: no such instruction:vzeroupper '

and a whole lot of more errors.


Reply to this email directly or view it on GitHub:
#438
Hi,

Xianyi added a new flag NO_AVX2 to suppress the building of the haswell
kernel on systems with on
old binutils package. It's also possible to install a newer binutils
package for the build, what I use
on my Centos-6 system.

Best regards
Werner

@susilehtola
Copy link
Contributor Author

@susilehtola susilehtola commented Aug 24, 2014

Oh cool, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants