Высокоуровневая система программирования графических процессорных устройств тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат физико-математических наук Адинец, Андрей Викторович
- Специальность ВАК РФ05.13.11
- Количество страниц 124
Оглавление диссертации кандидат физико-математических наук Адинец, Андрей Викторович
Введение
Глава 1. Графические процессорные устройства
1.1. ГПУ как высокопроизводительные ВС
1.2. Архитектуры ГПУ.
1.3. Обзор средств программирования ГПУ.
1.4. Требования к разрабатываемой системе
Глава 2. Язык С$ для программирования графических процессоров
2.1. Основные принципы языка.
2.2. Специфические типы данных языка С$.
2.3. Специфические операторы и конструкции языка С$
Глава 3. Система времени выполнения С$
3.1. Общая архитектура системы С$
3.2. Взаимодействие со средой выполнения .NET 2.
3.3. Методы оптимизации программ для ГПУ.
Глава 4. Вычислительные эксперименты и анализ эффективности системы С$.
4.1. Эффективность решения задач при помощи системы С$
4.2. Анализ эффективности алгоритмов оптимизации системы С$
4.3. Сравнение С$ со средствами программирования для традиционных архитектур
Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК
Комплексное моделирование и оптимизация ускорительных систем на графическом процессоре (GPU)2013 год, доктор физико-математических наук Перепёлкин, Евгений Евгеньевич
Численное моделирование задач газовой динамики на гибридных вычислительных системах2012 год, кандидат физико-математических наук Давыдов, Александр Александрович
Методы и программно-аппаратные средства параллельных структурно-процедурных вычислений2004 год, доктор технических наук Левин, Илья Израилевич
Методы и инструментальные средства разработки масштабируемых параллельных программ для многопроцессорных систем со структурно-процедурной организацией вычислений2004 год, кандидат технических наук Шматок, Алексей Владимирович
Средства архитектурно-ориентированной оптимизации выполнения параллельных программ для вычислительных систем с многоуровневым параллелизмом2018 год, кандидат наук Кулагин Иван Иванович
Введение диссертации (часть автореферата) на тему «Высокоуровневая система программирования графических процессорных устройств»
Современные графические процессорные устройства (ГПУ, GPU, Graphics Processing Unit) являются высокопроизводительными вычислительными системами, потенциально сравнимыми с суперкомпьютерами в решении представительных классов вычислительно ёмких задач. По ряду характеристик системы, построенные на базе графических процессоров, превосходят традиционные суперкомпьютеры: более высокая энергоэффективность, лучшее соотношение цена/производительность, меньшие размеры, пониженные требования к инженерной инфраструктуре, более высокая распространённость и доступность. Однако главной проблемой, препятствующей массовому внедрению ГПУ в вычислительную практику, является отсутствие адекватных высокоуровневых средств программирования для подобных архитектур.
Активные исследования по разработке методов решения вычислительных задач на графических процессорах начались не так давно, в начале 2000-х годов. Они велись по ряду направлений, в частности, адаптация существующих программ к использованию вычислительных ресурсов графических процессоров, исследование производительности графических процессорных устройств на определённых классах задач, разработка средств и систем программирования графических процессоров.
Сегодня для решения задач на графических процессорах от различных производителей (прежде всего, NVidia и AMD) используется целый ряд средств программирования, в частности, OpenGL, CUDA, RapidMind, Brook+. Однако все они обладают целым рядом недостатков. Все они являются низкоуровневыми средствами, и их использование требует знания многих деталей архитектуры графического процессора. Более того, подобные средства программирования работают только с конкретными семействами архитектур. В результате создаваемые с их помощью программы являются низкоуровневыми, трудными для сопровождения и непереносимыми. Необходим высокоуровневый инструментарий для программирования графических процессоров, который позволит создавать эффективные программы, переносимые между семействами архитектур графических процессоров с сохранением высокого уровня эффективности.
Целями данной диссертационной работы являются исследование подходов к созданию высокоуровневых средств программирования графических процессоров, обоснование принципов построения высокоуровневого языка программирования ГПУ, разработка архитектуры и системы программирования, опирающейся на предложенный язык и учитывающей особенности различных семейств ГПУ, разработка методов оптимизации программ для учёта иерархии памяти и уровней параллелизма различных графических процессоров.
Основными результатами данной диссертационной работы являются:
1. На основании сравнительного анализа архитектуры современных ГПУ и технологий параллельного программирования разработан высокоуровневый язык С$ для программирования графических процессоров. Программы на языке С$ обладают свойством переносимости между различными семействами ГПУ с сохранением высокой эффективности.
2. Для предложенного языка спроектирована и реализована система поддержки времени выполнения. Система обеспечивает единое внутреннее представление программы, её оптимизацию, генерацию и исполнение кода для различных архитектур графических процессоров (NVidia и AMD).
3. Разработаны и интегрированы в систему программирования С$ методы оптимизации программ для графических процессоров. Разработанные методы оптимизации учитывают иерархию памяти и уровни параллелизма различных графических процессоров.
4. Разработанная система программирования успешно прошла апробацию при решении вычислительно сложных задач линейной алгебры, финансового моделирования, астрофизики и ряда других с использованием большого числа различных архитектур графических процессоров.
Диссертация состоит из введения, 4-х глав, заключения, списка литературы и 2-х приложений. Общий объём диссертации — 124 страницы.
Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК
Разработка и исследование алгоритмов распознавания трехмерных изображений на графических процессорных устройствах в режиме реального времени2010 год, кандидат технических наук Кудрин, Павел Альбертович
Численное решение задач гидроаэромеханики на графических процессорах2013 год, кандидат наук Карпенко, Антон Геннадьевич
Модель параллельных вычислений визуального граф-ориентированного языка2000 год, кандидат технических наук Востокин, Сергей Владимирович
Теория проблемно-ориентированных типовых алгоритмических структур с массивным параллелизмом2001 год, доктор физико-математических наук Берзигияров, Парваз Куламович
Методы и средства программирования софт-архитектур для реконфигурируемых вычислительных систем2012 год, кандидат технических наук Коваленко, Василий Борисович
Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Адинец, Андрей Викторович
Основные результаты работы:
1. На основании сравнительного анализа архитектуры современных ГПУ и технологий параллельного программирования разработан высокоуровневый язык CS для программирования графических процессоров. Программы на языке С$ обладают свойством переносимости между различными семействами ГПУ с сохранением высокой эффективности.
2. Для предложенного языка спроектирована и реализована система поддержки времени выполнения. Система обеспечивает единое внутреннее представление программы, её оптимизацию, генерацию и исполнение кода для различных архитектур графических процессоров (NVidia и AMD).
3. Разработаны и интегрированы в систему программирования С$ методы оптимизации программ для графических процессоров. Разработанные методы оптимизации учитывают иерархию памяти и уровни параллелизма различных графических процессоров.
4. Разработанная система программирования успешно прошла апробацию при решении вычислительно сложных задач линейной алгебры, финансового моделирования, астрофизики и ряда других с использованием большого числа различных архитектур графических процессоров.
Заключение
Список литературы диссертационного исследования кандидат физико-математических наук Адинец, Андрей Викторович, 2009 год
1. 1.M Corporation. — Cell Broadband Engine Architecture, 2007.
2. General-Purpose Computation on Graphics Processing Units (http://gpgpu.org).
3. ClearSpeed. ClearSpeed CSX700 Processor Product Brief, 2008.
4. Максфилд К. Проектирование на ПЛИС. Курс молодого бойца. — Москва: Издательский дом "Додэка-XXI", 2007.
5. ТОР 500 List June 2009 (http://www.top500.org/list/2009/06/100).
6. Belleman R.G., Bedorf J., Portegies Zwart S. High Performance Direct Gravitational N-body Simulations on Graphics Processing Units — II: An implementation in CUDA. — 2007.
7. Friedrichs M. S., Eastman P., Vaidyanathan et al. Accelerating molecular dynamic simulation on graphics processing units // Journal of Computational Chemistry. — 2009.
8. NVidia Corporation web site (http://www.nvidia.com/page/home.html).
9. AMD Inc. web site (http://www.amd.com).
10. Intel Corporation web site (http://www.intel.com).
11. Seiler L., Carmean D., Sprangle E. et al. Larrabee: a many-core x86 architecture for visual computing // SIGGRAPH '08: ACM SIGGRAPH 2008 papers. New York, NY, USA: ACM, 2008. -Pp. 1-15.
12. Segal M., Akeley K.— The OpenGL Graphics System: a Specification. — Khronos Group, 2009.
13. Blythe D.— The Direct3D 10 System.— Microsoft Corporation, 2006.
14. NVidia Corporation.— NVIDIA CUDA Programming Guide, Version 2.2, 2009.
15. AMD Inc. ATI Stream Computing User Guide, 2009.
16. Monteyne M. — RapidMind Multicore Development Platform. — RapidMind Inc., 2008.
17. Khronos Group.— The OpenCL Specification, version 1.0, document revision 29, 2008.
18. Cray Inc., Seattle, Washington, USA. — Chapel Language Specification, version 0.775, 2008.
19. Allen E., Chase D., Hallett J. et al.— The Fortress Language Specification, Version 1.0.— Sun Microsystems, Inc., 2008.
20. Saraswat V., Nystrom N. — Report on the Experimental Language X10. IBM Corporation, 2008.
21. Bonachea D., Datta K., Gay D. et al.— Titanium Language Reference Manual version 2.20. — Computer Science Division (EECS), University of California, Berkeley, California 94720, 2006.
22. Microsoft Corporation. — C# Language Specification version 1.2, 2003.
23. Haskell 98 Language and Libraries the Revised Report.
24. Mono Project web site, main page (http://www.mono-project.com).
25. System.Reflection.Emit namespace (http://msdn.microsoft.com/en-us/library/system.reflection.emit.aspx).
26. ECMA. — ECMA Common Language Infrastructure (CLI), ECMA-335, 2006.
27. Адинец А.В., Кривое M.A. Методы оптимизации программ для современных графических процессоров // Труды Всероссийскойнаучной конференции "Научный сервис в сети Интернет-2008: решение больших задач". — Новороссийск: 2008.
28. Васильев Ф.П. Методы оптимизации.— Москва: Факториал Пресс, 2002.
29. Wikipedia, Black-Scholes Formula (http: / / en.wikipedia.org/wiki/Black-scholes).
30. Адинец А.В. Анализ эффективности решения задачи N тел на различных вычислительных архитектурах // Труды Международной конференции "Параллельные вычислительные технологии". Нижний Новгород: ННГУ, 2009. - С. 17-28.
31. Адинец А.В. Анализ эффективности решения задачи N тел на различных вычислительных архитектурах // Вестник ННГУ имени Н.И.Лобачевского (принята к публикации).
32. Sun Microsystems, Inc. — х86 Assembly Language Reference Manual, 2005.
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.