Skip to content
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][ADRENO] Adreno Benchmarks with texture #13675

Merged
merged 2 commits into from
Jan 1, 2023

Conversation

srkreddy1238
Copy link
Contributor

Benchmarks for various networks listed below with fp16 and fp32. resnet-18, resnet-34, resnet-50, vgg-16, vgg-19, densenet-121, inception_v3, mobilenetv1, squeezenet_v1.0, squeezenet_v1.1

@tvm-bot
Copy link
Collaborator

tvm-bot commented Dec 30, 2022

Thanks for contributing to TVM! Please refer to the contributing guidelines https://tvm.apache.org/docs/contribute/ for useful information and tips. Please request code reviews from Reviewers by @-ing them in a comment.

Generated by tvm-bot

Benchmarks for various networks listed below with fp16 and fp32.
resnet-18, resnet-34, resnet-50, vgg-16, vgg-19, densenet-121,
inception_v3, mobilenetv1, squeezenet_v1.0, squeezenet_v1.1
Copy link
Contributor

@echuraev echuraev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! Several comments to discuss

# Test TVM
make cython3

if [ "texture" == $1 ] ; then
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are there any reasons to run this script without texture parameter? If no, probably we can remove this argument.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have plans to support CLML benchmarks too.

@@ -727,6 +727,13 @@ def add_subparser(
"./tests/scripts/task_python_adreno.sh " + os.environ.get("ANDROID_SERIAL", ""),
],
),
"benchmarks": (
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are there any plans to run these benchmarks in the CI? @driazati probably you know, do we have any opportunities to run different performance tests e.g. once per week to check that no performance regressions were introduced to TVM mainline.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ideally this should be separate and as part of nightly instead of every push

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, totally agree. Not necessary to run it for every push. Probably, a new command to @tvm-bot can be added to run performance test for a PR if it is needed.
I think it would be nice, and it is very important to have such tests in the CI.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's no concrete plans right now (we'd need to do some designing to figure out how to provision machines for benchmarks and where to store results) but I agree having benchmarks run on some cadence would be good for tracking our progress.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Script is ready to be used with CI provided we have Snapdragon devices on CI. For now we are using it internally.

sys.stdout.flush()


def tune_tasks(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just as an idea. If we want to use such benchmarks in the CI we can use statistic from tophub to measure performance w/o tuning. If someone changes schedules for Adreno then he/she will upload updated statistic to the tophub. In this way, we can avoid performance regressions.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Already done. tlc-pack/tophub#27

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tuning option is left for tuning future Adreno variants if required.

net, target=tvm.target.Target(target, host=target_host), params=params
)
else:
print("WARNING: Benchmark running with out tuning cache file - ", tune_log)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
print("WARNING: Benchmark running with out tuning cache file - ", tune_log)
print("WARNING: Benchmark running without tuning cache file - ", tune_log)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically we have tuning cache implicate now from tophub. Let me remove this line.

@masahi masahi merged commit b6e4cea into apache:main Jan 1, 2023
fzi-peccia pushed a commit to fzi-peccia/tvm that referenced this pull request Mar 27, 2023
* [BENCHMARK][ADRENO] Adreno Benchmarks with texture

Benchmarks for various networks listed below with fp16 and fp32.
resnet-18, resnet-34, resnet-50, vgg-16, vgg-19, densenet-121,
inception_v3, mobilenetv1, squeezenet_v1.0, squeezenet_v1.1

* * lint error

Co-authored-by: Siva Rama Krishna Reddy B <sivb@qti.qualcomm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants