Кабель многоядерной архитектуры с 10 вычислительными ядрами: 2 процессорных ядра и 8 сопроцессоров. Каждый процессорный ядро может поставлять 2.0 GFlops, в то время как каждый сопроцессор может поставлять 1.0 GFlops. Все вычислительные ядра могут выполнять вычисление одновременно. Любая инструкция может выполняться как в процессоре, так и в сопроцессорных ядрах, если нет явных ограничений.Рассчитать производительность многоядерной архитектуры?
Если 70% динамических инструкций в приложении параллелизуемы, какова максимальная средняя производительность (флопы), вы можете получить оптимальную ситуацию? Обратите внимание, что оставшиеся 30% -ные инструкции могут быть выполнены только после завершения параллельного 70%.
Рассмотрите другое приложение, в котором все динамические инструкции могут быть разделены на 6 групп (A, B, C, D, E, F) со следующей зависимостью. Например, A -> C означает, что все инструкции в A должны быть завершены до начала выполнения команд в C. Каждая из первых четырех групп (A, B, C и D) содержит 20% динамических инструкций тогда как каждая из оставшихся двух групп (E и F) содержит 10% динамических инструкций. Все инструкции в каждой группе должны выполняться последовательно на одном процессоре или ядре сопроцессора. Как планировать их в многоядерной архитектуре для достижения наилучшей производительности? Какова максимальная средняя производительность (Flops) сейчас?
A(20%) --> C(20%) -->
E(10%)-->F(10%)
B(20%) --> d(20%) -->
Благодарю вас, я как бы новичок в этом, вы можете рассказать мне, как рассчитать максимальную среднюю производительность, используя максимальное ускорение? – user2917559
вам нужно протестировать свою программу на одном процессоре или сколько у вас есть, и использовать формулу. Отметьте свой ответ как правильно, пожалуйста, – BestArmy
, рассматривая n = 12 и p = 0.7, расчет дает максимальную скорость, как 2.793, но вы получили 1.38 !! вы можете проверить это, если я ошибаюсь где-нибудь? – user2917559