microsoft / onnxruntime

ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator
https://onnxruntime.ai
MIT License
13.62k stars 2.78k forks source link

[Documentation Request] #17646

Open ookkeeeee opened 10 months ago

ookkeeeee commented 10 months ago

[Enter feedback here]

Hello. I am a student who is learning the process of profiling a model through onnx runtime. I received the result as a json format file through the method, but I can't interpret it

In particular, there was no information that could be obtained even if Googling was performed on the lower label of "thread_scheduling_stats". I'd appreciate it if you could explain this in detail.

Below is the result of the profiling I received.

[ {"cat" : "Session","pid" :21716,"tid" :7292,"dur" :3623,"ts" :27,"ph" : "X","name" :"model_loading_uri","args" : {}}, {"cat" : "Session","pid" :21716,"tid" :7292,"dur" :4422,"ts" :3690,"ph" : "X","name" :"session_initialization","args" : {}}, {"cat" : "Node","pid" :21716,"tid" :7292,"dur" :2,"ts" :9484,"ph" : "X","name" :"/Conv_fence_before","args" : {"op_name" : "Conv"}}, {"cat" : "Node","pid" :21716,"tid" :7292,"dur" :1299,"ts" :9489,"ph" : "X","name" :"/Conv_kernel_time","args" : {"parameter_size" : "20040","provider" : "CPUExecutionProvider","op_name" : "Conv","input_type_shape" : [{"float":[10,100,100]},{"float":[10,100,5]},{"float":[10]}],"node_index" : "0","output_type_shape" : [{"float":[10,10,98]}],"activation_size" : "400000","output_size" : "39200","thread_scheduling_stats" : {"main_thread": {"thread_pool_name": "session-1-intra-op", "thread_id": "7292", "block_size": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1], "core": 51, "Distribution": 16, "DistributionEnqueue": 0, "Run": 385, "Wait": 753, "WaitRevoke": 6}, "sub_threads": {"27448": {"num_run": 10, "core": 3},"24384": {"num_run": 10, "core": 5},"4984": {"num_run": 10, "core": 7},"25304": {"num_run": 4, "core": 8},"5896": {"num_run": 3, "core": 11},"17356": {"num_run": 10, "core": 12},"18088": {"num_run": 0, "core": -1},"17400": {"num_run": 0, "core": -1},"0": {"num_run": 0, "core": -1},"26228": {"num_run": 0, "core": -1},"12916": {"num_run": 0, "core": -1},"0": {"num_run": 0, "core": -1},"22788": {"num_run": 0, "core": -1},"20256": {"num_run": 0, "core": -1},"4804": {"num_run": 0, "core": -1},"25112": {"num_run": 0, "core": -1},"4944": {"num_run": 0, "core": -1},"22036": {"num_run": 0, "core": -1},"4908": {"num_run": 0, "core": -1},"2136": {"num_run": 0, "core": -1},"9520": {"num_run": 0, "core": -1},"19552": {"num_run": 0, "core": -1},"12744": {"num_run": 0, "core": -1},"4832": {"num_run": 0, "core": -1},"0": {"num_run": 0, "core": -1}}}}}, {"cat" : "Node","pid" :21716,"tid" :7292,"dur" :0,"ts" :10799,"ph" : "X","name" :"/Conv_fence_after","args" : {"op_name" : "Conv"}}, {"cat" : "Session","pid" :21716,"tid" :7292,"dur" :1329,"ts" :9478,"ph" : "X","name" :"SequentialExecutor::Execute","args" : {}}, {"cat" : "Session","pid" :21716,"tid" :7292,"dur" :1379,"ts" :9435,"ph" : "X","name" :"model_run","args" : {}} ]

This is the result of profiling the process of inputting data into one layer of conv1d and forwarding it.

thank you for read.

Document Details

mszhanyi commented 10 months ago
  1. save the json to one file, for example, aa.json.
  2. open chrome, input chrome://traceing in the address bar and load the aa.json https://www.chromium.org/developers/how-tos/trace-event-profiling-tool/
  3. Use a oneline json parser to read the json snippet. http://json.parser.online.fr/
ookkeeeee commented 10 months ago

Thank you for your reply.

Thanks to your reply, I got some hint on the profiling result.

But what I ultimately want to know is what labels under "thread_scheduling_stats" clearly mean, such as "block_size," "core," "Distribution" and "DistributionEnqueue."

Thank you again for your answer and I hope you have a good day.

github-actions[bot] commented 8 months ago

This issue has been automatically marked as stale due to inactivity and will be closed in 7 days if no further activity occurs. If further support is needed, please provide an update and/or more details.