Во первых для эффективного использования hyperthreading все компоненты железа (материнская плата, chipset и bios) должны поддерживать hyperthreading.
Во вторых память (RAM) должна быть двухканальная.
В третих ОС должна поддерживать hyperthreading.
В четвертых программа (в твоем случае MATLAB) должна не просто использовать потоки (threads), но использовать их эффективно, т.е. не симулировать мултипроцессорность, а реально ее использовать. Разница в том, что при симуляции программа знает, что потоки не могут бужать одновременно, а в мультироцессорной системе могут. Вот и получается, что программа, которая не знает, что система действительно мультипроцессорная, может искусственно останавливать потоки... Данный вариант очень может быть, если у вас относительно старая версия MATLAB. |