Package: openblas / 0.3.13+ds-3+deb11u1
Metadata
| Package | Version | Patches format |
|---|---|---|
| openblas | 0.3.13+ds-3+deb11u1 | 3.0 (quilt) |
Patch series
view the series file| Patch | File delta | Description |
|---|---|---|
| arm gcc flags.patch | (download) |
Makefile.arm |
4 2 + 2 - 0 ! |
use flags suitable for armhf port when target=armv6 See debian/rules for an explanation of why we can't use TARGET=ARMV7 on armhf. Also, if we don't explicitly set the -march and -mfpu flags, the resulting static libraries crash with SIGILL (reason not yet elucidated). |
| kfreebsd.patch | (download) |
Makefile.system |
2 1 + 1 - 0 ! |
various fixes for kfreebsd shared library Under kFreeBSD, give a SONAME to the shared library and install it. Also link it against libm. Simply use the same code as Linux for all these operations. |
| remove openmp warning.patch | (download) |
driver/others/blas_server.c |
10 0 + 10 - 0 ! |
remove warning about openmp This warning is annoying when the library is built with pthreads. See #684344 |
| no embedded lapack.patch | (download) |
Makefile |
100 12 + 88 - 0 ! |
adapt build system for the absence of lapack-netlib/ and relapack directories. Instead use the binary provided by package liblapack-pic, stripping from it the symbols that are overridden by OpenBLAS. |
| shared blas lapack.patch | (download) |
interface/Makefile |
25 25 + 0 - 0 ! |
create shared libraries lib{blas,lapack}.so.3
* It is done so that duplicate code with libopenblas.so.0 is kept as low as
possible. Only the symbols from the external BLAS/LAPACK API are incorporated
in the shared libraries. The rest is obtained by dynamic linking against
libopenblas.so.0. This also gives access to some extra OpenBLAS symbols, in
|
| matgen symbols not included.patch | (download) |
exports/gensymbol |
74 0 + 74 - 0 ! |
matgen symbols are not included in debian binary The libopenblas binaries do not include libmatgen code, so don't mark them as exported and don't test for their presence (in linktest). |
| gensymbols fix detect netlib.patch | (download) |
exports/gensymbol |
3 2 + 1 - 0 ! |
when building libjulia-openblas64, we place the lapack shared objects under lapack64-netlib/ directory. But if exports/gensymbol cannot detect the existence of the lapack-netlib directory, it will skip the lapack symbol which results in incomplete symbol mangling (SYMBOLSUFFIX=64_) through objcopy. |
| riscv64 supported.patch | (download) |
getarch.c |
1 1 + 0 - 0 ! |
--- |
| fix arm64 sigill.patch | (download) |
driver/others/dynamic_arm64.c |
2 1 + 1 - 0 ! |
fix sigill on arm64 when hwcap_cpuid is not set This is a crashing bug (SIGILL) that also affects numpy on arm64. One line of processors affected are NVIDIA Tegra (Jetson devices). . On ARM64, openblas uses feature registers to detect the detailed processor arch. It queries HWCAP_CPUID to check if the feature registers are used. But due to a missing volatile declaration, gcc seems to break this guarding in optimization. |
| avx512 dgemm.patch | (download) |
Makefile.prebuild |
3 2 + 1 - 0 ! |
fix incorrect results of avx512 dgemm kernel when built on pre-avx2 machine When building OpenBLAS with dynamic arch selection on x86-64 hardware that does not support AVX2 (e.g. Intel Ivybridge or earlier), then the AVX512 (SkylakeX) kernel for DGEMM would produce incorrect results (of course when run on AVX512-capable hardware). . The problem was that the check for determining whether the compiler is able to understand AVX512 assembly/intrinsics was doubly incorrect: it would test the build machine capabilities (instead of the compiler capabilities); and it would check for AVX2 instead of AVX512. As a consequence, on pre-AVX2 hardware, the build system would conclude that the compiler is not able to understand AVX512 primitives, and would create a broken AVX512 (SkylakeX) DGEMM kernel (essentially a Haswell kernel, but with some wrong assumptions, hence leading to incorrect numerical results). |
