Skip to content
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

task1: implementations #2

Open
fnrizzi opened this issue May 25, 2022 · 1 comment
Open

task1: implementations #2

fnrizzi opened this issue May 25, 2022 · 1 comment
Assignees

Comments

@fnrizzi
Copy link

fnrizzi commented May 25, 2022

Scope

The objective would be do things like:

Kokkos:View<double**> A;
Kokkos::par_for(100, 
  KOKKOS_LAMBDA(int i)
  {
    auto Aslice = subview(A...);

    KokkosBlas::SerialGemv(... );
    KokkosBlas::SerialGemm(... );
    KokkosBlas::SerialScal(... );

    KokkosBlas::ThreadVectorGemv(... );
    KokkosBlas::ThreadVectorGemm(... );
  });

The key thing is to have these implemented inside the KokkosBlas namespace.

IMPORTANT: TeamVector from SOW actually means ThreadVector or Vector (something that can run under TeamThreadRange) - not to be confused with TeamVectorRange.

Note: "special" implementations, like atomic-updating gemm in BSR SpGEMM are not in scope of this task.

Update any relevant documentation - where exactly ? (e.g. Wiki)

Status

Serial Team / TeamVector ThreadVector
a) GEMV ✅Done #1433 ✅Done #1435 ⏳ Queued for review #1556
b) GEMM ✔ In review #1519 ✔ In review #1519 ⏳ Queued for review #1556
c) Scal ✅Done #1448 ✅ Done #1448 ⏳ Queued for review #1556
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants