@startuml 'skinparam roundCorner 5 'scale 1 package KokkosBlas #ivory { frame "blas/src/KokkosBlas3_gemm.hpp" as gemm #dddddd { rectangle "**Gemm**<MemberType, ArgTransA, ArgTransB, ArgMode, ArgAlgo>\n::**invoke**(member, alpha, A, B, beta, C)" as Gemm #ddffff rectangle "**SerialGemm**<ArgTransA, ArgTransB, ArgAlgo>\n::**invoke**(alpha, A, B, beta, C)" as SerialGemm #ddffff rectangle "**TeamGemm**<MemberType, ArgTransA, ArgTransB, ArgAlgo>\n::**invoke**(member, alpha, A, B, beta, C)" as TeamGemm #ddffff rectangle "**TeamVectorGemm**<MemberType, ArgTransA, ArgTransB, ArgAlgo>\n::**invoke**(member, alpha, A, B, beta, C)" as TeamVectorGemm #ddffff } frame "blas/impl/KokkosBlas3_serial_gemm_impl.hpp" as serial_gemm_impl #dddddd { rectangle "**SerialGemm**::**invoke**(...)\n \ all combinations of:\n \ ⚫ ArgTransA = NoTranspose | Transpose\n \ ⚫ ArgTransB = NoTranspose | Transpose\n \ ⚫ ArgAlgo = Blocked | Unblocked" as SerialGemm_impl #skyblue } frame "blas/tpls/KokkosBlas3_serial_gemm_tpl_spec_decl.hpp" as serial_gemm_mkl_spec_decl #dddddd { rectangle "**SerialGemm**::**invoke**(...)\n \ all combinations of:\n \ ⚫ ArgTransA = NoTranspose | Transpose\n \ ⚫ ArgTransB = NoTranspose | Transpose\n \ ⚫ ArgAlgo = CompactMKL" as SerialGemm_MKL_impl #skyblue } frame "blas/impl/KokkosBlas3_team_gemm_impl.hpp" as team_gemm_impl #dddddd { rectangle "**TeamGemm**::**invoke**(...) \n \ all combinations of:\n \ ⚫ ArgTransA = NoTranspose | Transpose\n \ ⚫ ArgTransB = NoTranspose | Transpose\n \ ⚫ ArgAlgo = Blocked | Unblocked" as TeamGemm_impl #skyblue rectangle "**TeamVectorGemm**::**invoke**(...) \n \ all combinations of:\n \ ⚫ ArgTransA = NoTranspose | Transpose\n \ ⚫ ArgTransB = NoTranspose | Transpose\n \ ⚫ ArgAlgo = Unblocked" as TeamVectorGemm_impl #skyblue } package "KokkosBlas::Impl" as KokkosBlas_Impl #ivory { frame "blas/impl/KokkosBlas3_serial_gemm_internal.hpp" as serial_gemm_int #dddddd { rectangle "**SerialGemmInternal**<ArgAlgo>\n::**invoke**(m, n, k, alpha, A, as0, as1, B, bs0, bs1, beta, C, cs0, cs1)" as SerialGemmInternal #ddffff rectangle "**SerialGemmInternal**::**invoke**(...) \n \ all combinations of:\n \ ⚫ ArgAlgo = Blocked | Unblocked" as SerialGemmInternal_impl #skyblue } frame "blas/impl/KokkosBlas3_teamv_gemm_internal.hpp" as team_gemm_int #dddddd { rectangle "**TeamGemmInternal**<ArgAlgo>\n::**invoke**(member, m, n, k, alpha, A, as0, as1, B, bs0, bs1, beta, C, cs0, cs1)" as TeamGemmInternal #ddffff rectangle "**TeamVectorGemmInternal**<ArgAlgo>\n::**invoke**(member, m, n, k, alpha, A, as0, as1, B, bs0, bs1, beta, C, cs0, cs1)" as TeamVectorGemmInternal #ddffff rectangle "**TeamGemmInternal**::**invoke**(...) \n \ all combinations of:\n \ ⚫ ArgAlgo = Blocked | Unblocked" as TeamGemmInternal_impl #skyblue rectangle "**TeamVectorGemmInternal**<ArgAlgo=Unblocked>::**invoke**(...)" as TeamVectorGemmInternal_impl #skyblue } } Gemm --> SerialGemm Gemm --> TeamGemm Gemm ..> TeamVectorGemm SerialGemm <.. SerialGemm_impl #0000ff : <color:blue> implements</color> SerialGemm <.. SerialGemm_MKL_impl #0000ff : <color:blue> implements</color> TeamGemm <.. TeamGemm_impl #0000ff : <color:blue> implements</color> TeamVectorGemm <.. TeamVectorGemm_impl #0000ff : <color:blue> implements</color> SerialGemm_impl --> SerialGemmInternal TeamGemm_impl --> TeamGemmInternal TeamVectorGemm_impl --> TeamVectorGemmInternal SerialGemmInternal <.. SerialGemmInternal_impl #0000ff : <color:blue> implements</color> TeamGemmInternal <.. TeamGemmInternal_impl #0000ff : <color:blue> implements</color> TeamVectorGemmInternal <.. TeamVectorGemmInternal_impl #0000ff : <color:blue> implements</color> ' @enduml
Decode URL
Submit
amiga
aws-orange
black-knight
bluegray
blueprint
cerulean-outline
cerulean
crt-amber
crt-green
cyborg-outline
cyborg
hacker
lightgray
mars
materia-outline
materia
metal
mimeograph
minty
plain
reddress-darkblue
reddress-darkgreen
reddress-darkorange
reddress-darkred
reddress-lightblue
reddress-lightgreen
reddress-lightorange
reddress-lightred
sandstone
silver
sketchy-outline
sketchy
spacelab
spacelab-white
superhero-outline
superhero
toy
united
vibrant
🎉 Discover the future PlantUML Web Editor! 🚀
PNG
SVG
ASCII Art