{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":156939672,"defaultBranch":"main","name":"onnxruntime","ownerLogin":"microsoft","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-11-10T02:22:53.000Z","ownerAvatar":"https://github.com/avatars/u/6154722?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1720826463.0","currentOid":""},"activityList":{"items":[{"before":"96241e5e3beee2e2e95b709708e787219f025602","after":"a8ea17ed88768ac4cacb6ffd2177b59b73a05ab8","ref":"refs/heads/sajandhy/webgpu_support_64_bit_integer","pushedAt":"2024-07-13T05:46:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"satyajandhyala","name":"Satya Kumar Jandhyala","path":"/satyajandhyala","primaryAvatarUrl":"https://github.com/avatars/u/26722914?s=80&v=4"},"commit":{"message":"Clean up","shortMessageHtmlLink":"Clean up"}},{"before":"92a8407b392bf87f2d0d0d556a2eb6dfe2929eef","after":"281ed8c12d2d2a3f5b683e6267aa0fca4d4add50","ref":"refs/heads/main","pushedAt":"2024-07-13T04:22:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"HectorSVC","name":"Hector Li","path":"/HectorSVC","primaryAvatarUrl":"https://github.com/avatars/u/29932710?s=80&v=4"},"commit":{"message":"VitisAI EP Context Model (#20926)\n\n# Why so many commits\r\n- Runtime debugging - which is necessary\r\n- Three different approaches to EP context model - as a result testing back and forth\r\n- Windows compatibility issues - this development has been done on Linux for convenience\r\n\r\n# \"Open\" (?) questions\r\n- Full offloading to a specific EP\r\n- Dumping EP context models by EPs vs [by\r\nONNXRT](https://github.com/microsoft/onnxruntime/blob/e2abba18ea9370329ce6894a4eb3e98ad8f11cb6/onnxruntime/core/framework/graph_partitioner.cc#L725)\r\n- [Node name to pick\r\nnodes](https://github.com/microsoft/onnxruntime/blob/e2abba18ea9370329ce6894a4eb3e98ad8f11cb6/onnxruntime/core/framework/graph_partitioner.cc#L654)\r\n\r\n# VitisAI EP made three variant implementations that have respective pros and cons (and of course we can combine them)\r\n## Serialize and cache the list of compute capabilities and the original\r\nONNX model itself\r\n## In `ComputeCapability()`, serialize and cache the backend compilation cache and the related necessary cache info such as cache dir and cache key\r\n## In `Compile()`, serialize and cache the backend compilation cache and the related necessary cache info such as cache dir and cache key\r\n\r\n# EP context model creation\r\n- Precondition\r\nSession option configuration `kOrtSessionOptionEpContextEnable` (aka \"ep.context_enable\") is enabled.\r\n- Approach 1\r\n - Steps\r\n1. EP creates an ONNX model whose main graph has EP context nodes (i.e., node type is \"EPContext\").\r\n2. EP implements/overrides `IExecutionProvider::GetEpContextNodes()` method.\r\n 3. ONNXRT core creates an EP context model and saves/dumps it.\r\n - `CreateEpContextModel()` in the file \"graph_partitioner.cc\"\r\n- In `get_ep_context_node()`, `Node::Name()` is used to check whether a node is an EP context node. This limits that EP model creation can only happen in `IExecutionProvider::Compile()`.\r\n- The workaround is (1) not implementing `IExecutionProvider::GetEpContextNodes()` and (2) dumping the EP context model by EP itself.\r\n4. Optionally, EP can also dump the EP context model it created by\r\niteself.\r\n - Examples\r\n - `QNNExecutionProvider`\r\n - `VitisAIExecutionProvider`\r\n- Approach 2\r\n - Steps\r\n1. EP creates an ONNX model whose main graph has EP context nodes (i.e., node type is \"EPContext\").\r\n2. EP does NOT implement `IExecutionProvider::GetEpContextNodes()` at all.\r\n 3. EP dumps the EP context model it created.\r\n - Examples\r\n - `TensorrtExecutionProvider`\r\n - UPDATES\r\n- TRT EP is switching to leveraging\r\n`IExecutionProvider::GetEpContextNodes()`\r\n - `OpenVINOExecutionProvider` (?)\r\n\r\n# What to cache in EP context nodes\r\n- Non Compilation based EPs\r\n - Examples\r\n - `VitisAIExecutionProvider`\r\n - Characteristics\r\n- Heavy lifting work happens in `IExecutionProvider::GetCapability()`.\r\n - Preconditions\r\n- `IExecutionProvider::GetCapability()` is only called once by ONNXRT.\r\n - Cache content\r\n - Serialization of a list of `ComputeCapability`\r\n - Not EP-specific\r\n - Serialized using `onnx::FunctionProto`\r\n - EP-specific cache\r\n- Compilation based EPs\r\n - Examples\r\n - `QNNExecutionProvider`\r\n - `TensorrtExecutionProvider`\r\n - `MIGraphXExecutionProvider`\r\n - `OpenVINOExecutionProvider`\r\n - Cache content\r\n - EP-specific cache\r\n\r\n# Requirements\r\n- Offline / AOT compilation of ONNX models with EP context cache\r\n- Compile somewhere, run everywhere\r\n- Pseudo code with brief explanation\r\n ```\r\n GenerateCache(original_onnx_file, cache_onnx_file) model_buffer = load(original_onnx_file) --> Load the original ONNX model file\r\n model_buffer = decrypt(model_buffer)\r\nsession_options = { kOrtSessionOptionEpContextEnable: true,\r\nkOrtSessionOptionEpContextFilePath: temp_file } --> Set necessary configs\r\nOrt::CreateSessionFromArray(model_buffer, session_options) --> The new ONNX model with EP context is created and dumped into the user specified file \"temp_file\"\r\n temp_buffer = encrypt(temp_file)\r\nwrite(temp_buffer, cache_onnx_file) --> Write the encypted context of \"temp_file\" into the \"cache_onnx_file\" file\r\n\r\n\r\n InitializeInferenceSession(cache_onnx_file)\r\nmodel_buffer = load(cache_onnx_file) --> Load the ONNX model with EP context from the file generated in the previous step\r\n model_buffer = decrypt(model_buffer)\r\n session_options = { }\r\nOrt::CreateSessionFromArray(model_buffer, session_options) --> Create and initalize an session with the EP context model\r\n ```\r\n- Python code with comments\r\n - EP context model creation\r\n ```python\r\n import onnxruntime as onnxrt\r\n\r\n\r\n # Session options for creating an ONNX model with EP context cache.\r\n sess_opts = onnxrt.SessionOptions()\r\n\r\n # Verbose.\r\n sess_opts.log_severity_level = 0\r\n\r\n # This is REQUIRED.\r\n sess_opts.add_session_config_entry(\"ep.context_enable\", \"1\")\r\n # This is OPTIONAL.\r\n# Either an absolute path (preferred for now) or a relative path (WIP)\r\nis okay.\r\n# sess_opts.add_session_config_entry(\"ep.context_file_path\",\r\n\"/some/path/to/original_model_ctx.onnx\")\r\n # This is OPTIONAL.\r\n sess_opts.add_session_config_entry(\"ep.context_embed_mode\", \"1\")\r\n\r\n orig_model_location = \"/some/path/to/original_model.onnx\"\r\nsess = onnxrt.InferenceSession(orig_model_location, sess_opts,\r\nproviders=[\"VitisAIExecutionProvider\"], provider_options=[])\r\n ```\r\n - Inference run with an EP context model\r\n ```python\r\n import onnxruntime as onnxrt\r\n\r\n\r\n # Session options for creating an ONNX model with EP context cache.\r\n sess_opts = onnxrt.SessionOptions()\r\n\r\n # Default EP context model path.\r\n# ep_ctx_model_location = \"/some/path/to/origina_model.onnx_ctx.onnx\"\r\n # User configured EP context model path.\r\n ep_ctx_model_location = \"/some/path/to/origina_model_ctx.onnx\"\r\nsess = onnxrt.InferenceSession(ep_ctx_model_location, sess_opts,\r\nproviders=[\"VitisAIExecutionProvider\"], provider_options=[])\r\n\r\n model_inputs = {}\r\n run_opts = onnxrt.RunOptions()\r\n # Verbose.\r\n run_opts.log_severity_level = 1\r\n sess.run(None, model_inputs, run_opts)\r\n ```\r\n\r\n---------\r\n\r\nCo-authored-by: Glen Cao ","shortMessageHtmlLink":"VitisAI EP Context Model (#20926)"}},{"before":"5a422efff53857e5cf0f3c41a4eac61571411b12","after":"8802e405cb7d4fb9eb02512fdc08648dfc847b59","ref":"refs/heads/tlwu/attention_kernel_cuda_option","pushedAt":"2024-07-13T01:18:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tianleiwu","name":"Tianlei Wu","path":"/tianleiwu","primaryAvatarUrl":"https://github.com/avatars/u/30328909?s=80&v=4"},"commit":{"message":"attention cuda kernel options","shortMessageHtmlLink":"attention cuda kernel options"}},{"before":"277df8d79ee75215dde6f0563445758f0ee59a9f","after":"a2f5c6b255684bad9e604e315d56ef85bc31e0e6","ref":"refs/heads/edgchen1/sqnbitgemm_larger_tiles","pushedAt":"2024-07-13T01:18:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"edgchen1","name":"Edward Chen","path":"/edgchen1","primaryAvatarUrl":"https://github.com/avatars/u/18449977?s=80&v=4"},"commit":{"message":"use 4x2 tiles for blklen > 32","shortMessageHtmlLink":"use 4x2 tiles for blklen > 32"}},{"before":"640c5ce19250cf8fa70ca2388d43d044d08c7722","after":"96241e5e3beee2e2e95b709708e787219f025602","ref":"refs/heads/sajandhy/webgpu_support_64_bit_integer","pushedAt":"2024-07-13T01:01:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"satyajandhyala","name":"Satya Kumar Jandhyala","path":"/satyajandhyala","primaryAvatarUrl":"https://github.com/avatars/u/26722914?s=80&v=4"},"commit":{"message":"Removed WASM_MEMORY64 macro","shortMessageHtmlLink":"Removed WASM_MEMORY64 macro"}},{"before":"f83723949e4252abece6a05d91312afdda7fc4da","after":"277df8d79ee75215dde6f0563445758f0ee59a9f","ref":"refs/heads/edgchen1/sqnbitgemm_larger_tiles","pushedAt":"2024-07-13T00:52:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"edgchen1","name":"Edward Chen","path":"/edgchen1","primaryAvatarUrl":"https://github.com/avatars/u/18449977?s=80&v=4"},"commit":{"message":"Revert \"add 2x4 impl for blklen 32\"\n\nThis reverts commit f83723949e4252abece6a05d91312afdda7fc4da.\n\nthe 4x2 impl was faster in microbenchmark measurements","shortMessageHtmlLink":"Revert \"add 2x4 impl for blklen 32\""}},{"before":"deb72feca52f6c977fb201fab2b9785486ff188e","after":"640c5ce19250cf8fa70ca2388d43d044d08c7722","ref":"refs/heads/sajandhy/webgpu_support_64_bit_integer","pushedAt":"2024-07-13T00:22:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"satyajandhyala","name":"Satya Kumar Jandhyala","path":"/satyajandhyala","primaryAvatarUrl":"https://github.com/avatars/u/26722914?s=80&v=4"},"commit":{"message":"Use uintptr_t instead of uint32_t.","shortMessageHtmlLink":"Use uintptr_t instead of uint32_t."}},{"before":"ab134acefbf56a3c70db82e9d5689ef94d973331","after":"f83723949e4252abece6a05d91312afdda7fc4da","ref":"refs/heads/edgchen1/sqnbitgemm_larger_tiles","pushedAt":"2024-07-13T00:07:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"edgchen1","name":"Edward Chen","path":"/edgchen1","primaryAvatarUrl":"https://github.com/avatars/u/18449977?s=80&v=4"},"commit":{"message":"add 2x4 impl for blklen 32","shortMessageHtmlLink":"add 2x4 impl for blklen 32"}},{"before":null,"after":"43cc10b58152ed906114da4b4a3aa4e6d958b364","ref":"refs/heads/fajin/dqmatmultoolchainkernel","pushedAt":"2024-07-12T23:21:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fajin-corp","name":"Jing Fang","path":"/fajin-corp","primaryAvatarUrl":"https://github.com/avatars/u/126209182?s=80&v=4"},"commit":{"message":"port kernel changes from fajin/qdqmatmulnbitstoolchain","shortMessageHtmlLink":"port kernel changes from fajin/qdqmatmulnbitstoolchain"}},{"before":null,"after":"1cc5d8a82313a08024d26f83fc64ca4d9449905c","ref":"refs/heads/vraspar/coreml-ops","pushedAt":"2024-07-12T23:10:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"vraspar","name":null,"path":"/vraspar","primaryAvatarUrl":"https://github.com/avatars/u/51386888?s=80&v=4"},"commit":{"message":" Add support for transpose for MLProgram","shortMessageHtmlLink":" Add support for transpose for MLProgram"}},{"before":"8dc6472693542ff55bc9d9739d5b590fed16497e","after":"e8cbe3366f4bfd05210c0ba1f3a1b05f0c828650","ref":"refs/heads/snnn/path","pushedAt":"2024-07-12T22:30:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"snnn","name":"Changming Sun","path":"/snnn","primaryAvatarUrl":"https://github.com/avatars/u/856316?s=80&v=4"},"commit":{"message":"update","shortMessageHtmlLink":"update"}},{"before":"edee3198ff0efa101905cc664136e6d884207061","after":"fb9221a76d63d40369c82eca9ac69db503139dd6","ref":"refs/heads/liqun/mlas-q4-tile-avx","pushedAt":"2024-07-12T22:29:06.000Z","pushType":"push","commitsCount":46,"pusher":{"login":"liqunfu","name":"liqun Fu","path":"/liqunfu","primaryAvatarUrl":"https://github.com/avatars/u/3318051?s=80&v=4"},"commit":{"message":"merge main\n\nSigned-off-by: liqunfu ","shortMessageHtmlLink":"merge main"}},{"before":"8c69da112e4dc8db71f90dbcc4321627ce8018f1","after":"8dc6472693542ff55bc9d9739d5b590fed16497e","ref":"refs/heads/snnn/path","pushedAt":"2024-07-12T22:29:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"snnn","name":"Changming Sun","path":"/snnn","primaryAvatarUrl":"https://github.com/avatars/u/856316?s=80&v=4"},"commit":{"message":"update","shortMessageHtmlLink":"update"}},{"before":null,"after":"8c69da112e4dc8db71f90dbcc4321627ce8018f1","ref":"refs/heads/snnn/path","pushedAt":"2024-07-12T22:18:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"snnn","name":"Changming Sun","path":"/snnn","primaryAvatarUrl":"https://github.com/avatars/u/856316?s=80&v=4"},"commit":{"message":"Fix a path problem in onnxruntime_perf_test","shortMessageHtmlLink":"Fix a path problem in onnxruntime_perf_test"}},{"before":"ae3b5e7f15274d48063d086d723e4139930948b7","after":"3484926fef587d6f22aeb119be3d43eabcf74659","ref":"refs/heads/prathikrao/attn-aten-fallback","pushedAt":"2024-07-12T21:49:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prathikr","name":"Prathik Rao","path":"/prathikr","primaryAvatarUrl":"https://github.com/avatars/u/31260940?s=80&v=4"},"commit":{"message":"lint","shortMessageHtmlLink":"lint"}},{"before":"37eb6bc2dda88c7b65ee67daa67327bd178a702e","after":"ae3b5e7f15274d48063d086d723e4139930948b7","ref":"refs/heads/prathikrao/attn-aten-fallback","pushedAt":"2024-07-12T21:48:33.000Z","pushType":"push","commitsCount":39,"pusher":{"login":"prathikr","name":"Prathik Rao","path":"/prathikr","primaryAvatarUrl":"https://github.com/avatars/u/31260940?s=80&v=4"},"commit":{"message":"merge with main","shortMessageHtmlLink":"merge with main"}},{"before":"1ecf5c5c89bcab92841d1d501491a1e7e8c80d30","after":"f95c3d6ce10744873948c6714d34bbd8c1932fb8","ref":"refs/heads/fajin/qdqmatmulnbitstoolchain","pushedAt":"2024-07-12T21:24:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fajin-corp","name":"Jing Fang","path":"/fajin-corp","primaryAvatarUrl":"https://github.com/avatars/u/126209182?s=80&v=4"},"commit":{"message":"try to fix web ci failure","shortMessageHtmlLink":"try to fix web ci failure"}},{"before":"08e4bb1f4bbae3039130f4e0597b3729d103af2a","after":"63e487a66d63dbd0b4c190b1dfb689c10825d8f6","ref":"refs/heads/snnn/p99999","pushedAt":"2024-07-12T20:50:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"snnn","name":"Changming Sun","path":"/snnn","primaryAvatarUrl":"https://github.com/avatars/u/856316?s=80&v=4"},"commit":{"message":"update","shortMessageHtmlLink":"update"}},{"before":"fad9039a930300f0c0668cf15be5fa40a0000014","after":"08e4bb1f4bbae3039130f4e0597b3729d103af2a","ref":"refs/heads/snnn/p99999","pushedAt":"2024-07-12T20:44:32.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"snnn","name":"Changming Sun","path":"/snnn","primaryAvatarUrl":"https://github.com/avatars/u/856316?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'origin/main' into snnn/p99999","shortMessageHtmlLink":"Merge remote-tracking branch 'origin/main' into snnn/p99999"}},{"before":"f2ebd1cd6b7c90b3ad30cb1b428783dd30fd0659","after":"92a8407b392bf87f2d0d0d556a2eb6dfe2929eef","ref":"refs/heads/main","pushedAt":"2024-07-12T19:34:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"guschmue","name":"Guenther Schmuelling","path":"/guschmue","primaryAvatarUrl":"https://github.com/avatars/u/22941064?s=80&v=4"},"commit":{"message":"[js/webgpu] Remove unnecessary initialization of var (#21312)\n\nThis var has been initialized to 0 in tint, so no need extra loop to do\r\nit again:\r\n```\r\n float tint_symbol_52[1][4] = (float[1][4])0;\r\n {\r\n for(int tint_symbol_53 = 0; (tint_symbol_53 < 1); tint_symbol_53 = (tint_symbol_53 + 1)) {\r\n {\r\n for(int tint_symbol_54 = 0; (tint_symbol_54 < 4); tint_symbol_54 = (tint_symbol_54 + 1)) {\r\n tint_symbol_52[min(uint(tint_symbol_53), 0u)][min(uint(tint_symbol_54), 3u)] = 0.0f;\r\n }\r\n }\r\n }\r\n }\r\n```\r\n### Description\r\n\r\n\r\n\r\n\r\n### Motivation and Context\r\n","shortMessageHtmlLink":"[js/webgpu] Remove unnecessary initialization of var (#21312)"}},{"before":"6596e546786698295fb3ad6bc7a8e36e5880cb37","after":"1ecf5c5c89bcab92841d1d501491a1e7e8c80d30","ref":"refs/heads/fajin/qdqmatmulnbitstoolchain","pushedAt":"2024-07-12T19:15:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fajin-corp","name":"Jing Fang","path":"/fajin-corp","primaryAvatarUrl":"https://github.com/avatars/u/126209182?s=80&v=4"},"commit":{"message":"corrected UT semantics","shortMessageHtmlLink":"corrected UT semantics"}},{"before":"caed684e075319fc55444bdcfa529b3ea8233684","after":"9f09a3859abe9e833ff59c77068f7e0a51c8510d","ref":"refs/heads/vraspar/mlprogram-ops","pushedAt":"2024-07-12T19:10:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vraspar","name":null,"path":"/vraspar","primaryAvatarUrl":"https://github.com/avatars/u/51386888?s=80&v=4"},"commit":{"message":"Update docs and override supportMLProgram","shortMessageHtmlLink":"Update docs and override supportMLProgram"}},{"before":"5f426dca68aa65c4b7bd8a835045703116c0851f","after":"1e772641318bbc2992c60e9525cf635068b467dc","ref":"refs/heads/Cjian/ad-combine","pushedAt":"2024-07-12T18:34:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jchen351","name":"Jian Chen","path":"/jchen351","primaryAvatarUrl":"https://github.com/avatars/u/73297588?s=80&v=4"},"commit":{"message":" - template: templates/clean-agent-build-directory-step.yml","shortMessageHtmlLink":" - template: templates/clean-agent-build-directory-step.yml"}},{"before":"14a3ddc778606a853a37d084c17dba8695461b6e","after":"5f426dca68aa65c4b7bd8a835045703116c0851f","ref":"refs/heads/Cjian/ad-combine","pushedAt":"2024-07-12T18:27:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jchen351","name":"Jian Chen","path":"/jchen351","primaryAvatarUrl":"https://github.com/avatars/u/73297588?s=80&v=4"},"commit":{"message":"template/","shortMessageHtmlLink":"template/"}},{"before":"3460d41819cb3868965d450bc03ea30c0d9f0fff","after":"14a3ddc778606a853a37d084c17dba8695461b6e","ref":"refs/heads/Cjian/ad-combine","pushedAt":"2024-07-12T18:26:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jchen351","name":"Jian Chen","path":"/jchen351","primaryAvatarUrl":"https://github.com/avatars/u/73297588?s=80&v=4"},"commit":{"message":"fix typo","shortMessageHtmlLink":"fix typo"}},{"before":"c3fa19d979d2b761c9662ef792cc43bcb8bba96f","after":"88f4c9c60359be3bfed22fc35c292321fe352cce","ref":"refs/heads/Cjian/ad","pushedAt":"2024-07-12T18:22:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jchen351","name":"Jian Chen","path":"/jchen351","primaryAvatarUrl":"https://github.com/avatars/u/73297588?s=80&v=4"},"commit":{"message":"Update tools/ci_build/github/azure-pipelines/templates/use-android-emulator.yml\n\nCo-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>","shortMessageHtmlLink":"Update tools/ci_build/github/azure-pipelines/templates/use-android-em…"}},{"before":"2c152b63f08196ba4875d2f279bf0625674f1107","after":"3460d41819cb3868965d450bc03ea30c0d9f0fff","ref":"refs/heads/Cjian/ad-combine","pushedAt":"2024-07-12T18:02:50.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jchen351","name":"Jian Chen","path":"/jchen351","primaryAvatarUrl":"https://github.com/avatars/u/73297588?s=80&v=4"},"commit":{"message":"Merge branch 'refs/heads/Cjian/ad' into Cjian/ad-combine\n\n# Conflicts:\n#\ttools/ci_build/github/azure-pipelines/templates/use-android-emulator.yml","shortMessageHtmlLink":"Merge branch 'refs/heads/Cjian/ad' into Cjian/ad-combine"}},{"before":"df637924c88a8adeceff6295e1f8376ae6e1a953","after":"c3fa19d979d2b761c9662ef792cc43bcb8bba96f","ref":"refs/heads/Cjian/ad","pushedAt":"2024-07-12T17:59:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jchen351","name":"Jian Chen","path":"/jchen351","primaryAvatarUrl":"https://github.com/avatars/u/73297588?s=80&v=4"},"commit":{"message":"Update tools/ci_build/github/azure-pipelines/templates/use-android-emulator.yml\n\nCo-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>","shortMessageHtmlLink":"Update tools/ci_build/github/azure-pipelines/templates/use-android-em…"}},{"before":"9030c19a1105be687c6adf72a209694037faf3ef","after":"2c152b63f08196ba4875d2f279bf0625674f1107","ref":"refs/heads/Cjian/ad-combine","pushedAt":"2024-07-12T17:59:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jchen351","name":"Jian Chen","path":"/jchen351","primaryAvatarUrl":"https://github.com/avatars/u/73297588?s=80&v=4"},"commit":{"message":"remove set -e -x","shortMessageHtmlLink":"remove set -e -x"}},{"before":"17602af30fc58f41cad05ef652b6a90070a15229","after":"9030c19a1105be687c6adf72a209694037faf3ef","ref":"refs/heads/Cjian/ad-combine","pushedAt":"2024-07-12T17:57:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jchen351","name":"Jian Chen","path":"/jchen351","primaryAvatarUrl":"https://github.com/avatars/u/73297588?s=80&v=4"},"commit":{"message":"##vso[task.prependpath]","shortMessageHtmlLink":"##vso[task.prependpath]"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEfmgOPAA","startCursor":null,"endCursor":null}},"title":"Activity · microsoft/onnxruntime"}