*Other names and brands may be claimed as the property of others.. Copyright © 2003 Intel Corporation Технология Hyper-Threading в играх на реальных примерах.

Презентация:



Advertisements
Похожие презентации
Корпоративные облачные вычисления и безопасные клиенты на базе архитектуры Intel Александр Мельников Специалист по корпоративным технологиям Intel.
Advertisements

1 Возможности частно-государственного партнерства Опыт корпорации Intel в РФ Баклашова Вера Емельяновна Директор образовательных програграмм Интел в РФ24.
1 Возможности частно-государственного партнерства. Опыт корпорации Intel в РФ. Лобанова Анна Юрьевна к.х.н., директор департамента внешних связей корпорации.
Page 1 Корпус с улучшенными тепловыми характеристиками (TAC)? Корпус с улучшенными тепловыми характеристиками (TAC)? Что такое TAC (Thermally Advantaged.
Тройная игра Процессор
OpenGL и Direct3D сравнение стандартов Выполнил: Пенкин А. Группа И-204.
Programs of the Intel Education Initiative are funded by the Intel Foundation and Intel Corporation. Copyright © 2006 Intel Corporation. All rights reserved.
Это комплекс взаимосвязанных системных программ, назначение которого организовать взаимодействие пользователя с компьютером и выполнение всех других программ.
11 Intel Education Galaxy. 22 O сообществе Intel® Education Galaxy - cообщество профессионалов Фокус: новые направления ИКТ в образовании Все образовательные.
1 Работа под управлением ОС Windows. 2 Темы для обсуждения 1. Что такое операционная система Что такое операционная система Понятие ОС Виды ОС 2. Операционная.
Параллельное программирование с использованием технологии OpenMP Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Томский политехнический университет.
1 Оптимизация ПО для поддержки технологии Hyper-Threading с помощью OpenMP и Intel ® Threading Toolkit Максим Перминов Разработчик.
Учебный курс Технологии и средства разработки корпоративных систем Лекция 1 Открытые системы. Клиент и сервер Лекции читает кандидат технических наук,
Работу выполнили ученики 21 гимназии 10 А класса.
Введение в параллельную обработку. Уровни параллелизма в процессорах Параллелизм данных (DLP – Data Level Parallelism) Параллелизм команд (ILP – Instruction.
Поддержка игровых процессоров и базовых средств разработки Лекция 7.
МультиТредовые архитектуры.
Тема работы Архитектура игровых движков. Компьютерные игры Популярный вид развлечения среди широкой категории людей Появились в середине 40-х годов 20-го.
© 2006 Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries.
Система фрагментированного программирования Перепелкин В.А. Всероссийская молодежная школа по параллельному программированию МО ВВС ИВМиМГ 2009 г.
Транксрипт:

*Other names and brands may be claimed as the property of others.. Copyright © 2003 Intel Corporation Технология Hyper-Threading в играх на реальных примерах Максим Перминов

*Other names and brands may be claimed as the property of others.. Copyright © 2003 Intel Corporation Программа Обзор технологии Hyper-Threading Обзор технологии Hyper-Threading Многопоточность в играх: проблемы и решения Многопоточность в играх: проблемы и решения Примеры Примеры Выводы Выводы

*Other names and brands may be claimed as the property of others.. Copyright © 2003 Intel Corporation Как работает Hyper-Threading Физические процессоры Логические процессоры, видимые ОС Использование ресурсов физического процессора Полезная работа Время Ресурс 1 Ресурс 2 Ресурс 3 Поток 2 Поток 1 Без Hyper- Threading С Hyper- Threading Поток 2 Поток 1 Ресурс 1 Ресурс 2 Ресурс 3 + Чем лучше задействуются ресурсы процессора, тем больше суммарная полезная работа

*Other names and brands may be claimed as the property of others.. Copyright © 2003 Intel Corporation Как работает Hyper-Threading Многопроцессорная система Hyper-Threading Архитектурное состояние Кэш-память Препро- цессор Блок исполнения Технология HT увеличивает производительность за счёт лучшего использования ресурсов Архитектурное состояние Кэш-память Препро- цессор Блок исполнения Архитект. состояние Кэш-память Препро- цессор Блок исполнения Архитект. состояние

*Other names and brands may be claimed as the property of others.. Copyright © 2003 Intel Corporation Программа Обзор технологии Hyper-Threading Обзор технологии Hyper-Threading Многопоточность в играх: проблемы и решения Многопоточность в играх: проблемы и решения Примеры Примеры Выводы Выводы

*Other names and brands may be claimed as the property of others.. Copyright © 2003 Intel Corporation Почему в играх так сложно приживается многопоточность? Бизнес причины Бизнес причины –Малый опыт использования многопоточности у разработчиков –Ограниченная доля систем HT на рынке (например, по сравнению с SSE) Технические причины Технические причины –Последовательная модель обработки с сильными зависимостями данных между стадиями –Для внедрения многопоточности в игру часто требуется значительные изменения дизайна приложения

*Other names and brands may be claimed as the property of others.. Copyright © 2003 Intel Corporation Почему Вам следует внедрить многопоточность в свою игру? Бизнес причины Бизнес причины –Выделитесь на фоне конкурентов! –Все платформы PC будут поддерживать многопоточность аппаратно –Многопоточные программы лучше масштабируются, увеличивая срок жизни продукта –Навыки параллельного программирования окажутся полезными на многих платформах Технические причины Технические причины –Параллелизм – будущее микропроцессорных архитектур –Делайте полезную работу, а не ждите видеокарту –Дизайн многопоточного движка - хороший дизайн, не требующий постоянных переделок

*Other names and brands may be claimed as the property of others.. Copyright © 2003 Intel Corporation Основные вопросы многопоточного программирования Что распараллеливать? Методы многопоточности Что распараллеливать? Методы многопоточности При помощи чего это делать? Реализация многопоточности При помощи чего это делать? Реализация многопоточности

*Other names and brands may be claimed as the property of others.. Copyright © 2003 Intel Corporation Стратегии многопоточности Использовать параллелизм задач Использовать параллелизм задач –Обрабатывайте слабосвязанные задачи одновременно Использовать параллелизм данных Использовать параллелизм данных –Обрабатывайте несвязанные области данных одновременно

*Other names and brands may be claimed as the property of others.. Copyright © 2003 Intel Corporation Модель конвейера в играх Нари- совать мир Обновить мир Данные мира в игре Зависимости по данным

*Other names and brands may be claimed as the property of others.. Copyright © 2003 Intel Corporation Параллелизм данных в играх Можно использовать в таких задачах, как Можно использовать в таких задачах, как –Системы частиц, другие эффекты –Физика, ИИ (в т.ч. в Java/ C#) –Спекулятивная загрузка и распаковка данных уровня –Процедурное создание контента – геометрии, текстур, окружающей среды. Потенциал метода Потенциал метода –Хорош для игр, завязанных на процессор –Прост для внедрения Нари- совать мир Обно- вить мир 2 Подмн ожеств о 2 Обно- вить мир 1 Подмн ожеств о 1

*Other names and brands may be claimed as the property of others.. Copyright © 2003 Intel Corporation Параллелизм задач в играх Распараллельте весь конвейер Распараллельте весь конвейер –Поток 1 = Render Frame (n) –Поток 2 = Update Frame (n+1) Потенциал метода Потенциал метода –Хорош для игр, завязанных на графическую карту –Непросто реализуется из-за зависимостей данных, но не невозможно Нари- совать мир Обно- вить мир Мир t = n+1 Мир t = n...

*Other names and brands may be claimed as the property of others.. Copyright © 2003 Intel Corporation Реализация многопоточности API / Библиотеки API / Библиотеки –Системные вызовы Win32 –P-threads Языки программирования Языки программирования –Ява* –C# Расширения к языкам программирования Расширения к языкам программирования –OpenMP My_thrd_func(void* params) { begin, end

*Other names and brands may be claimed as the property of others.. Copyright © 2003 Intel Corporation Программа Обзор технологии Hyper-Threading Обзор технологии Hyper-Threading Многопоточность в играх: проблемы и решения Многопоточность в играх: проблемы и решения Примеры Примеры Выводы Выводы

*Other names and brands may be claimed as the property of others.. Copyright © 2003 Intel Corporation Поток 1 Поток 2 K-D LAB Периметр – Дизайн приложения Логика & AI Фиксированное количествокадров – 10 или 20 раз в секунду Фиксированное количествокадров – 10 или 20 раз в секунду Расчет состояний юнитов для момента времени (t) и (t+1) Расчет состояний юнитов для момента времени (t) и (t+1) Логика & AI Фиксированное количествокадров – 10 или 20 раз в секунду Фиксированное количествокадров – 10 или 20 раз в секунду Расчет состояний юнитов для момента времени (t) и (t+1) Расчет состояний юнитов для момента времени (t) и (t+1) Отрисовка 3D Максимально возможное количество кадров Максимально возможное количество кадров Интерполяция между состояниями (t) and (t+1) Интерполяция между состояниями (t) and (t+1) Отрисовка 3D Максимально возможное количество кадров Максимально возможное количество кадров Интерполяция между состояниями (t) and (t+1) Интерполяция между состояниями (t) and (t+1) Интерфейс Действия пользователя через мышь и клавиатуру Действия пользователя через мышь и клавиатуру Отображение игровой информации Отображение игровой информацииИнтерфейс Действия пользователя через мышь и клавиатуру Действия пользователя через мышь и клавиатуру Отображение игровой информации Отображение игровой информации

*Other names and brands may be claimed as the property of others.. Copyright © 2003 Intel Corporation K-D LAB Периметр - параллелизм задач в действии Время Абстра - ктные данные Графи - ческие данные Отри- совать мир Обно- вить мир... HT = 0 Графи - ческие данные Абстра - ктные данные Лог обновлений Обно- вить мир... Отри- совать мир HT = 1 Поток 1 Поток 2

*Other names and brands may be claimed as the property of others.. Copyright © 2003 Intel Corporation Выводы Распараллельте свою игру – это реально сделать! Распараллельте свою игру – это реально сделать! Навыки и испытанные методы помогают, но будьте изобретательными и экспериментируйте Навыки и испытанные методы помогают, но будьте изобретательными и экспериментируйте Внедряйте многопоточность как можно раньше, в идеале на стадии дизайна Внедряйте многопоточность как можно раньше, в идеале на стадии дизайна Используйте Intel® Software Tools для получения максимального выигрыша от многопоточности Используйте Intel® Software Tools для получения максимального выигрыша от многопоточности