
Эффект понижения тактовой частоты процессора при выполнении ресурсоемких операций, в частности 256-битных векторных инструкций, достаточно давно известен. О нем знают не только специалисты, но и грамотные пользователи. Вместе с тем, определяя ключевые характеристики и лимиты технологии автоматического увеличения тактовой частоты, известной под брендом Turbo Boost, компания Intel предпочитает минимизировать обсуждение «скользких нюансов», в очередной раз подогревая ожидание широкого внедрения инструкций AVX512.
Реализуя динамический оверклокинг в рамках технологии Turbo Boost, процессор выбирает тактовую частоту в зависимости от целого ряда факторов: температуры, рабочей нагрузки, количества одновременно активных ядер и т. п. В числе этих факторов также находится разрядность векторных инструкций, выполняемых в данный момент времени.
Стив Ланц (Steve Lantz), профессор Корнелльского университета, в недавно опубликованном документе «Turbo Boost Up, AVX Clock Down: Complicaons for Scaling Tests» в очередной раз официально подтверждает,что лимиты динамического оверклокинга могут понижаться в соответствии с разрядностью выполняемых в данный момент времени векторных инструкций. Очевидно, ресурсоемкие операции приводят к увеличению потребления мощности и росту температуры, поэтому анализ потока выполняемых инструкций является лишь одним из факторов, усложняющих учет зависимости быстродействия вычислительной системы от условий функционирования.
Для потребителей это означает, что прибавка в производительности, связанная с переходом от 256-битных к 512-битным AVX-регистрам, даже для хорошо векторизуемых алгоритмов может быть несколько меньше двукратной. Для авторов бенчмарок асинхронное динамическое изменение тактовой частоты актуализирует вопросы обеспечения повторяемости результатов. В условиях, когда в силу неумолимых физических причин, временное понижение тактовой частоты при выполнении векторных операций высокой разрядности представляется неизбежным, приобретают значимость интеллектуальные алгоритмы управления тактированием, включая ответы на вопросы:
- Поддерживается ли индивидуальная установка тактовой частоты для каждого из вычислительных ядер, или возможно, некоторого домена из нескольких ядер?
- Как поведет себя процессор после выполнения фрагмента кода, содержащего инструкции AVX512, сколько времени пройдет от момента выполнения последней такой инструкции до восстановления режима динамического разгона?
В результате, словосочетание «Cooler с поддержкой AVX512» кажется все менее анекдотичным, и определение разрядности обрабатываемых векторов по звуку вентилятора рискует стать очередной забавой технических эстетов…