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

[QST] Difference between rs and ss #1825

Open
haeunlee99 opened this issue Sep 18, 2024 · 3 comments
Open

[QST] Difference between rs and ss #1825

haeunlee99 opened this issue Sep 18, 2024 · 3 comments

Comments

@haeunlee99
Copy link

What is your question?

What is difference between rs and ss? For example how are those two files different?

sm90_mma_array_tma_gmma_ss_warpspecialized.hpp
sm90_mma_multistage_gmma_rs_warpspecialized.hpp

Thanks!

@thakkarV
Copy link
Collaborator

RS uses Hopper MMAs that source A from registers. SS uses MMAs that source A from smem

@haeunlee99
Copy link
Author

Thank you for your response. I thought in hopper SS is used by default. I have several follow up questions.

  1. Which of RS and SS is considered to be optimal?
    Is there a guide to reproduce cuBLAS like near optimal performance?
    (e.g. shared memory swizzle, thread block size, number of threads)
    I saw there are a lot of mainloops under "cutlass/include/cutlass/gemm/collective" and not sure which once would give optimal performance.

  2. Is there also a guide I can reference to find optimal swizzle layout?

  3. This is another question, just for check up.
    If I want to do FP16 tensor core operation with FP32 accumulation, is it correct to use C = D = FP32 in MMA and convert to FP16 in epilogue?

Thank you again!

Copy link

This issue has been labeled inactive-30d due to no recent activity in the past 30 days. Please close this issue if no further response or action is needed. Otherwise, please respond with a comment indicating any updates or changes to the original issue and/or confirm this issue still needs to be addressed. This issue will be labeled inactive-90d if there is no activity in the next 60 days.

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