Package Details: openblas-lapack 0.3.27-1

Git Clone URL: https://aur.archlinux.org/openblas-lapack.git (read-only, click to copy)
Package Base: openblas-lapack
Description: Optimized BLAS library based on GotoBLAS2 1.13 BSD (providing blas, lapack, and cblas)
Upstream URL: http://www.openblas.net/
Licenses: BSD
Conflicts: blas, cblas, lapack, lapacke, openblas
Provides: blas, cblas, lapack, lapacke, openblas
Submitter: sftrytry
Maintainer: thrasibule
Last Packager: thrasibule
Votes: 92
Popularity: 0.125941
First Submitted: 2013-11-20 23:53 (UTC)
Last Updated: 2024-04-09 17:07 (UTC)

Required by (657)

Sources (1)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 .. 16 Next › Last »

kwyjibo9999 commented on 2021-12-29 18:47 (UTC)

0.3.19 is causing crashes on x86_64 that go away with OMP_NUM_THREADS=1 but cause slowdowns. Are there upstream issues?

kwyjibo9999 commented on 2021-12-28 19:40 (UTC)

Upstream 0.3.19 version is out for two weeks. Will this be updated or is there trouble with the update?

evg commented on 2020-10-31 12:44 (UTC) (edited on 2020-10-31 12:45 (UTC) by evg)

@thrasibule, the output of ./getarch 0 is

CORE=SANDYBRIDGE
LIBCORE=sandybridge
NUM_CORES=8
HAVE_MMX=1
HAVE_SSE=1
HAVE_SSE2=1
HAVE_SSE3=1
HAVE_SSSE3=1
HAVE_SSE4_1=1
HAVE_SSE4_2=1
HAVE_AVX=1
HAVE_AVX2=1
MAKE += -j 8

With the change 1<<7 to 1<<5 (and without -march=native flag) everything builds fine.

thrasibule commented on 2020-10-30 20:36 (UTC)

@liamtimms and @evg. Could you try to make the following change to cpuid_x86.c, line 222: try to change the 7 into a 5 (so that it reads 1<<5 instead of 1<<7 ) and recompile? I think it should now correctly reportthat your cpu doesn't have avx2, and also fix the build. I've filed an issue upstream here: https://github.com/xianyi/OpenBLAS/issues/2957. I don't have a cpu affected by it, so it would be good to test on yours.

liamtimms commented on 2020-10-30 19:29 (UTC) (edited on 2020-10-30 19:30 (UTC) by liamtimms)

@thrasibule does this bug belong with OpenBLAS upstream? We can file a github issue.

thrasibule commented on 2020-10-30 19:16 (UTC)

Thanks, there does seem a bug with the avx2 detection, cause both of your cpus don't seem to support it, yet HAVE_AVX2=1 gets enabled. I'll try to figure out what's wrong.

liamtimms commented on 2020-10-30 18:51 (UTC) (edited on 2020-10-30 18:51 (UTC) by liamtimms)

@thrasibule, I can confirm the same error in 0.3.12 with Intel but adding -march=native does let it build.

~$ cat /proc/cpuinfo

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 62
model name  : Intel(R) Core(TM) i7-4820K CPU @ 3.70GHz
stepping    : 4
microcode   : 0x42e
cpu MHz     : 1606.396
cache size  : 10240 KB
physical id : 0
siblings    : 8
core id     : 0
cpu cores   : 4
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts md_clear flush_l1d
bugs        : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips    : 7399.70
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

and

openblas-lapack/src/OpenBLAS-0.3.12[master]$ ./getarch 0

CORE=SANDYBRIDGE
LIBCORE=sandybridge
NUM_CORES=8
HAVE_MMX=1
HAVE_SSE=1
HAVE_SSE2=1
HAVE_SSE3=1
HAVE_SSSE3=1
HAVE_SSE4_1=1
HAVE_SSE4_2=1
HAVE_AVX=1
HAVE_AVX2=1
MAKE += -j 8

looks like ./getarch 0 does give HAVE_AVX2=1.

thrasibule commented on 2020-10-30 17:13 (UTC)

So it's very strange, looks like your cpu architecture should be Sandybridge indeed, which doesn't support avx2 (it doesn't show in the list of flags). There must be a bug in the avx2 detection then. What's the output of running ./getarch 0 in the src directory? It should be the same as what's already in Makefile.conf, but just to be sure. What's concerning is that now the package was buildt using the avx2 instructions, so the code will fails randomly if you don't have avx2 in your cpu.

evg commented on 2020-10-30 16:01 (UTC) (edited on 2020-10-30 16:03 (UTC) by evg)

@thrasibule, the output of cat /proc/cpuinfo is

processor    : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 58
model name  : Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
stepping    : 9
microcode   : 0x21
cpu MHz     : 2837.041
cache size  : 8192 KB
physical id : 0
siblings    : 8
core id     : 0
cpu cores   : 4
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts md_clear flush_l1d
vmx flags   : vnmi preemption_timer invvpid ept_x_only flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest
bugs        : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds
bogomips    : 6787.43
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

and seven more identical groups of lines.

With CFLAGS="${CFLAGS} -march=native" it now builds without problems. Thanks a lot for your quick help!

thrasibule commented on 2020-10-30 15:52 (UTC)

That's strange. Your cpu is detected as sandybridge, but yet you HAVE_AVX2=1. avx2 was not available until haswell. What's the output of cat /proc/cpuinfo? And can you try building with CFLAGS="-march=native"? Either change the line in the build section of the PKGBUILD to CFLAGS="${CFLAGS} -march=native" or change it in your makepkg.conf.