Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
las3_pub
/
predictable_parallel_patterns
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
18cd7cf7
authored
Jun 07, 2019
by
FritzFlorian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add note on VTune Amplifier for profiling.
parent
468aae43
Pipeline
#1258
passed with stages
in 3 minutes 38 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
2 deletions
+16
-2
README.md
+16
-2
No files found.
README.md
View file @
18cd7cf7
...
@@ -14,6 +14,7 @@ Further notes on [performance](PERFORMANCE.md) and general
...
@@ -14,6 +14,7 @@ Further notes on [performance](PERFORMANCE.md) and general
[
notes
](
NOTES.md
)
on the development progress can be found in
[
notes
](
NOTES.md
)
on the development progress can be found in
the linked documents.
the linked documents.
### Installation
### Installation
Clone the repository and open a terminal session in its folder.
Clone the repository and open a terminal session in its folder.
...
@@ -111,6 +112,10 @@ Available Settings:
...
@@ -111,6 +112,10 @@ Available Settings:
-
Enables thread/datarace sanitizer to be linked to the executable
-
Enables thread/datarace sanitizer to be linked to the executable
-
Only one sanitizer can be active at once
-
Only one sanitizer can be active at once
-
Enabling has a performance hit (do not use in releases)
-
Enabling has a performance hit (do not use in releases)
-
`-DDEBUG_SYMBOLS=ON`
-
default OFF
-
Enables the build with debug symbols
-
Use for e.g. profiling the release build
### Testing
### Testing
...
@@ -130,7 +135,7 @@ keep the repository in a state where the sanitizer reports errors.
...
@@ -130,7 +135,7 @@ keep the repository in a state where the sanitizer reports errors.
Consider reading
[
the section on common data races
](
https://github.com/google/sanitizers/wiki/ThreadSanitizerPopularDataRaces
)
Consider reading
[
the section on common data races
](
https://github.com/google/sanitizers/wiki/ThreadSanitizerPopularDataRaces
)
to get an idea of what we try to avoid in our code.
to get an idea of what we try to avoid in our code.
### Profiling
### Profiling
EasyProfiler
To make profiling portable and allow us to later analyze the logs
To make profiling portable and allow us to later analyze the logs
programaticly we use
[
easy_profiler
](
https://github.com/yse/easy_profiler
)
programaticly we use
[
easy_profiler
](
https://github.com/yse/easy_profiler
)
...
@@ -144,7 +149,7 @@ the `profiler_gui <output.prof>` command.
...
@@ -144,7 +149,7 @@ the `profiler_gui <output.prof>` command.
Please note that the profiler adds overhead when looking at sub millisecond
Please note that the profiler adds overhead when looking at sub millisecond
method invokations as we do and it can not replace a seperate
method invokations as we do and it can not replace a seperate
profiler like
`gperf`
or
`valgrind
`
for detailed analysis.
profiler like
`gperf`
,
`valgrind`
or
`vtune amplifier
`
for detailed analysis.
We still think it makes sense to add it in as an optional feature,
We still think it makes sense to add it in as an optional feature,
as the customizable colors and fine grained events (including collection
as the customizable colors and fine grained events (including collection
of variables) can be used to visualize the
`big picture`
of
of variables) can be used to visualize the
`big picture`
of
...
@@ -152,3 +157,12 @@ program execution. Also, we hope to use it to log 'events' like
...
@@ -152,3 +157,12 @@ program execution. Also, we hope to use it to log 'events' like
successful and failed steals in the future, as the general idea of logging
successful and failed steals in the future, as the general idea of logging
information per thread efficiently might be helpful for further
information per thread efficiently might be helpful for further
analysis.
analysis.
### Profiling VTune Amplifier
For detailed profiling of small performance hotspots we prefer
to use
[
Intel's VTune Amplifier
](
https://software.intel.com/en-us/vtune
)
.
It gives insights in detailed microachitecture usage and performance
hotspots. Follow the instructions by Intel for using it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment