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
coz: Causal profiler #3794
coz: Causal profiler #3794
Conversation
Coz is a new kind of profiler that unlocks optimization opportunities missed by traditional profilers. Coz employs a novel technique we call causal profiling that measures optimization potential. This measurement matches developers' assumptions about profilers: that optimizing highly-ranked code will have the greatest impact on performance. Causal profiling measures optimization potential for serial, parallel, and asynchronous programs without instrumentation of special handling for library calls and concurrency primitives. Instead, a causal profiler uses performance experiments to predict the effect of optimizations. This allows the profiler to establish causality: "optimizing function X will have effect Y," exactly the measurement developers had assumed they were getting all along. https://github.com/plasma-umass/coz
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
80e6bc6
to
88606ec
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@prince-chrismc Thank you for prompt review. I will try to push CMake build upstream in the next two weeks. |
Making some progress here: plasma-umass/coz#178 |
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
This comment has been minimized.
This comment has been minimized.
recipes/coz/all/conanfile.py
Outdated
__cmake = None | ||
|
||
@property | ||
def _cmake(self): | ||
if self.__cmake is None: | ||
self.__cmake = CMake(self) | ||
return self.__cmake | ||
|
||
def build(self): | ||
self._cmake.configure() | ||
self._cmake.build() | ||
|
||
def package(self): | ||
self._cmake.install() |
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.
we use another template usually, I don't say this one is bad, but it's harder to maintain when there are several conventions.
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.
See 1d5defd
recipes/coz/all/conanfile.py
Outdated
if self.settings.os == "Linux": | ||
self.cpp_info.system_libs = ["dl", "rt", "pthread"] |
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.
private dependencies, so probably useless because coz is always shared, but it doesn't hurt I guess
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.
See 95b1852
@klimkin please, consider SpaceIm's review, so we are good to go. |
Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com>
Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com>
Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com>
Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com>
All green in build 29 (
|
* coz: Causal profiler Coz is a new kind of profiler that unlocks optimization opportunities missed by traditional profilers. Coz employs a novel technique we call causal profiling that measures optimization potential. This measurement matches developers' assumptions about profilers: that optimizing highly-ranked code will have the greatest impact on performance. Causal profiling measures optimization potential for serial, parallel, and asynchronous programs without instrumentation of special handling for library calls and concurrency primitives. Instead, a causal profiler uses performance experiments to predict the effect of optimizations. This allows the profiler to establish causality: "optimizing function X will have effect Y," exactly the measurement developers had assumed they were getting all along. https://github.com/plasma-umass/coz * Cleanup config_options, since options.fPIC does not exist * Patch Python version * Disable incompatible Macos builds * Build test_package files with debug info * Implement code-review fixes * Use CMake from the package sources * Do not package lib/cmake * Pushed patch to upstream * Do not build for GCC version <5.0 * Require C++11 to match parent * Update recipes/coz/all/test_package/conanfile.py Co-authored-by: Chris Mc <prince.chrismc@gmail.com> * Update recipes/coz/all/conanfile.py Co-authored-by: Uilian Ries <uilianries@gmail.com> * Apply suggestions from code review Co-authored-by: Uilian Ries <uilianries@gmail.com> * Update recipes/coz/all/conanfile.py Co-authored-by: Uilian Ries <uilianries@gmail.com> * Update recipes/coz/all/conanfile.py Co-authored-by: Uilian Ries <uilianries@gmail.com> * Update recipes/coz/all/test_package/CMakeLists.txt Co-authored-by: Uilian Ries <uilianries@gmail.com> * Minor cleanup * Update recipes/coz/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> * Update recipes/coz/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> * Update recipes/coz/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> * Update recipes/coz/all/CMakeLists.txt Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> * Use cmake template similar to other recipes * Remove private system_libs dependencies since building always shared Co-authored-by: Chris Mc <prince.chrismc@gmail.com> Co-authored-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com>
Coz is a new kind of profiler that unlocks optimization opportunities
missed by traditional profilers. Coz employs a novel technique we call
causal profiling that measures optimization potential. This measurement
matches developers' assumptions about profilers: that optimizing
highly-ranked code will have the greatest impact on performance. Causal
profiling measures optimization potential for serial, parallel, and
asynchronous programs without instrumentation of special handling for
library calls and concurrency primitives. Instead, a causal profiler
uses performance experiments to predict the effect of optimizations.
This allows the profiler to establish causality: "optimizing function X
will have effect Y," exactly the measurement developers had assumed they
were getting all along.
https://github.com/plasma-umass/coz
Specify library name and version: coz/0.2.2
conan-center hook activated.