
Автоматическая Оптимизация Компьютера
Увеличение производительности компьютерных систем осуществляется сегодня, как правило, за счет физического параллелизма — по этому пути идут Intel, AMD, ARM, а также nVidia, последние модели графических процессоров которой имеют сотни ядер, а платформа Tesla образована из набора графических карт, объединенных параллельно и подключаемых к управляющему компьютеру как отдельный вычислительный блок. Компания Intel тоже решилась испытать судьбу после неудачной попытки выхода на рынок графических процессоров и предложила новую архитектуру со множеством простых ядер (Many Integrated Core, MIC). Такова общая тенденция, согласно которой в индустрии считается, что производительность проще нарастить путем увеличения количества, нежели усовершенствуя отдельно взятые исполнительные блоки. Графические процессоры nVidia и AMD характеризуются не только узкой специализацией, но и простотой компоновкой, что позволяет во множестве размещать их на одной подложке. Ядра процессора для проекта MIC имеют архитектуру x86, причем сильно упрощены по сравнению с ядрами других процессоров компании Intel, в частности из них удалены все векторные инструкции, а исполнение в рамках ядра происходит строго последовательно. Однако для увеличения параллелизма по данным были разработаны 512-битные векторные инструкции SIMD, что в четыре раза выше, чем в стандартных процессорах.
Еще одна тенденция — рост популярности гетерогенных вычислений; например, IBM оснастила свои новейшие серверы, помимо обычных процессоров, еще и графическими от nVidia, а Intel анонсировала встраивание графического ядра на одну подложку с обычным процессором.
Вместе с тем на этом фоне грандиозных достижений в области оборудования высокопроизводительных исполнительных устройств сфера разработки программ буксует — создание действительно параллельных приложений требует специальной подготовки, особого образа мышления и высокой квалификации программистов. Поэтому чрезвычайно значимой становится задача создания инструментария для автоматической оптимизации и распараллеливания программ. Поскольку все программы так или иначе должны быть скомпилированы на язык исполнительного устройства, то много усилий таких производителей, как Intel, Microsoft и сообщества Open Source, тратится именно на доработку компиляторов.
Видео на тему



Расказать о статье друзьям
Похожие статьи
Проверка Скорости Компьютера
Специальный тест скорости Интернета, так называемый speed test, поможет определить точную скорость соединения. Он передает…
Читать далееИсправление Ошибок Очистка Реестра
Kerish Doctor — это условно-бесплатное программное обеспечение для комплексного ухода за компьютером под управлением операционных…
Читать далее