Does my plugin run on the correct core?

Hi,
In my application I need to use SIMD. Suppose the CPU has SIMD support, then still I do not understand the following two situations:

A
I guess the efficiency cores (which some new CPUs may have) do not support SIMD. How to prevent that my application is scheduled onto such a core?

B
Most cores these days can run two threads using hyper-threading. But I assume there is only one SIMD unit per core. If so, is the SIMD shared between the two threads?
And what if my application is running on such a core and some other application that uses the SIMD (or an other thread of my own application) is scheduled to that core too?
Does that mean that the SIMD is shared over these two threads? Which could break the code completely because I want to make good use of the available SIMD registers.

I guess the efficiency cores (which some new CPUs may have) do not support SIMD.

wrong information

How to prevent that my application is scheduled onto such a core?

You actually have no influence on this, and that’s a good thing. It is up to the operating system to decide which threads require more performance.

There are special cases, for example if you need additional parallel threads in an audio callback, or if you are programming plugin hosts like DAWs, solutions such as audio workgroups on macOS are useful.

Most cores these days can run two threads using hyper-threading. But I assume there is only one SIMD unit per core. If so, is the SIMD shared between the two threads?

yes, but thats just an implementation detail of your CPU, you really don’t have to care about this.
Your CPU and operating system will often intelligently distribute the CPU load between the different cores.

You seem to be giving a lot of thought to the implementation details of your CPU. But in most cases you don’t need to. If you have a performance problem, I would recommend using a profiler to see where you can improve things.

But the OS doesn’t know that I have a deadline.
And when the performance of my code suddenly drops a lot because the SIMD resources need to be shared, it will result in buffer underrun.

I think ‘most’ is a very important word here.
I think to write good and efficient code it is good to know your hardware.