-
Notifications
You must be signed in to change notification settings - Fork 38
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
Debugging and profiling workflow #80
Comments
Having |
Have you tried with visual studio code? As far as I know most of the focus for julia tool development goes in there. If yes, where do we get stuck? |
Yup, you're right. Unfortunately,
Yes, I primarily work with VSCode. The tools work rather well! However, the debugger is unable to enter into any of the kernel functions (or functions they call). Even on single-thread CPU computations. This is particularly important when trying to identify the source of dynamic dispatch (mentioned above) or if there are any specialization issues. Enabling any debugger to work with |
Is there a recommended workflow when trying to debug and profile
@parallel_indices
functions?Often, my functions reference several other functions (which typically act as function barriers). If I want to profile these nested functions, or even the parent function, I run into various problems due to the way the macro extracts out code.
For example, it would be great if I could use something like
Cthulhu.jl
to recursively evaluate the@code_warntype
output (and check for dynamic dispatching etc.) but this currently isn't possible. More importantly, none of the current Julia debuggers can traverse into any of the kernels. In other words, I can't seem to find a way to inspect the current running state of the kernel (which is also important for checking for dynamic dispatch and specialization errors).I could copy the body contents into a "custom" function that implements a manual loop over the indices... but this seems a little too brute force.
The text was updated successfully, but these errors were encountered: