Содержание
- 2. Ползать или летать? Вы купите машину у которой из передач только первая? И максимальная скорость 20
- 3. Что для этого надо? Знать где он находится. А можно и не знать. Просто попросите того,
- 4. Программа Компиляторы Intel® И их практическое применение
- 5. Компиляторы Intel® C, C++, FORTRAN Имеются для Windows* и Linux* Имеются для 32 и 64-битных платформ
- 6. Факторы повышения производительности SIMD методика для архитектуры NetBurst™ Программная конвейеризация под архитектуру Itanium® Предварительная выборка данных
- 7. Встроенные средства SIMD-расширений встроенные средства SIMD-расширений работают с упакованными данными до 128 бит в длину, что
- 8. Встроенные средства SIMD-расширений Три варианта кодирования: Векторные классы Интринсики (intrinsic) Освобождают от необходимости непосредственного управления регистрами
- 9. Пример использования void quarter(int array[], int len) { int i; for(i=0; i array[i] = array[i]>>2; }
- 10. Автовекторизация Автоматически применяет SIMD команды в наборах команд SSE, SSE2, SSE3 и MMX™ Определяет операции программы,
- 11. Программная конвейеризация Программная конвейеризация предназначена для перекрытия итераций циклов Использует мощную поддержку программной конвейеризации, обеспечиваемую архитектурой
- 12. Распространяет оптимизацию на все файлы -Qipo Межпроцедурная оптимизация
- 13. Оптимизация по профилированию Оптимальна для кода с часто выполняемыми ветвлениями, которые трудно предсказать во время компиляции
- 14. Диспетчеризация ЦП Выбирает соответствующий код в период выполнения в зависимости от фактического типа процессора Позволяет использовать
- 15. Поддержка многопоточной разработки в компиляторах Intel® Поддержка OpenMP* в компиляторах Intel® -Qopenmp Предоставляет стандартный набор библиотечных
- 16. Дополнительные опции оптимизации Optimization report -Qopt_report Vectorizarion report –Qvec_report Parallelization report –Qpar_report Возможность регулирования развертки циклов
- 17. Основные показатели: Компиляторы Intel® 7.0 для Linux* Более подробную информацию о производительности продукции Intel можно получить
- 18. Intel Compilers "The Intel compilers have performed excellently on our ROOT code. On average, the Intel
- 19. Программа Компиляторы Intel® И их практическое применение
- 20. Компиляторная оптимизация Используем опцию -QaxW – агрессивная оптимизация по производительности для Pentium4 Включает HLO (high level
- 21. Проверим, что сделал компилятор? Опции –Qopt_report3 и –Qvec_report3 создают отчёт о проведённой оптимизации Разбираемся, где компилятор
- 22. VortexMovement demo
- 23. Другие опции компилятора Intel® Что ещё можно попробовать? Развёртка циклов #pragma unroll(8) Предварительная подгрузка данных #pragma
- 24. Что обычно даёт эффект? Переход от массива структур к структуре массивов typedef struct Vortex { float
- 25. Что обычно даёт эффект? Последовательный доступ к элементам массивов (data cache misses) Для многомерных циклов важен
- 26. Распараллелим приложение Даёт эффект На многопроцессорных машинах На Pentium4 с HT Возможные опции: Автопараллелизация компилятором –Qparallel
- 27. VortexMovement на P4 с HT Распараллелено с помощью OpenMP. Тест проведён на Pentium4 с HT (3060MHz,
- 28. backup
- 29. Необходимые условия векторизации Короткое тело цикла (один basic block) Векторные или векторизуемые типы данных Избегайте зависимостей
- 31. Скачать презентацию