The interface of __kmpc_threadprivate_cached in document said that the last parameter is [void *** cache].
I wnat to know that we must outself create cache? what type and size of it?
'I'm not quite sure what you're asking, since it's not clear to me what you're trying to do. If you look inside __kmpc_threadprivate_cached, you'll see that it creates the cache if it doesn't already exist, so code outside here doesn't need to.
Are you re-targeting some compiler to use the Intel runtime? If not the compiler is already doing the right thing, so you don't need to worry about it.