Самое полезное, что вы можете сделать, это убедиться, что ваш поток выполняет длинные последовательности независимой работы.Эти последовательности должны быть значительно длиннее, чем издержки, которые вы, вероятно, понесете (скажем, 1 - 10 микросекунд)
Распространенная ошибка - слишком мелкое разбиение работы (создавая много накладных расходов в процессе).Вам нужно только одно задание на ядро, чтобы каждое ядро было занято.
Без большей информации о том, что вы пытаетесь сделать, и о том, как вы разбиваете свою работу, трудно предложить что-то более конкретное.