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

about zenMatMulSplit split strategy #1

Open
MichoChan opened this issue Aug 17, 2021 · 1 comment
Open

about zenMatMulSplit split strategy #1

MichoChan opened this issue Aug 17, 2021 · 1 comment
Labels
question Further information is requested

Comments

@MichoChan
Copy link

" if m/6 < n/16, there is no benifit in splitting m, as it will
//make more skinny matix sizes."

i find that throughput is higher when no split in case (m/6 < n/16), but latency is higher than split, could you give suggestions about how to balance the throughput with latency ? is there some better split strategy ?

@ratan-prasad ratan-prasad added the question Further information is requested label Aug 18, 2021
@cramasam
Copy link
Contributor

cramasam commented Oct 25, 2021

We don't do split on m dimension in ZenDNN based on following conditions,

  1. (m/6 < n/16) - Splitting here will make the matrix more skinny. BLIS internally handles in optimal way
  2. (n,n,k >= 1024) - This makes matrix more suitable for BLIS to take decision of split/no-split internally
  3. (m,n >= 4096) - Same for this condition like '2'
  4. (m <= (thread_qty6) - m is not large enough to accommodate total threads6 size

For latency we have been observed that BLIS takes cares of it in the optimal way. We just need to bypass the call to BLIS sgemm.

If you can share the sizes of matrices that you are working on, It would help us to give you better insights.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants