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:
-
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)?
-
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?