-
Notifications
You must be signed in to change notification settings - Fork 98
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
Move functor-level GEMM routines to KokkosBlas #1519
base: develop
Are you sure you want to change the base?
Conversation
just my opnion, but i think it would make sense to keep this PR only about moving things around, and then address the implementation of ConjTranspose and scalar stuff in a separate PR |
Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
Here are functor-level routines in their respective header files and namespaces - please let me know if you wish any adjustments in naming of file structure:
|
3b745b0
to
ef75dc3
Compare
|
||
#include "KokkosBlas3_serial_gemm_inner_fixa_impl.hpp" | ||
// TODO: fix compilation errors InnerGemmFixB (not used internally, not tested) | ||
// #include "KokkosBlas3_serial_gemm_inner_fixb_impl.hpp" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Compiler errors in this header were not detected before, because it was not used anywhere (no internal need for InnerGemmFixB
and no tests for it).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
okay
src/blas/KokkosBlas3_gemm.hpp
Outdated
/// | ||
template <typename ArgTransA, typename ArgTransB, typename ArgMode, | ||
typename ArgAlgo = Algo::Gemm::Default> | ||
struct Gemm { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lucbv Should this interface be placed in KokkosBlas::Experimental
namespace ? (it wasn't in KokkosBatched
)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No need for experimental namespace here
@lucbv @fnrizzi For the following tasks, I'll create follow-up PRs:
|
Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
ef75dc3
to
69d97b0
Compare
Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
69d97b0
to
2292855
Compare
Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
2292855
to
f6800db
Compare
Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are defining a macro for COMPACT_MKL multiple times but it should really be centralized instead.
src/blas/KokkosBlas3_gemm.hpp
Outdated
/// | ||
template <typename ArgTransA, typename ArgTransB, typename ArgMode, | ||
typename ArgAlgo = Algo::Gemm::Default> | ||
struct Gemm { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No need for experimental namespace here
|
||
#include "KokkosBlas3_serial_gemm_inner_fixa_impl.hpp" | ||
// TODO: fix compilation errors InnerGemmFixB (not used internally, not tested) | ||
// #include "KokkosBlas3_serial_gemm_inner_fixb_impl.hpp" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
okay
Thank you for pointing this out. On 34c50ea I've created |
34c50ea
to
53c58bc
Compare
Added one trivial fix on 53c58bc and rebased on |
Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
53c58bc
to
de3d26c
Compare
Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
@lucbv @fnrizzi
This PR moves GEMM
Status:
SerialGemm
,TeamGemm
andTeamVectorGemm
fromKokkosBatched
toKokkosBlas
(BatchedSerialGemm
stays in batched);Gemm
interface (dispatching betweenSerialGemm
andTeamGemm
) fromKokkosBatched
toKokkosBlas
;