-
Notifications
You must be signed in to change notification settings - Fork 75
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
[Benchmark] Add Google Benchmarks & gitaction #2708
Conversation
📝 TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #2708. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/. |
Great work! I really wanted to use google benchmark on the NNTrainer!
uint64_t get_cpu_freq() {
unsigned int freq = 0;
char cur_cpu_name[512];
int cpu = sched_getcpu();
snprintf(cur_cpu_name, sizeof(cur_cpu_name),
"/sys/devices/system/cpu/cpu%d/cpufreq/scaling_cur_freq", cpu);
FILE* f = fopen(cur_cpu_name, "r");
if (f != nullptr) {
if (fscanf(f, "%d", &freq) != 0) {
fclose(f);
return uint64_t(freq) * 1000;
}
fclose(f);
}
return 0;
} |
7937010
to
b0bc81b
Compare
cibot: @DonghakPark, The last line of a text file must have a newline character. Please append a new line at the end of the line in benchmarks/benchmark_application/meson.build. |
b0bc81b
to
acd6892
Compare
Thank you for your Review,
|
acd6892
to
c254392
Compare
I think ...
// benchmark::State state;
auto foo = get_cpu_freq();
state.counters["foo"] = foo;
... |
that great!!! i will check ASAP |
Great!! i will check, and add more measure & thank you for check typo!! |
6eb81f3
to
defd05e
Compare
INFO: You can read if there are misspelled characters at our misspelling check report. Please read http://ci.nnstreamer.ai/nntrainer/ci/repo-workers/pr-checker/2708-202410250922020.85318398475647-defd05e542e582c9276316c4263365998267b8b0/report/misspelling_result.txt. |
cibot: @DonghakPark, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://ci.nnstreamer.ai/nntrainer/ci/repo-workers/pr-checker/2708-202410250922020.85318398475647-defd05e542e582c9276316c4263365998267b8b0/. |
a941697
to
e9d90e4
Compare
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.
@DonghakPark, 💯 All CI checkers are successfully verified. Thanks.
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.
@DonghakPark, 💯 All CI checkers are successfully verified. Thanks.
I wonder if this works for Tizen build. I think this should be enabled for specific target. let's say Ubuntu. |
For now, it only works for Ubuntu 20.04, 22.04 |
f9be4d8
to
1eb04dd
Compare
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.
@DonghakPark, 💯 All CI checkers are successfully verified. Thanks.
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.
LGTM. Can't wait for this. Please rebase!
for performance measure, add google benchmarks - Add Resnet Application Benchmarks cpp - add meson build file to build **Self evaluation:** 1. Build test: [X]Passed [ ]Failed [ ]Skipped 2. Run test: [X]Passed [ ]Failed [ ]Skipped Signed-off-by: Donghak PARK <[email protected]>
make enable-benchmarks option & set to use google benchmarks - make option - update Application code **Self evaluation:** 1. Build test: [X]Passed [ ]Failed [ ]Skipped 2. Run test: [X]Passed [ ]Failed [ ]Skipped Signed-off-by: Donghak PARK <[email protected]>
- modify meson build to check for the existence of a dependency on Google Benchmarks - configure it with options to run application benchmarks **Self evaluation:** 1. Build test: [X]Passed [ ]Failed [ ]Skipped 2. Run test: [X]Passed [ ]Failed [ ]Skipped Signed-off-by: Donghak PARK <[email protected]>
Add gitaction for benchmark, it will automatically run benchmark on clean ubuntu - now, just run Resnet Application on Ubuntu 22.04 - i will add more tests (Tensor Op, more applications) **Self evaluation:** 1. Build test: [X]Passed [ ]Failed [ ]Skipped 2. Run test: [X]Passed [ ]Failed [ ]Skipped Signed-off-by: Donghak PARK <[email protected]>
set gitaction - benchmark's daily run - set cron '0 2 * * *' **Self evaluation:** 1. Build test: [X]Passed [ ]Failed [ ]Skipped 2. Run test: [X]Passed [ ]Failed [ ]Skipped Signed-off-by: Donghak PARK <[email protected]>
1eb04dd
to
8ab3d0c
Compare
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.
LGTM
Desceiption
This PR enables Google's Benchmark to measure the execution time of out Application, Operation, ..etc)
Since there have been many tasks recently that require performance measurement, creating multiple files under benchmarks/ and automating them through git action would make it easier to check whether there is any change in performance through PRs.
For now it will print log on gitaction like below