Martin Kroeker
4664b57e6e
use shortcut only when both incx and incy are zero
2 years ago
Martin Kroeker
c2f4bdbbb4
Merge pull request #4163 from martin-frbg/issue4017
Rework OpenMP thread count limit handling
2 years ago
Martin Kroeker
09131f79a6
Merge pull request #4164 from martin-frbg/issue4162
Enable use of AVX512 microkernels with NVIDIA HPC from version 22.3
2 years ago
Martin Kroeker
6a428b5629
Update casum_microk_skylakex-2.c
2 years ago
Martin Kroeker
ebb447e32e
Update zasum_microk_skylakex-2.c
2 years ago
Martin Kroeker
9f6847583a
nvc currently miscompiles this, hopefully fixed in release 23.09
2 years ago
Martin Kroeker
fe54ee3d15
nvc currently miscompiles this, hopefully fixed in release 23.09
2 years ago
Martin Kroeker
5720fa02c5
Merge pull request #4168 from Mousius/sve-zgemm-cgemm
Use SVE zgemm/cgemm on Arm(R) Neoverse(TM) V1 core
2 years ago
Martin Kroeker
b3a5144a74
Merge pull request #4167 from Mousius/sve-zhemm-fix
Fix ZHEMM copy for SVE
2 years ago
Chris Sidebottom
84a268b6ca
Use SVE zgemm/cgemm on Arm(R) Neoverse(TM) V1 core
This patch removes the prefetches from cgemm/zgemm which improves the performance similar to sgemm/dgemm did in #3868 , this means I'm happy to enable this on any applicable cores.
I also replicated the unrolling the copies from sgemm and dgemm.
2 years ago
Chris Sidebottom
730ca04b48
Fix ZHEMM copy for SVE
Whilst disambiguating whilelt, I inadvertantly used the wrong datatype
for offsets, which can be negative. This rectifies that.
2 years ago
Martin Kroeker
9ba9c8bdc0
Merge pull request #4165 from rgommers/docs-packaging-and-ilp64
Add documentation on redistributing OpenBLAS
2 years ago
Ralf Gommers
ee72575475
Add documentation on redistributing OpenBLAS
This touches on the following:
- build configurations
- naming of symbols, shared/static libraries and other build outputs
like pkg-config and CMake files
- (in more detail) guidance on ILP64 builds
It tries to explain that, while this is only guidance and there may be
reasons to deviate from that, for some build options there are best
practices, and for some others there are choices to make.
It also links to a number of well-maintained build recipes in order
to help packagers of other distros make choices.
Closes gh-3798
[skip ci]
2 years ago
Martin Kroeker
2a62d2df96
Enable use of AVX512 microkernels with NVIDIA HPC from version 22.3
2 years ago
Martin Kroeker
849c8806b8
Merge pull request #4161 from Mousius/non-sve-kernels
Use latest non-SVE kernels in ARMV8SVE
2 years ago
Martin Kroeker
b1f6c4a1e4
Merge pull request #4160 from Mousius/sve-sniff
Add ARMV8SVE to AArch64 Dynamic Dispatch
2 years ago
Martin Kroeker
9ff84dc3f2
remove unused status variable
2 years ago
Martin Kroeker
94adf98bb8
remove unused status variable
2 years ago
Martin Kroeker
3326b924b3
remove status variable blas_num_threads_set; initialize openmp thread maximum on startup
2 years ago
Martin Kroeker
ea669c8ae9
simplify openmp thread limit handling
2 years ago
Chris Sidebottom
24586bc4ff
Disambiguate whilelt
2 years ago
Chris Sidebottom
f971ef55f2
Add ARMV8SVE to AArch64 Dynamic Dispatch
In order to enable support for future cores which have similar tunings
(in this case I'm doing this for the Arm(R) Neoverse(TM) V2 core), this generically detects SVE support and enables it. This should better manage the size and complexity of dynamic dispatch rather than just copy pasting the same parameters.
To make `ARMV8SVE` more representive of the common 128-bit SVE case,
I've split it and similar parameters from A64FX which has the wider
512-bit SVE.
2 years ago
Chris Sidebottom
aea2a4622b
Use latest non-SVE kernels in ARMV8SVE
These are generally better and, in some cases, include threading which helps in the cores we're targeting here.
2 years ago
martin-frbg
7976deff80
Fix file permissions (issue 4095)
2 years ago
martin-frbg
fec4867748
Fix file permissions (issue 4095)
2 years ago
Martin Kroeker
25037ae875
Fix actual arguments in some LAPACK procedure calls (Reference-LAPACK PR 885) ( #4155 )
* Fix actual arguments (Reference-LAPACK PR 885)
2 years ago
Martin Kroeker
bd01dc354b
Merge pull request #4151 from martin-frbg/issue4101
Ensure that early calls to blas_set_num_threads will not overwrite unrelated memory
2 years ago
Martin Kroeker
3bdcf3259d
Merge branch 'xianyi:develop' into issue4101
2 years ago
Martin Kroeker
5cb4f5940d
Merge pull request #4152 from martin-frbg/shutup-4098
Override the C910V DSDOT with generic code to get rid of the qemu precision error in CI
2 years ago
Martin Kroeker
76ef1672f8
Override DSDOT with generic code to get rid of qemu precision error
2 years ago
Martin Kroeker
8a27a274a1
Merge pull request #4150 from martin-frbg/armsve
Fix runtime detection in ARMV8 DYNAMIC_ARCH to check SVE capability
2 years ago
Martin Kroeker
b34f19a365
Ensure that a premature call to set_num_threads will not overwrite unrelated memory
2 years ago
Martin Kroeker
66904f8148
Ensure that a premature call will not overwrite unrelated memory
2 years ago
Martin Kroeker
5c58994eb2
Add fallback warning
2 years ago
Martin Kroeker
ca7199f249
Treat newer Neoverse as N1 if SVE unavailable (may be disabled in container/cloud env)
2 years ago
Martin Kroeker
9e81a3a0a2
Merge pull request #4100 from martin-frbg/cirrusm1gccmake
Cirrus CI: Add Apple M1 build using gcc,gmake and OpenMP
2 years ago
Martin Kroeker
ada9e442eb
Add Apple M1 build using gcc,gmake and OpenMP
2 years ago
Martin Kroeker
81228fc586
Merge pull request #4147 from martin-frbg/aldern
Support Alder Lake N (family 6 exmodel 11 model 14) as Haswell
2 years ago
Martin Kroeker
8da6aca2ec
Support Alder Lake N (fam 6 exmodel 11 model 14) as Haswell
2 years ago
Martin Kroeker
b61e64da6f
Merge pull request #4142 from exyntech/armv8-as-arm64
Fix armv8 detection in system_check.cmake
2 years ago
Martin Kroeker
f82a197143
Merge pull request #4137 from felixonmars/patch-1
Fix riscv64 detection in system_check.cmake
2 years ago
Martin Kroeker
0a637cc403
Fix workspace query corner cases to always return at least 1 (Reference-LAPACK PR 883) ( #4146 )
* Fix workspace query corner cases to always return at least 1
2 years ago
Martin Kroeker
4c43d1eeba
Fix C prototypes and LAPACKE headers for ?GEDMD/?GEDMDQ ( #4134 )
* Fix prototypes for ?GEDMD/?GEDMDQ and their LAPACKE interfaces
2 years ago
Martin Kroeker
49077e7bde
Merge pull request #4145 from martin-frbg/issue4144
Restore zero-initialization of variables in generic ztrsm_utcopy
2 years ago
Martin Kroeker
3d31191b0f
Work around Clang failing to disambiguate SVE intrinsics and add AppleClang crossbuild to MacOS/arm64 DYNAMIC_ARCH in AzureCI ( #4140 )
* Add AppleClang crossbuild to MacOS/arm64 DYNAMIC_ARCH
* add casts to disambiguate svwhilelt for clang
2 years ago
Martin Kroeker
cfa0a80664
Restore initialization of data variables
2 years ago
Martin Kroeker
9567305e4c
Restore initialization of data01,data02
2 years ago
Martin Kroeker
affeef0b9c
Fix gmake build not always picking the right ARM64 arch options for clang ( #4136 )
* Fix gcc version checks erroneously excluding clang
* Avoid some mtune names not supported by (Apple)Clang
2 years ago
Andy Mroczkowski
45b2cd2fb2
treat armv8 CMAKE_SYSTEM_PROCESSOR as arm64
The cmake scripts incorrectly treated armv8 as 32-bit arm, causing
compilation issues. This just adds 'armv8' to the arm64 condition check.
2 years ago
Martin Kroeker
494313e75e
Merge pull request #4138 from martin-frbg/fix4126
Add converted C versions of C/ZRSCL to fix build errors introduced by PR4126
2 years ago