Какие языки программирования дают контроль над процессорами, ядрами, потоками?
Проясню вопрос:
"Вычислительные приложения, желающие выжать из железа максимум производительности, требуют детального контроля над тем, где будут размещены их потоки: поближе друг к другу на соседних гиперпотоках или же наоборот, подальше на разных процессорах."
Какие языки программирования, библиотеки, фреймфорки(?), техники программирования позволяют программисту так детально контролировать расположение своих данных и кода по процессорам, ядрам, потокам? Это вообще возможно?
Почти все языки дают инструменты многопоточности программирования, то есть запуска потока, или задачи, но разве у них есть возможность контролировать состороны программиста на каком процессоре,ядре, гиперпотоке будет исполнятся код?
Пердпочтение отдаю высокоуровневых языкам, и далее ниже к железу....
Пессимистичный какой-то слишком вопрос. Как бы почти все они это умеют. Разница скорее в удобстве, скажем на C# (с TPL, async-await) все это точно поудобнее будет, чем на C++, Java.
Онидают инструменты многопоточности программирования, то есть запуска потока, или задачи, но разве у них есть возможность контролировать состороны программиста на каком процессоре,ядре, гиперпотоке будет исполнятся код?
"Вычислительные приложения, желающие выжать из железа максимум производительности, требуют детального контроля над тем, где будут размещены их потоки: поближе друг к другу на соседних гиперпотоках или же наоборот, подальше на разных процессорах."
Вопрос читайте внимательнее.