You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by GitBox <gi...@apache.org> on 2022/02/15 17:31:15 UTC

[GitHub] [tvm] jwfromm opened a new pull request #10256: [TVMC] Add an end_to_end benchmarking argument when benchmarking.

jwfromm opened a new pull request #10256:
URL: https://github.com/apache/tvm/pull/10256


   This is an extension to PR #10226 by @tmoreau89. It makes end to end benchmarking an option to `tvmc.run` and defaults it to False. This provides an easy way to measure memory copies without changing the default behavior of TVMC. Please take a look @leandron @tmoreau89.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [tvm] masahi merged pull request #10256: [TVMC] Add an end_to_end benchmarking argument when benchmarking.

Posted by GitBox <gi...@apache.org>.
masahi merged pull request #10256:
URL: https://github.com/apache/tvm/pull/10256


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [tvm] tmoreau89 commented on a change in pull request #10256: [TVMC] Add an end_to_end benchmarking argument when benchmarking.

Posted by GitBox <gi...@apache.org>.
tmoreau89 commented on a change in pull request #10256:
URL: https://github.com/apache/tvm/pull/10256#discussion_r807264329



##########
File path: python/tvm/driver/tvmc/runner.py
##########
@@ -557,8 +569,11 @@ def run_module(
             module.run()
             times = []
         else:
-            # call the benchmarking function of the executor
-            times = module.benchmark(dev, number=number, repeat=repeat)
+            # Call the benchmarking function of the executor.
+            # Optionally measure e2e data transfers from the
+            # CPU to device memory overheads (e.g. PCIE
+            # overheads if the device is a discrete GPU).
+            times = module.benchmark(dev, number=number, repeat=repeat, end_to_end=end_to_end)

Review comment:
       Great thank you!




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [tvm] tmoreau89 commented on a change in pull request #10256: [TVMC] Add an end_to_end benchmarking argument when benchmarking.

Posted by GitBox <gi...@apache.org>.
tmoreau89 commented on a change in pull request #10256:
URL: https://github.com/apache/tvm/pull/10256#discussion_r807119745



##########
File path: python/tvm/driver/tvmc/runner.py
##########
@@ -557,8 +569,11 @@ def run_module(
             module.run()
             times = []
         else:
-            # call the benchmarking function of the executor
-            times = module.benchmark(dev, number=number, repeat=repeat)
+            # Call the benchmarking function of the executor.
+            # Optionally measure e2e data transfers from the
+            # CPU to device memory overheads (e.g. PCIE
+            # overheads if the device is a discrete GPU).
+            times = module.benchmark(dev, number=number, repeat=repeat, end_to_end=end_to_end)

Review comment:
       we should use `session.cpu()` instead of `dev` since we need to include copy overheads from CPU memory to e.g. GPU memory




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [tvm] tmoreau89 commented on a change in pull request #10256: [TVMC] Add an end_to_end benchmarking argument when benchmarking.

Posted by GitBox <gi...@apache.org>.
tmoreau89 commented on a change in pull request #10256:
URL: https://github.com/apache/tvm/pull/10256#discussion_r807119745



##########
File path: python/tvm/driver/tvmc/runner.py
##########
@@ -557,8 +569,11 @@ def run_module(
             module.run()
             times = []
         else:
-            # call the benchmarking function of the executor
-            times = module.benchmark(dev, number=number, repeat=repeat)
+            # Call the benchmarking function of the executor.
+            # Optionally measure e2e data transfers from the
+            # CPU to device memory overheads (e.g. PCIE
+            # overheads if the device is a discrete GPU).
+            times = module.benchmark(dev, number=number, repeat=repeat, end_to_end=end_to_end)

Review comment:
       we should use `session.cpu()` instead of `dev` since we need to include copy overheads from CPU memory to e.g. GPU memory




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [tvm] jwfromm commented on a change in pull request #10256: [TVMC] Add an end_to_end benchmarking argument when benchmarking.

Posted by GitBox <gi...@apache.org>.
jwfromm commented on a change in pull request #10256:
URL: https://github.com/apache/tvm/pull/10256#discussion_r807188490



##########
File path: python/tvm/driver/tvmc/runner.py
##########
@@ -557,8 +569,11 @@ def run_module(
             module.run()
             times = []
         else:
-            # call the benchmarking function of the executor
-            times = module.benchmark(dev, number=number, repeat=repeat)
+            # Call the benchmarking function of the executor.
+            # Optionally measure e2e data transfers from the
+            # CPU to device memory overheads (e.g. PCIE
+            # overheads if the device is a discrete GPU).
+            times = module.benchmark(dev, number=number, repeat=repeat, end_to_end=end_to_end)

Review comment:
       Thanks for noting that, I added an if that sets dev to cpu if end_to_end is on.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@tvm.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org