Locality methodology: различия между версиями
Перейти к навигации
Перейти к поиску
[непроверенная версия] | [непроверенная версия] |
VadimVV (обсуждение | вклад) |
VadimVV (обсуждение | вклад) |
||
Строка 15: | Строка 15: | ||
== Условия запуска утилиты для сбора профиля и оценок локальности == | == Условия запуска утилиты для сбора профиля и оценок локальности == | ||
− | # Описание программно-аппаратной среды | + | # ''Описание программно-аппаратной среды:'' |
## Платформа: процессор Intel Xeon X5650 @ 2.67GHz | ## Платформа: процессор Intel Xeon X5650 @ 2.67GHz | ||
## Размер кэш-памяти (L1/L2/L3): 32K/256K/12M | ## Размер кэш-памяти (L1/L2/L3): 32K/256K/12M | ||
## Компилятор: gcc version 4.4.7 | ## Компилятор: gcc version 4.4.7 | ||
## Строка компиляции: g++ -O2 -Wall -Wextra -Werror | ## Строка компиляции: g++ -O2 -Wall -Wextra -Werror | ||
− | # Описания параметров запусков | + | # ''Описания параметров запусков:'' |
+ | ## Используемая точность: double (если не указано иное) | ||
## Размер "окна": 512 | ## Размер "окна": 512 | ||
## Размер профиля для визуального анализа: < 1 млн. обращений (часто < 100.000) | ## Размер профиля для визуального анализа: < 1 млн. обращений (часто < 100.000) | ||
## Размер профиля для анализа на основе оценок daps и cvg: ~ 30 млн. обращений | ## Размер профиля для анализа на основе оценок daps и cvg: ~ 30 млн. обращений |
Версия 16:23, 22 января 2015
- Описание локальности алгоритма
- Описание локальности реализации алгоритма
- Качественное (словесное) описание пространственной и временной локальности
- Построить график профиля обращений в память.
- Выполнить визуальный анализ структур профиля обращений (при необходимости масштабировать график для проведения более подробного анализа). На различных шагах масштабирования привести выводы/предположения о пространственной и временной локальности, которые можно сделать на данном шаге.
- В результате должно сложиться понимание о структуре профиля с точностью до отдельных обращений.
- Особое внимание стоит обратить на выделение характерных фрагментов профиля: итераций, циклов, переборов элементов массивов, случайному доступу и т.д.
- При масштабировании необходимо на предыдущем графике профиля отобразить его фрагмент, который будет масштабироваться.
- После проведения визуального анализа сделать общие выводы о пространственной/временной локальности (если он не были сделаны ранее).
- Качественное (словесное) описание пространственной и временной локальности
- Количественная оценка локальности
- Посчитать daps и cvg.
- Построить графики со сравнением каждой из оценок с реализациями других, типовых алгоритмов (например, Линпак, БПФ, перемножение матриц и т.д.)
- По возможности проанализировать положение изучаемой реализации в ранжировании относительно типовых программ. Особенно интересно анализ результатов по сравнению со схожими реализациями (например, сравнение классического и блочного перемножения матриц; рекурсивной и нерекурсивной реализаций; двух реализаций, среди которых одна является значительной частью другого).
Условия запуска утилиты для сбора профиля и оценок локальности
- Описание программно-аппаратной среды:
- Платформа: процессор Intel Xeon X5650 @ 2.67GHz
- Размер кэш-памяти (L1/L2/L3): 32K/256K/12M
- Компилятор: gcc version 4.4.7
- Строка компиляции: g++ -O2 -Wall -Wextra -Werror
- Описания параметров запусков:
- Используемая точность: double (если не указано иное)
- Размер "окна": 512
- Размер профиля для визуального анализа: < 1 млн. обращений (часто < 100.000)
- Размер профиля для анализа на основе оценок daps и cvg: ~ 30 млн. обращений