ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
5 мая
731690 Топик полностью
Ксения (27.01.2017 19:47 - 19:50, просмотров: 155) ответил Evgeny_CD на Большущее спасибо! Несколько ремарок
По поводу ваших ремарок 1 и 3: > 1. AVX-512 - он у Xeon Phi и дескторов будет разный. Это чтобы мы не радовались жизни слишком сильно. > Там много подмножеств, и эти подмножества для Xeon Phi и просто Xeon не пересекаются. Во-первых, радоваться можно уже сейчас :), т.к. все эти подмножества отличаются друг от друга лишь какими-то специфическими расширениями (дополнительными инструкциями), но копирование между 512-разрядными регистрами и памятью в купе с 4-мя основными арифметическими операциями есть в любом подмножестве AVX-512, т.е. это база, без которой AVX-512 потерял бы всякий смысл. В самом деле, какой был бы от него прок, если бы в эти регистры нельзя было загрузить число и выполнить над ним арифметическую операцию? Например, в квантово-механических расчетах, несомненно, было бы востребовано подмножество ERI, в котором аппаратно вычисляется экспонента, причем по всем 8-ми double, что влезают в один AVX512-регистр. Но большинству расчетных задач бывает достаточно только 4-х арифметических действий. Тем более что даже на SSE и обычном AVX-256 из функций остался жив только квадратный корень, а остальное велено эмулировать. Однако если поглядеть правде в глаза, то эмуляция спецфункций происходит в любом случае, даже если этот процесс зарыт на уровень микрокоманд. Именно поэтому они, даже глубоко зарытые, требуют много тактов для своего вычисления, хотя современные процессоры уже научились выполнять float-арифметику за один такт. Поэтому даже в случае программной эмуляции параллельное оперирование сразу с восьмеркой double64 или с 16-ю float32 дает очень заметный выигрыш во времени. Но, конечно же, такую эмуляцию надо делать на самих регистрах AVX-512, не записывая в память промежуточных результатов. Нам же обычно бывает нужно быстрое векторное умножение (задачи матричной алгебры и цифровой фильтрации), для ускорения которого векторных операций "умножить" и "сложить" вполне достаточно. > 3. Насчет AVX-1024. Почти навернякак там расход ресурсов кристалла - как квадрат длины векторного регистра > (это оптимистично, боюсь, что в реальности хуже). Вероятно, это будет вполне нормально по 7-10 нм. > Но маркетинг! Нельзя юзеру давать доступ ко всем фишкам! дай ему AVX-1024 сейчас - а кто 7 нм процы лет через 10-15 покупать будет? Вот если бы речь шла о расширении разрядной сетки, скажем, при переходе на float128, то я бы с вашей оценкой согласилась. Однако в данном случае части векторных регистров работают параллельно и на результаты друг друга не влияют. А потому здесь не квадрат длины, а всего лишь сумма. Т.е. чисто технически регистр AVX-1024 можно было бы сгородить из двух регистров AVX-512, на которых операции запускаются синхронно, а при обращении к памяти у второго экземпляра адрес сдвинут на 8 байт. Таким образом, это осуществляется даже проще, чем в типичной задаче построения длинного двоичного сумматора из 8-битных микросхем, т.к. при объединении сумматоров приходится бит переноса от одного другому передавать, а здесь части работают полностью независимо. Мысль моя была такая - если одно из ядер раскурочить, выломав из него регистры AVX-256 c арифметикой, и добавить это в качестве старшей половины AVX-512 другому ядру, то получилось бы как то, что нужно. Я понимаю, что в процессоро-строении нельзя использовать методы тришкиного кафтана, когда отрезав рукава можно удлинить полы :), но буду не согласна, если кто-то станет доказывать, что поддержка AVX-512 обойдется дороже, чем еще одно ядро - все-таки ядро устроено гораздо сложнее, чем SSE/AVX-блок при нем.