Low efficiency on my own cpu

system info:
cpu:J1900
mxnet==1.5.0
llvm==8.0
tvm==0.5.0

I just implement ssd model by tutorials, then I got a accurate result but it cost 101 seconds with a 512*512 picture. I set target = llvm. ssd = ‘ssd_512_resnet50_v1_voc’.

For the low efficiency,am I doing something wrong, or what I didn’t do?

Hi,

You might need to set extra llvm arguments, especially -mcpu option, depending on your chip: https://llvm.org/docs/CommandGuide/llc.html

You can also try autotuning after proper llvm arguments are set.

Try mpcu=silvermont. BTW, 101-second sounds shocking…

Thank you so much for your suggestion, do you mean mcpu=silvermont, it works, but also cost 98-seconds …

Thank you so much for your suggestion,I had try set -mcpu for many arguments, but it no reason so slow, even if there is no autotuning.

Can you try resnet-50 to see if the performance issue is in the base network or not?

I had try use gluoncv got resnet50_v1 model, the execute time of model take 57 seconds.

I don’t have any experience on this CPU model. But those performance numbers are too bad anyhow, even assuming single thread. I don’t have any clue for now. Perhaps you want to share some code snippet.

I made a mistake for the execute time, the true execute time for resnet50 is 18 seconds and ssd_resnet50 is 23 seconds. sorry for this mistake. But I expect millisecond execute time. could autotuning achieve this effect?

f = m.module.time_evaluator('run', ctx)
results = f()

I use above code evaluator inference time. And I got a mean_time 7 seconds. Now there is no problem in the time test. But it takes a long time for a cpu with 1.99Ghz.

You should try autotuning as the fallback configuration may be very bad for your CPU target. However, the J1900 seems to be a pretty cut down CPU (I do not see any docs saying it has AVX extensions), so I am not sure you should expect performance in the ms range, especially for 512x512 SSD.

@eqy thanks, J1900 doesn’t has avx but has sse which could achieve performance in the ms range with 300*300 mobilenet-ssd?

In any case, I would recommend autotuning first to see if that makes a difference.