-
Notifications
You must be signed in to change notification settings - Fork 614
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
Tracy with internalized Capstone 6 #16777
Comments
ScottTodd
added a commit
that referenced
this issue
Apr 9, 2024
Progress on #14470 | | | | -- | -- | | Current page | https://iree.dev/developers/performance/profiling-with-tracy/ | | This PR | https://scotttodd.github.io/iree/developers/performance/profiling-with-tracy/ | This restructures the "Profiling with Tracy" developer doc / website page to focus less on the specifics of build and compile configurations and more on what Tracy is and how to use it. Troubleshooting tips and building from source instructions are still included but they are off to the side. I also added new screenshots, diagrams, tips, and formatting. Some of the "building from source" instructions can be further simplified if we * start using [Tracy's recently added upstream CMake build](https://github.com/wolfpld/tracy/blob/master/CMakeLists.txt) (in fact, the old Visual Studio solutions and Makefiles were removed in wolfpld/tracy@7f8a2e2) * address #16777
ScottTodd
added a commit
that referenced
this issue
May 23, 2024
Progress on #16777 The main change here is switching from maintaining our own `build_tools/third_party/tracy_client/CMakeLists.txt` file for the Tracy client library and `build_tools/third_party/tracy/CMakeLists.txt` file for all of the Tracy server tools (capture, profiler, csv export) to only supporting the 'capture' tool there. Developers should be using the upstream CMake projects to build the profiler, csv export, and other tools. I tried to use the upstream build for the 'capture' tool but the upstream project pulls in extra deps and modifies several top level CMake options. * Before, `IREE_BUILD_TRACY` would build `iree-tracy-profiler`, `iree-tracy-capture`, and `iree-tracy-csvexport` tools * Now, `IREE_BUILD_TRACY` just builds `iree-tracy-capture` Both before and after this change, a `iree-tracy-capture` tool is bundled into the runtime Python bindings. --------- Signed-off-by: Scott Todd <scott.todd0@gmail.com>
Tracy has been updated in IREE. Let's update the capstone version upstream and then update again? |
gglangg
pushed a commit
to gglangg/iree
that referenced
this issue
Jun 4, 2024
Progress on iree-org#16777 The main change here is switching from maintaining our own `build_tools/third_party/tracy_client/CMakeLists.txt` file for the Tracy client library and `build_tools/third_party/tracy/CMakeLists.txt` file for all of the Tracy server tools (capture, profiler, csv export) to only supporting the 'capture' tool there. Developers should be using the upstream CMake projects to build the profiler, csv export, and other tools. I tried to use the upstream build for the 'capture' tool but the upstream project pulls in extra deps and modifies several top level CMake options. * Before, `IREE_BUILD_TRACY` would build `iree-tracy-profiler`, `iree-tracy-capture`, and `iree-tracy-csvexport` tools * Now, `IREE_BUILD_TRACY` just builds `iree-tracy-capture` Both before and after this change, a `iree-tracy-capture` tool is bundled into the runtime Python bindings. --------- Signed-off-by: Scott Todd <scott.todd0@gmail.com>
gglangg
pushed a commit
to gglangg/iree
that referenced
this issue
Jun 4, 2024
Progress on iree-org#16777 The main change here is switching from maintaining our own `build_tools/third_party/tracy_client/CMakeLists.txt` file for the Tracy client library and `build_tools/third_party/tracy/CMakeLists.txt` file for all of the Tracy server tools (capture, profiler, csv export) to only supporting the 'capture' tool there. Developers should be using the upstream CMake projects to build the profiler, csv export, and other tools. I tried to use the upstream build for the 'capture' tool but the upstream project pulls in extra deps and modifies several top level CMake options. * Before, `IREE_BUILD_TRACY` would build `iree-tracy-profiler`, `iree-tracy-capture`, and `iree-tracy-csvexport` tools * Now, `IREE_BUILD_TRACY` just builds `iree-tracy-capture` Both before and after this change, a `iree-tracy-capture` tool is bundled into the runtime Python bindings. --------- Signed-off-by: Scott Todd <scott.todd0@gmail.com>
bangtianliu
pushed a commit
to bangtianliu/iree
that referenced
this issue
Jun 5, 2024
Progress on iree-org#16777 The main change here is switching from maintaining our own `build_tools/third_party/tracy_client/CMakeLists.txt` file for the Tracy client library and `build_tools/third_party/tracy/CMakeLists.txt` file for all of the Tracy server tools (capture, profiler, csv export) to only supporting the 'capture' tool there. Developers should be using the upstream CMake projects to build the profiler, csv export, and other tools. I tried to use the upstream build for the 'capture' tool but the upstream project pulls in extra deps and modifies several top level CMake options. * Before, `IREE_BUILD_TRACY` would build `iree-tracy-profiler`, `iree-tracy-capture`, and `iree-tracy-csvexport` tools * Now, `IREE_BUILD_TRACY` just builds `iree-tracy-capture` Both before and after this change, a `iree-tracy-capture` tool is bundled into the runtime Python bindings. --------- Signed-off-by: Scott Todd <scott.todd0@gmail.com>
LLITCHEV
pushed a commit
to LLITCHEV/iree
that referenced
this issue
Jul 30, 2024
Progress on iree-org#16777 The main change here is switching from maintaining our own `build_tools/third_party/tracy_client/CMakeLists.txt` file for the Tracy client library and `build_tools/third_party/tracy/CMakeLists.txt` file for all of the Tracy server tools (capture, profiler, csv export) to only supporting the 'capture' tool there. Developers should be using the upstream CMake projects to build the profiler, csv export, and other tools. I tried to use the upstream build for the 'capture' tool but the upstream project pulls in extra deps and modifies several top level CMake options. * Before, `IREE_BUILD_TRACY` would build `iree-tracy-profiler`, `iree-tracy-capture`, and `iree-tracy-csvexport` tools * Now, `IREE_BUILD_TRACY` just builds `iree-tracy-capture` Both before and after this change, a `iree-tracy-capture` tool is bundled into the runtime Python bindings. --------- Signed-off-by: Scott Todd <scott.todd0@gmail.com> Signed-off-by: Lubo Litchev <lubol@google.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Context
Tracy has an external dependency on Capstone for disassembly.
Only the current development branch of capstone, named next, is recent enough for our purposes, ans we in IREE are living on the cutting edge of new SIMD ISA extensions. Its version number is 6, so we currently want Capstone 6, but by the time it becomes stable we'll probably want Capstone 7, etc. We want the cutting edge.
That has been a problem for IREE users with Tracy, requiring custom documentation. Compounding that, Capstone has recently done a breaking renaming, requiring patching Tracy: wolfpld/tracy#671 .
Now on the latter Tracy PR the discussion has mentioned that another Tracy PR wolfpld/tracy#707 is about to internalize Tracy as a CPM.cmake package. I don't know any specifics of CPM.cmake, but that shouldn't matter too much for us since we are carrying our own Tracy CMake setup anyway: https://github.com/openxla/iree/blob/main/build_tools/third_party/tracy/CMakeLists.txt
So once Tracy has internalized a version of Capstone (currently 5.0.1), we could do a Tracy bump on our side, also internalizing the same version of Capstone in whichever way works for us; and then as a second step from there, we could work with Tracy upstream on a Capstone 5->6 bump, the Tracy-side code changes being as in wolfpld/tracy#671 or the simpler macro-expansion of that since, being internalized, now we wouldn't have to worry about compatibility with other Capstone versions anymore.
Steps
The text was updated successfully, but these errors were encountered: