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

Add GEMM default Kernel #125

Closed
crtrott opened this issue Nov 29, 2017 · 3 comments
Closed

Add GEMM default Kernel #125

crtrott opened this issue Nov 29, 2017 · 3 comments

Comments

@crtrott
Copy link
Member

crtrott commented Nov 29, 2017

The kernel should be able to handle arbitrary layouts as well as scalar types.
It also should have ok performance.

@crtrott crtrott self-assigned this Nov 29, 2017
crtrott added a commit that referenced this issue Nov 29, 2017
Now testing differen alpha and beta values, in particular beta=0
as special case.

This should fullfil requirements of issue #125
@mhoemmen
Copy link
Contributor

Q: What should users do if the fall-back is host only?

@crtrott
Copy link
Member Author

crtrott commented Nov 30, 2017

This kernel works on everything. And the point is that it is a fallback for not having the right type of TPL. It does not work with AD types which use internal parallelization though.

@mhoemmen
Copy link
Contributor

Stokhos deals with this in its Belos adapters by calling GEMM on the underlying entry type (e.g., double). Tpetra may still want to compile those functions for Stokhos, etc. types, though. If we get compilation errors, Tpetra can always work around by wrapping and specializing out for unsupported Scalar types.

@mhoemmen mhoemmen mentioned this issue Nov 30, 2017
kyungjoo-kim pushed a commit that referenced this issue Dec 11, 2017
Now testing differen alpha and beta values, in particular beta=0
as special case.

This should fullfil requirements of issue #125
@crtrott crtrott closed this as completed Dec 15, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants