Setting the CPU affinity and number of cores locally without RPC Remote

To be more precise on this question, I am working on Hikey 970 with 4 little cores (core id: 0123) and 4 big cores (core id:4567). I am working on splitting the entire relay graph into graphs and running it in pipeline format.

I know that with the following command, I can control the CPU number of threads locally.

export TVM_BIND_THREADS=1 (enable CPU affinity)
export TVM_NUM_THREADS= N (N=1~4  control Number of CPU you wanna use)

However, I have two questions on this problem:

  1. This command only allows me to use 1/2/3/4 big cores only and it seems that the default setting doesn’t allow users to use the small cores. Even if I set TVM_NUM_THREADS larger than 4, it still uses 4 big cores only. Is it possible to use small cores, or big and small cores (e.g. 3 big 4 small)?

  2. Moreover, this command would set all of the benchmarks using assign cores. Since I split the original graph into subgraphs, what I would like to have is actually assigning specific subgraphs to use specific cores (something like subgraph 0 → 2 big cores, subgraph 1 → 2 big cores, subgraph 2 → 4 small cores) instead of changing the entire setting globally.

@hjiang may I ask is it possible to share some of your implementations even though it’s still under development?