-
Notifications
You must be signed in to change notification settings - Fork 86
Time measurement support on build. (#319) #330
base: master
Are you sure you want to change the base?
Conversation
I am not too confident about what the automated Jenkins tests cover, so someone please poke me in case it is not sufficient. I did run Also, as far as I am aware we have no tests in CI which rely on the time measurement feature, so nothing should break. |
@iizukak Any suggestions for reviewers? |
Also @n-nez, since I expect you guys would be ever so slightly affected by the Makefile change. |
@ed728 |
run blueoil test |
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.
@ed728 looks good except I commented issue.
blueoil/blueoil_convert.py
Outdated
"--timing", | ||
help="enable operation time measurements", | ||
type=int, | ||
default=0, |
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.
The default value shoud be False
or None
not integer.
@ed728 |
@primenumber Yeah, Jenkins does cover the normal use case though. |
Actually, the only uses of
So keeping time measurement enabled by default for the target sounds sensible for me actually. Benefits of switching it off, on the other hand, is not clear. 🤔 |
Hmmm, I mean this stems from #319 which wants documentation for time measurements. And when looking through our documentation, for people wanting to run on FPGA it suggests running Also, even for testing and time measuring, being able to disable internal debugs for "external"/"real" time measurements from OS is useful I think (i.e. timing how Oooor, I am missing something important about how customers are supposed to use this. |
If "extenal" time measurements imply measurement of the execution time of whole binary itself, they do not make much sense to me, as there are lots of "preparation steps" like loading Customers aren't supposed to use Customers supposed to use |
As for #319 documentation should say how to
any mechanism to enable disable measurements in |
It does make sense to measure all loadings and inits for a program that is meant to be used by customers, I think, but that is a different issue. And I see....but in that case one should be able to enable it for the Also, the |
Ok, this is a test program, for developers, customers could run it too if they want, but this is all.
All of them should include it, I believe, but so far For That is it adds a new time interval on each function call into an internal data structure.
|
@ed728 Thanks 👍 |
#330 (comment) |
I will change this to enable it on all On a side note, do we measure the time of things like I still believe it should then be available for |
Yes we do. You will see both init time and run time in the report. 😏
I believe priority of fixing it is quite low at the moment, but adding an issue definitely doesn't hurt. |
73127a9
to
b3fba51
Compare
@ed728 Can you solve conflict? |
@iizukak Yes! Will do that as soon as possible. |
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.
@ed728
Sorry for review delaying.
Recent, we added TARGETS_X86_AVX
target.
Please modify with new target.
Then I'll merge this PR.
1f6c2c3
to
388ff34
Compare
@iizukak Fixed, I think. Waiting for tests. |
ae893a6
to
428bf0f
Compare
-Extra optional option added to blueoil.sh. -Added timing as a default for lm_* targets . -CXXFLAGS now specified via make argument, rather than environment. -Timing can now optionally be built-in for lib_* targets as well.
@iizukak Any chance this can get approved? |
@ed728 |
@ed728 You added |
|
1 similar comment
|
Motivation and Context
Debug options should not be default, so I made the time measurement feature a togglable option for the blueoil.sh script. For running
make
inside of the project, you would have to manually append the CXXFLAGS, somake lm_fpga CXXFLAG="-DFUNC_TIME_MEASUREMENT"
.This will be followed by proper user documentation for #319.
Description
-Extra optional option added to blueoil.sh.
-Removed timing as a default for lm_fpga target.
-CXXFLAGS now specified via make argument, rather than environment.
-Timing is now only done when specified, not always by default. Debug options should not be default...
How has this been tested?
Jenkins.
Screenshots (if appropriate):
Types of changes
Checklist: