[Android] rpc problems when using mali

I have successfully install TVM RPC in my android using this link. It has no problem to use ARM CPU when installing an app without compiling using OpenCL. But, editing config.mk and install with OpenCL, it has a problem that the RPC communication does not end. (the config is the same as arm CPU but it doesn’t work!)

I think that i missed the library version or some or configurations.

Can someone please help?

rpc tracker log

Tracker address 127.0.0.1:9105

Server List
----------------------------
server-address  key
----------------------------
141.223.124.93:5001     server:android
----------------------------

Queue Status
-------------------------------
key       total  free  pending
-------------------------------
android   1      1     0
-------------------------------

library version

  • android-ndk-r19c
  • jave-8-openjdk
  • gradle 6.0

System env

Host

  • TVM commit 1df6c273f0fb1242d0b399614616635cef38bc15
  • OS ubuntu 20.04

Device

  • Samsung galaxy s21
  • CPU - ARM Cortex
  • GPU - ARM Mali-G78

config.mk

#-------------------------------------------------------------------------------
APP_ABI = arm64-v8a

APP_PLATFORM = android-24

# whether enable OpenCL during compile
USE_OPENCL = 1

# whether to enable Vulkan during compile
USE_VULKAN = 1

# whether to enable contrib sort functions during compile
USE_SORT = 1

# whether to eanble contrib random functions during compile
USE_RANDOM = 1

ifeq ($(USE_VULKAN), 1)
  # Statically linking vulkan requires API Level 24 or higher
  APP_PLATFORM = android-24
endif

ADD_C_INCLUDES += /home/jaehun/tvm/apps/android_rpc/sdk/Development/Inc
ADD_C_INCLUDES += /home/jaehun/tvm/apps/android_rpc/OpenCL-Headers
# the additional link libs you want to add, e.g., ANDROID_LIB_PATH/libOpenCL.so
ADD_LDLIBS = /home/jaehun/tvm/apps/android_rpc/libOpenCL.so