- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have an OpenCL program that builds and executes a number of kernels. I would like to look at the generated assembly code, to try to see why it is running so slowly on Intel PVC HW. How can I generate and examine PVC assembly?
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello! There are several options to look at the generated assembly for Intel GPUs with various pros and cons. Ultimately, the best option will depend on the tools you are most familiar with:
- VTune can show you GPU assembly and other GPU-related profiling information (I don't have a ton of experience with this myself).
- The OpenCL Intercept Layer can collect GPU assembly while your program is running, see instructions here: https://github.com/intel/opencl-intercept-layer/blob/main/docs/kernel_isa_gpu.md
- You can use the "ocloc" offline compiler to compile OpenCL kernels to GPU assembly offline.
- You can use IGC "shader dumps" to dump the GPU assembly it generates, which can also include source line information if you pass the right program build options. See this recent issue with the steps I used to do this recently: https://github.com/intel/opencl-intercept-layer/issues/310
Hope this helps!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear User,
If you are using MS Visual Studio, here are some links to Intel OpenCL code builder.
Introduction to GEN Assembly (intel.com)
You can also try several options provided by Ben in previous reply and share us your results.
Hope this works!!
Thanks
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page