-
Notifications
You must be signed in to change notification settings - Fork 367
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
Add skew-symmetric BLAS operations #805
base: master
Are you sure you want to change the base?
Commits on Apr 26, 2024
-
Add a
negsc
level-0 scalar operation.This operation negates a scalar (both real and imaginary parts).
Configuration menu - View commit details
-
Copy full SHA for 6740b1f - Browse repository at this point
Copy the full SHA 6740b1fView commit details -
Add/modify level-0 scalar macros.
- Add `bli_?negs/bli_?negris` to negate a scalar. - Add `bli_?setr0s` to zero out only the real part of a complex scalar. - Add (void) to silence unused variable warnings in several level-0 macros.
Configuration menu - View commit details
-
Copy full SHA for 9c0cec8 - Browse repository at this point
Copy the full SHA 9c0cec8View commit details -
Add utility operations for skew-symmetric matrices.
Add `mkskewsymm` and `mkskewherm` operations to explicit skew-symmetrize or skew-hermitize a matrix. For a skew-symmetric matrix, the diagonal is explicitly set to zero, while for a skew-hermitian matrix the real part of the diagonal is set to zero.
Configuration menu - View commit details
-
Copy full SHA for 2df3293 - Browse repository at this point
Copy the full SHA 2df3293View commit details -
Add `BLIS_SKEW_SYMMETRIC` and `BLIS_SKEW_HERMITIAN` matrix structures along with associated help functions and macros. Note that this requires increasing the number of bits used to represent a `struc_t` in the `obj_t::info` member. A compile-time check has also been added to prevent against accidental bit overflow in the future.
Configuration menu - View commit details
-
Copy full SHA for adad99c - Browse repository at this point
Copy the full SHA adad99cView commit details -
Add a
setrd
level-1d operation.This operation sets only the real part of a matrix diagonal to the given value.
Configuration menu - View commit details
-
Copy full SHA for 3a52b71 - Browse repository at this point
Copy the full SHA 3a52b71View commit details -
Change dotaxpyf microkernel signature.
The function signature for dotaxpyf has been changed to allow different `alpha` values for the dot and axpy sub-problems. This is needed to support skew-symmetric operations which differ in more than just conjugation of A and A^T.
Configuration menu - View commit details
-
Copy full SHA for b986782 - Browse repository at this point
Copy the full SHA b986782View commit details -
Add level-2 skew-BLAS operations.
Add `skmv` (skew-symmetric matrix times vector), `shmv` (skew-hermitian matrix times vector), `skr2` (skew-symmetric rank-2 update), and `shr2` (skew-hermitian rank-2 update) operations. Note that a rank-1 skew-symmetric update is not possible, and a rank-1 skew-hermitian update is not particularly useful.
Configuration menu - View commit details
-
Copy full SHA for 9ecaf53 - Browse repository at this point
Copy the full SHA 9ecaf53View commit details -
Update reference packing kernels.
The reference packing kernels have been updated to support skew-symmetric and skew-hermitian matrix structures. No updates to the dense reference packing kernel (`bli_?packm_ckx_<arch>_ref`) or to any optimized packing kernels, since `bli_?packm_struc_cxk` handles the negation of the unstored region by modifying `kappa`.
Configuration menu - View commit details
-
Copy full SHA for 3914a55 - Browse repository at this point
Copy the full SHA 3914a55View commit details -
Add level-3 skew-BLAS operations.
Add `skmm` (skew-symmetric matrix times dense matrix), `shmm` (skew-hermitian matrix times dense matrix), `skr2k` (skew-symmetric rank-2k update), and `shr2k` (skew-hermitian rank-2k update) operations. Note that a rank-k skew-symmetric update is not possible, and a rank-k skew-hermitian update is not particularly useful.
Configuration menu - View commit details
-
Copy full SHA for f571143 - Browse repository at this point
Copy the full SHA f571143View commit details -
Configuration menu - View commit details
-
Copy full SHA for 06829d0 - Browse repository at this point
Copy the full SHA 06829d0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 129ce04 - Browse repository at this point
Copy the full SHA 129ce04View commit details