-
Notifications
You must be signed in to change notification settings - Fork 2
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
Add tracer annotations to HIP code in ReSolve #134
Conversation
# The assumption is roctracer lib and headers are installed at the same | ||
# place as the rest of ROCm. | ||
target_link_libraries(ReSolve PUBLIC "-lroctracer64 -lroctx64") | ||
elseif(RESOLVE_USE_CUDA) |
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'd suggest throwing a warning or error here to notify the user that profiling is currently only support with roctx.
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 believe 918a794 addresses this 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.
cc #63
# The assumption is roctracer lib and headers are installed at the same | ||
# place as the rest of ROCm. | ||
target_link_libraries(ReSolve PUBLIC "-lroctracer64 -lroctx64") | ||
elseif(RESOLVE_USE_CUDA) |
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.
cc #63
message(NOTICE "Profiling support enabled, but Re::Solve does not create tracer annotations for host code.") | ||
message(NOTICE "This profiling support option will have no effect.") |
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.
Could support this with a different profiling tool like caliper/tau... At the same time, I don't see why we couldn't use ROCm/CUDA profilers to view host code performance as well, albeit that would require a hack + messy CMake
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.
You are right, we can, it is just that I didn't do it in this PR. Probably the message should say "tracer annotation not implemented for ...".
Add some generic support for building ReSolve with profiling annotations and implement ROC Tracer annotations for HIP-based code in ReSolve. This is based on
no-splitlu-exp-roctx
branch by @PaulMullowney.This will allow us to add in a straightforward manner annotations for CUDA (and other) profilers in the future.
Note that ROC Tracer does not provide CMake targets (see roctracer issue 56), so the CMake configuration for it looks like a hack.
Closes #68.