Dear Monica, Zhao,
If you are talking about InferencePlugin described here
It's job is Compile and Load - Use the plugin interface wrapper class InferenceEngine::InferencePlugin to call the LoadNetwork() API to compile and load the network on the device. Pass in the per-target load configuration for this compilation and load operation.
So to answer your question, yes - you must use InferencePlugin.
As I mentioned in one of your other posts I don't know what neural rods are. I tried googling for this term with respect to Artificial Intelligence/Deep Learning and my search came up empty. It seems like a biological term.
Anyway, if a neural nod is synonymous with model, then no - you cannot run more than 1 model per logical core (or in the case of NCS2, per shave).