-
Notifications
You must be signed in to change notification settings - Fork 77
[ttnn.jit] new wheel #5983
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
base: main
Are you sure you want to change the base?
[ttnn.jit] new wheel #5983
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5983 +/- ##
=======================================
Coverage 69.34% 69.35%
=======================================
Files 334 334
Lines 50999 50999
=======================================
+ Hits 35367 35371 +4
+ Misses 15632 15628 -4 ☔ View full report in Codecov by Sentry. |
nsumrakTT
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So we are building ttnn-jit wheel in every release build configuration. Then, on each test machine we download and install it.
- Do we need ttnn-jit wheel for each test?
- Do we need ttnn-jit for each configuration?
- Do we need ttnn-jit wheel for ttnn-jit test at all? The wheel is nice feature for release to the users, but for CI I don't see why it has to be built, uploaded and downloaded when it can run from source?
- Is wheel tested for release to the end user? Do we support manylinux as pykernel and tt-mlir (and ttnn wheel in metal)?
No only for the ttnn-jit tests.
No only for the tracy build config in which we run the jit tests To this end, I will try to isolate the wheel download/install step to only the jit tests is possible.
Yes we want to run it on CI so devs are working as close to the production workflow as possible. I don't think this blows up build times either.
To test the wheel for release to user, we'd need a representative metal dev env in python3.10, which currently doesn't seem possible on CI. We could also maybe have a flow to test the wheel release in metal in a python3.11 env. |
|
@vtangTT Thanks for explanation. |
82c8899 to
e5044f9
Compare
a36b8b8 to
0dbce0b
Compare
nsumrakTT
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great, thank you!
f15d0eb to
950f73f
Compare
| BUILD_RPATH "$ORIGIN;$<TARGET_FILE_DIR:TTMLIRRuntime>" | ||
| BUILD_WITH_INSTALL_RPATH FALSE | ||
| ) | ||
| endif() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see what you mean about changing the runtime rpath properties based on TTMLIR_ENABLE_TTNN_JIT being set, but this enables such a drastic cleanup of setup.py I think it's still worth it.
950f73f to
af08b92
Compare
16a2f65 to
f7aa536
Compare
| { "runs-on": "n150", "image": "speedy", "script": "ttnn_standalone.sh" }, | ||
| { "runs-on": "n150", "image": "tracy", "script": "pykernel.sh" }, | ||
| { "runs-on": "n150", "image": "tracy", "script": "ttnn_jit.sh" }, | ||
| { "runs-on": "n150", "image": "speedy", "script": "alchemist.sh" }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@vtangTT can we change this to
{ "runs-on": "n150", "image": "tracy", "script": "pykernel.sh" },
{ "runs-on": ["n150", "llmbox"], "image": "tracy", "script": "ttnn_jit.sh" },
so that jit tests stay enabled on t3k/llmbox
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yep i see the merge conflict
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed.
This reverts commit c9f3e31.
f7aa536 to
c43fb96
Compare
Ticket
#5232
#5918
Problem description
Provide context for the problem.
What's changed
libJITCPP.so- JIT src lib (this is just the JitCache)_ttnn_jit.cpython-311-x86_64-linux-gnu.so- JIT bindings_ttmlir.cpython-311-x86_64-linux-gnu.so- MLIR bindingslibTTMLIRRuntime.so- MLIR runtime bindings"$ORIGIN/../../ttnn/build/lib",- to point tosite-packages/ttnn/build/libwhich is where ttnn libs will be installed through the wheel"$ORIGIN/../../../../../../build/lib"- to point to${TT_METAL_HOME}/build/lib, which assumes you are running the metal dev venv (created usingcreate_venv.sh)cmake --build buildwill now default to building and installing the JIT wheel into venv instead of copying files intobuild/python_packagescmake --build build -- ttnn-jitwill do the samecall-build-wheels.ymlttnn_jit.shttnn-jit.shbuild script since it's no longer neededImportant Note
Checklist