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] What is API version compatibility? #2025

Open
ZzEeKkAa opened this issue Jan 6, 2025 · 4 comments
Open

[QST] What is API version compatibility? #2025

ZzEeKkAa opened this issue Jan 6, 2025 · 4 comments

Comments

@ZzEeKkAa
Copy link

ZzEeKkAa commented Jan 6, 2025

I want to pin cutlass version that can work with my project, but could not find if cutlass follows semantic version. Right now project requires cutlass 3.5.1. Is it safe to have >=3.5.1;<4.0.0 restriction, or it should be >=3.5.1;<3.6.0?

@hwu36
Copy link
Collaborator

hwu36 commented Jan 8, 2025

>=3.5.1;<4.0.0 should be good.

Our api will stay stable until we bump to 4.x. During 3.x time, we might only make some minor api changes.

@thakkarV
Copy link
Collaborator

thakkarV commented Jan 8, 2025

What Haicheng said is far, but please also note that we don't strictly follow semver and have broken compatibility for minor internal methods here and there before. Pretty much anything not at the device layer abstraction doesn't promise 100% stability. That said, between minor version, we try our best to be nice and not break users too much even for abstractions below the device layer

@ankutalev
Copy link

ankutalev commented Jan 9, 2025

What Haicheng said is far, but please also note that we don't strictly follow semver and have broken compatibility for minor internal methods here and there before. Pretty much anything not at the device layer abstraction doesn't promise 100% stability. That said, between minor version, we try our best to be nice and not break users too much even for abstractions below the device layer

Should I interpret this comment as answer to #2009 and #2010 ?

edit. Seems like no, because you mean only internal methods

@thakkarV
Copy link
Collaborator

thakkarV commented Jan 9, 2025

I think fall in the same category as they are not device layer interfaces. 2009 is a fix more than breakage, since those operations only support saturating FMAs, so removing those is actually fixing the contract. 2010 is a regression if is breaks the user facing EVT API, but at a glance only the internals were changed?

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

4 participants