Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Использование SIMD-расширений при написании программПоиск на нашем сайте
Использование векторных расширений может дать значительный прирост производительности, поэтому стремление их использовать является вполне оправданным. Существует несколько способов, позволяющих реализовать возможности имеющихся SIMD-расширений в программах языках высокого уровня: 1) Воспользоваться знаниями компилятора. Оптимизирующий компилятор, умеющий генерировать код для данного SIMD- расширения - это наиболее простой и эффективный путь к достижению высокой производительности. Основным недостатком этого подхода является то, что компилятор может не распознать возможность эффективного применения векторных операций для увеличения производительности. 2) Использовать вставки на ассемблере.
При этом подходе мы полностью контролируем эффективность программы, исключая возможность компилятора помочь нам при создании эффективного кода. Недостатки этого подхода очевидны: ñ необходимо знать основы программирования на языке ассемблера, ñ ухудшается переносимость программ.
3) Использовать специальные встроенные функции (intrinsics), отображаемые в соответствующие команды SIMD-расширений. Конечно, эти команды должны поддерживаться компилятором. Преимуществами данного подхода, по сравнению с остальными, являются: ñ возможность использовать SIMD-инструкции там, где это необходимо (а не надеяться на компилятор), ñ возможность выполнять векторизацию программы не спускаясь до уровня ассемблера, ñ возможность использования знаний компилятора при генерации кода (например, при отображении переменных на регистры и выбора порядка следования команд).
|
||
|
Последнее изменение этой страницы: 2024-07-06; просмотров: 43; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.156 (0.005 с.) |