This is an automated email from the ASF dual-hosted git repository.

tlopex pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tvm.git


The following commit(s) were added to refs/heads/main by this push:
     new eb531188f2 [DOC] Fix various issues (#18966)
eb531188f2 is described below

commit eb531188f2a2cebbeb48a568e3fe978e6ce46f19
Author: Ruslan Baratov <[email protected]>
AuthorDate: Thu Apr 2 23:47:09 2026 +0800

    [DOC] Fix various issues (#18966)
    
    - Fix few typos
    - Unify Android naming
    - Fix HTTPS link
---
 apps/hexagon_launcher/README.md                 |  4 ++--
 python/tvm/relax/transform/transform.py         |  2 +-
 tests/python/contrib/test_hexagon/README_RPC.md | 18 +++++++++---------
 3 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/apps/hexagon_launcher/README.md b/apps/hexagon_launcher/README.md
index 0cee1de4c9..f3c3519ea7 100644
--- a/apps/hexagon_launcher/README.md
+++ b/apps/hexagon_launcher/README.md
@@ -29,11 +29,11 @@ The supported Snapdragon architectures are 855, 865, and 
888.
 2. Hexagon SDK version 4.0.0 or later.
 
 Android NDK can be downloaded from https://developer.android.com/ndk.
-Hexagon SDK is available at //developer.qualcomm.com/software/hexagon-dsp-sdk.
+Hexagon SDK is available at 
https://developer.qualcomm.com/software/hexagon-dsp-sdk.
 
 ### Manual compilation
 
-Since some source files are shared between the Hexagon and android builds,
+Since some source files are shared between the Hexagon and Android builds,
 make sure to delete all object files between compilations. Compile the Hexagon
 code first.
 
diff --git a/python/tvm/relax/transform/transform.py 
b/python/tvm/relax/transform/transform.py
index a65a59c53c..cc1c0929c7 100644
--- a/python/tvm/relax/transform/transform.py
+++ b/python/tvm/relax/transform/transform.py
@@ -1043,7 +1043,7 @@ def LiftTransformParams(shared_transform: bool | 
list[str] = False) -> tvm.ir.tr
 
 
 def BundleModelParams(param_tuple_name: str | None = None) -> 
tvm.ir.transform.Pass:
-    """Bundle several model parameters into a single tuple paramters
+    """Bundle several model parameters into a single parameter tuple
 
     For each function, if the function has the attribute "num_input",
     separate between run-time parameters and compile-time weights.
diff --git a/tests/python/contrib/test_hexagon/README_RPC.md 
b/tests/python/contrib/test_hexagon/README_RPC.md
index c70aa1e990..2bbedc9599 100644
--- a/tests/python/contrib/test_hexagon/README_RPC.md
+++ b/tests/python/contrib/test_hexagon/README_RPC.md
@@ -29,9 +29,9 @@ The communication between x86 and Android is done via the 
standard TVM RPC proto
 
 A packet between Android and Hexagon is proxy-ed by the Hexagon FastRPC 
mechanism. FastRPC depends on the auto-generated implementations of client- and 
server- side API. During the build time, the Android side API (”stub”) and the 
Hexagon side API (”skel”) is generated from 
`src/runtime/hexagon/rpc/hexagon_rpc.idl` (see `cmake/modules/Hexagon.cmake`).
 
-When TVM’s RPC server on Android, `tvm_rpc_android_server`, invokes 
`hexagon_rpc_send(...)`, it actually calls into the same-name function defined 
in the stub with the exact same arguments (which includes the URI for the 
`*skel.so` library to use on Hexagon, which in our case is 
`libhexagon_rpc_skel.so`). Similarly, on the Hexagon side, 
`hexagon_rpc_send(...)` call is first intercepted by the “skel” API, which in 
tern calls the actual implementation defined in `src/runtime/hexagon/rpc/rp 
[...]
+When TVM’s RPC server on Android, `tvm_rpc_android_server`, invokes 
`hexagon_rpc_send(...)`, it actually calls into the same-name function defined 
in the stub with the exact same arguments (which includes the URI for the 
`*skel.so` library to use on Hexagon, which in our case is 
`libhexagon_rpc_skel.so`). Similarly, on the Hexagon side, 
`hexagon_rpc_send(...)` call is first intercepted by the “skel” API, which in 
turn calls the actual implementation defined in `src/runtime/hexagon/rpc/he 
[...]
 
-## Initialization: Setting up Android and establishing connection between x86 
host and android
+## Initialization: Setting up Android and establishing connection between x86 
host and Android
 
 What’s happening during the launcher initialization at 
[https://github.com/apache/tvm/blob/7cfaa88e6c18edc0a41e1a984d3cb9d8659a1c2c/tests/python/contrib/test_hexagon/test_launcher.py#L71-L73](https://github.com/apache/tvm/blob/7cfaa88e6c18edc0a41e1a984d3cb9d8659a1c2c/tests/python/contrib/test_hexagon/test_launcher.py#L71-L73)
 ?
 
@@ -41,7 +41,7 @@ launcher.upload(dso_binary_path, dso_binary)
 launcher.start_server()
 ```
 
-Here, we send various files over android via `adb`, and initialize a RPC 
server via `tvm_rpc_android` binary (built from 
[https://github.com/apache/tvm/tree/main/apps/cpp_rpc](https://github.com/apache/tvm/tree/main/apps/cpp_rpc)):
+Here, we send various files over Android via `adb`, and initialize a RPC 
server via `tvm_rpc_android` binary (built from 
[https://github.com/apache/tvm/tree/main/apps/cpp_rpc](https://github.com/apache/tvm/tree/main/apps/cpp_rpc)):
 
 
[https://github.com/apache/tvm/blob/0c0245ae2230fa07d3e4b8be490fc9c88965730c/python/tvm/contrib/hexagon/build.py#L373-L378](https://github.com/apache/tvm/blob/0c0245ae2230fa07d3e4b8be490fc9c88965730c/python/tvm/contrib/hexagon/build.py#L373-L378)
 
@@ -60,7 +60,7 @@ subprocess.Popen(
 ./tvm_rpc_android server --port=<RPC_SERVER_PORT> 
--tracker=<RPC_TRACKER_HOST>:<RPC_TRACKER_PORT> 
--key=<HEXAGON_REMOTE_DEVICE_KEY>&
 ```
 
-When we do `launcher.create_session()` , a remote RPC session between x86 and 
android is established via this line:
+When we do `launcher.create_session()` , a remote RPC session between x86 and 
Android is established via this line:
 
 
[https://github.com/apache/tvm/blob/0c0245ae2230fa07d3e4b8be490fc9c88965730c/python/tvm/contrib/hexagon/session.py#L57-L67](https://github.com/apache/tvm/blob/0c0245ae2230fa07d3e4b8be490fc9c88965730c/python/tvm/contrib/hexagon/session.py#L57-L67)
 
@@ -75,7 +75,7 @@ self._rpc = tracker.request(
 )
 ```
 
-Which eventually jumps to the following line in C++, which creates a RPC 
client session on an x86 host and run a server initialization function 
`tvm.contrib.hexagon.create_hexagon_session` on android:
+Which eventually jumps to the following line in C++, which creates a RPC 
client session on an x86 host and run a server initialization function 
`tvm.contrib.hexagon.create_hexagon_session` on Android:
 
 
[https://github.com/apache/tvm/blob/2cca934aad1635e3a83b712958ea83ff65704316/src/runtime/rpc/rpc_socket_impl.cc#L123-L129](https://github.com/apache/tvm/blob/2cca934aad1635e3a83b712958ea83ff65704316/src/runtime/rpc/rpc_socket_impl.cc#L123-L129)
 
@@ -92,7 +92,7 @@ TVM_FFI_STATIC_INIT_BLOCK() {
 }
 ```
 
-`tvm.contrib.hexagon.create_hexagon_session` is defined here. It establishes a 
link between android and hexagon, this code runs on android.
+`tvm.contrib.hexagon.create_hexagon_session` is defined here. It establishes a 
link between Android and Hexagon, this code runs on Android.
 
 
[https://github.com/apache/tvm/blob/cd2fa69677516048e165e84a88c774dfb0ee65d1/src/runtime/hexagon/rpc/android/session.cc#L106](https://github.com/apache/tvm/blob/cd2fa69677516048e165e84a88c774dfb0ee65d1/src/runtime/hexagon/rpc/android/session.cc#L106)
 
@@ -180,7 +180,7 @@ 
GetSess(dev_from)->GetDeviceAPI(remote_dev)->CopyDataFromTo(&from_tensor, &to_te
 
 
[https://github.com/apache/tvm/blob/899bc064e1bf8df915bcadc979a6f37210cdce33/src/runtime/rpc/rpc_device_api.cc#L94](https://github.com/apache/tvm/blob/899bc064e1bf8df915bcadc979a6f37210cdce33/src/runtime/rpc/rpc_device_api.cc#L94)
 
-At first, it is not obvious where this `CopyDataFromTo` jumps to (initially I 
thought it would jump to `HexagonDeviceAPI`). Since `GetSess(dev_from)` returns 
the client RPC connection between x86 and android, created during 
initialization in
+At first, it is not obvious where this `CopyDataFromTo` jumps to (initially I 
thought it would jump to `HexagonDeviceAPI`). Since `GetSess(dev_from)` returns 
the client RPC connection between x86 and Android, created during 
initialization in
 
 
[https://github.com/apache/tvm/blob/2cca934aad1635e3a83b712958ea83ff65704316/src/runtime/rpc/rpc_socket_impl.cc#L107](https://github.com/apache/tvm/blob/2cca934aad1635e3a83b712958ea83ff65704316/src/runtime/rpc/rpc_socket_impl.cc#L107)
 
@@ -259,7 +259,7 @@ void CopyDataFromTo(DLTensor* from, DLTensor* to, 
TVMStreamHandle stream) final
   }
 ```
 
-But this time, `endpoint_` is different. Previously, this `endpoint_` 
represented the connection between x86 and android (created in 
[https://github.com/apache/tvm/blob/2cca934aad1635e3a83b712958ea83ff65704316/src/runtime/rpc/rpc_socket_impl.cc#L99-L100](https://github.com/apache/tvm/blob/2cca934aad1635e3a83b712958ea83ff65704316/src/runtime/rpc/rpc_socket_impl.cc#L99-L100)),
 but this `endpoint_` belongs to the Hexagon session created in 
[https://github.com/apache/tvm/blob/cd2fa6967751604 [...]
+But this time, `endpoint_` is different. Previously, this `endpoint_` 
represented the connection between x86 and Android (created in 
[https://github.com/apache/tvm/blob/2cca934aad1635e3a83b712958ea83ff65704316/src/runtime/rpc/rpc_socket_impl.cc#L99-L100](https://github.com/apache/tvm/blob/2cca934aad1635e3a83b712958ea83ff65704316/src/runtime/rpc/rpc_socket_impl.cc#L99-L100)),
 but this `endpoint_` belongs to the Hexagon session created in 
[https://github.com/apache/tvm/blob/cd2fa6967751604 [...]
 
 ## Android → Hexagon
 
@@ -299,7 +299,7 @@ AEEResult hexagon_rpc_send(remote_handle64 _handle, const 
unsigned char* data,
 
 This is where FastRPC comes into play and things get very confusing. The 
endpoint lives in Android, so `hexagon_rpc_send` call (also `hexagon_rpc_open`) 
happens at Android. But the implementations of these functions in 
`rpc_server.cc` describe the behavior on the Hexagon side... What’s happening 
is that FastRPC “stub” and “skel” (see the overview at the top) API intercept 
those calls and play some magic behind the scene to make RPC call look 
transparent from the client (Android) perspective.
 
-So when the control comes to the point of definition of `hexagon_rpc_send` in 
`rpc_server.cc`, FastRPC has already finished its job and so we are really on 
the Hexagon side now. We come to `HexagonRPCServer::Write(...)` function, which 
in tern calls into TVM MinRPC server instance `rpc_server_` to process the 
incoming packet:
+So when the control comes to the point of definition of `hexagon_rpc_send` in 
`rpc_server.cc`, FastRPC has already finished its job and so we are really on 
the Hexagon side now. We come to `HexagonRPCServer::Write(...)` function, which 
in turn calls into TVM MinRPC server instance `rpc_server_` to process the 
incoming packet:
 
 
[https://github.com/apache/tvm/blob/c20cbc55c03f9f048b151a1221469b9888123608/src/runtime/hexagon/rpc/hexagon/rpc_server.cc#L167](https://github.com/apache/tvm/blob/c20cbc55c03f9f048b151a1221469b9888123608/src/runtime/hexagon/rpc/hexagon/rpc_server.cc#L167)
 

Reply via email to