etc:common_activities:intel_students_cup:tour2
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| etc:common_activities:intel_students_cup:tour2 [2007/11/05 01:57] – zps | etc:common_activities:intel_students_cup:tour2 [2008/01/03 02:32] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Исследование вопроса ====== | ====== Исследование вопроса ====== | ||
| - | [[tour2_tasks|Текущие задачи]] | + | * [[tour2_tasks|Текущие задачи]] |
| + | * [[algo_details|Детали алгоритма]] | ||
| ===== План ===== | ===== План ===== | ||
| Line 151: | Line 152: | ||
| | | ||
| </ | </ | ||
| + | |||
| ==== Менее очевидные шаги ==== | ==== Менее очевидные шаги ==== | ||
| Line 260: | Line 262: | ||
| * возможно подскажет где что можно ещё распараллелить; | * возможно подскажет где что можно ещё распараллелить; | ||
| - | Установил | + | [[icc|Результаты]] |
| - | + | ||
| - | Результаты | + | |
| - | * замена -O2 на -O0 в Makefile дает время 54.252/ | + | |
| - | * возврат -O2 (и добавление -lirc на линковке) дает 40.606/ | + | |
| - | * оптимизация под SSE3 (-axT, -limf -lsvml) дает массу сообщений о векторизованных циклах и время 25.237/ | + | |
| - | + | ||
| - | + | ||
| - | Разбираюсь с профилированием и PGO. | + | |
| - | + | ||
| - | Изменения в Makefile: | + | |
| - | < | + | |
| - | diff -ruN src-org/ | + | |
| - | --- src-org/ | + | |
| - | +++ src-icc/ | + | |
| - | @@ -53,22 +53,23 @@ | + | |
| - | + | ||
| - | OBJ = .o | + | |
| - | + | ||
| - | -CC = gcc | + | |
| - | +CC = icc | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | -CDEFOPT | + | |
| - | +CDEFOPT | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | + | ||
| - | | + | |
| - | -LDPLAT | + | |
| - | -LDFLAGS | + | |
| - | +LDPLAT | + | |
| - | +LDFLAGS | + | |
| - | | + | |
| - | -LIBS = -lm -lc | + | |
| - | +LIBS = -lm -lc -lirc -limf -lsvml | + | |
| - | +# -lompstub -lomp_db -lguide | + | |
| - | | + | |
| - | + | ||
| - | | + | |
| - | </ | + | |
| === Использование Integrated Performance Primitives === | === Использование Integrated Performance Primitives === | ||
| Line 610: | Line 568: | ||
| </ | </ | ||
| + | |||
| + | {{: | ||
| + | Лучший из полученных результатов: | ||
| + | <code bash> | ||
| + | Frame 1 of 16 ... frame time 3.591 | ||
| + | Frame 2 of 16 ... frame time 3.492 | ||
| + | Frame 3 of 16 ... frame time 3.497 | ||
| + | Frame 4 of 16 ... frame time 3.499 | ||
| + | Frame 5 of 16 ... frame time 3.485 | ||
| + | Frame 6 of 16 ... frame time 3.492 | ||
| + | Frame 7 of 16 ... frame time 3.494 | ||
| + | Frame 8 of 16 ... frame time 3.492 | ||
| + | Frame 9 of 16 ... frame time 3.523 | ||
| + | Frame 10 of 16 ... frame time 3.491 | ||
| + | Frame 11 of 16 ... frame time 3.496 | ||
| + | Frame 12 of 16 ... frame time 3.495 | ||
| + | Frame 13 of 16 ... frame time 3.494 | ||
| + | Frame 14 of 16 ... frame time 3.492 | ||
| + | Frame 15 of 16 ... frame time 3.503 | ||
| + | Frame 16 of 16 ... frame time 3.495 | ||
| + | ================================= | ||
| + | Timing: | ||
| + | Total time is 56.036 sec., average frame time is 3.502 sec. | ||
| + | |||
| + | Correctness check: | ||
| + | Max RGB difference is 20. | ||
| + | Number of different color pixels is 5437 (1.1%). | ||
| + | </ | ||
| + | Достигнут: | ||
| + | указанием ключа fast при компилляции | ||
| + | заменой дублирующих вычислений в циклах в очевидных местах | ||
| + | выносом вычисления синусов и косинусов (ipp) полярных координат | ||
| + | |||
| + | ==== Совсем неочевидные/ | ||
| + | * [[tab_sin|Табличный синус]] (плавающие числа) -- тупиковая ветвь. | ||
| + | * Целочисленная реализация алгоритма расчета вектора нормали -- выигрыша по скорости нет, по точности -- проигрыш. Тупиковая ветвь. | ||
| + | * [[harm_reduction|Уменьшение количества гармоник]] -- тупиковая ветвь. | ||
etc/common_activities/intel_students_cup/tour2.1194217032.txt.gz · Last modified: 2008/01/03 02:32 (external edit)