close

Вход

Забыли?

вход по аккаунту

?

Библиотека для работы с конечными множествами

код для вставкиСкачать
Библиотека для работы с конечными
множествами, использующая
графический процессор в качестве
основного вычислительного устройства
Новосибирский Государственный Университет
Механико-Математический Факультет
10.11.2006
Выполнил:
Студент 3его курса ММФ НГУ
Email: lykov.kirill@gmail.com
Лыков Кирилл Олегович
Научные руководители:
К.ф.-м.н., доцент каф. программирования
Инженер ЗАО "Интел А/О"
Скопин И.Н.
Пасько Е.В.
В рамках проекта : Использование графических процессоров
для вычислений с плавающей точкой в Javaпрограммах.Exploiting Graphics Processing Units (GPUs) for
general purpose computation in Java programming language
Цель работы
• Глобальная цель работы — создание библиотеки,
написаной с использованием технологии GPGPU,
которой может пользоваться Java-программист,
возможно незнающий C/C++ и тонкостей GPU, OpenGL.
• Локальная цель этой работы — реализация части этой
библиотеки, позволяющей работать с так называемыми
битовыми множествами, причем реализацию операций
над множествами, предполагается реализовать на GPU.
Основные этапы работы
1.Освоение технологии GPGPU. В том числе библиотеки OpenGL и
возможностей языка шейдеров Cg (NVIDIA Corporation).
2. Создание кода проекта на C++.
3. Перенос функциональности проекта в среду Java, используя JNI.
Проделанная работа
Этапы [1],[2] частично выполнены: изучены основы языка
шейдеров и OpenGL; написана часть необходимого в дальнейшем
кода, в том числе классы необходимые для более удобной работы
с текстурами и шейдерами (всего около 400 строк).
Вычисления общего назначения на
графическом ускорителе
General-Purpose Computation on
Graphics Hardware
Мотивация использования GPU
•
Скорость
– 3.0 GHz dual-core Pentium4: 24.6 GFLOPS
– NVIDIA GeForceFX 7800: 165 GFLOPs
– 1066 MHz FSB Pentium Extreme Edition : 8.5 GB/s
– ATI Radeon X850 XT Platinum Edition: 37.8 GB/s
• GPUs становятся все быстрее
– CPUs: 1.4×годичный рост
– GPUs: 1.7×(pixels) to 2.3× (vertices)годичный рост
• Современные GPU обеспечивают приемлемую точность
вычислений
– Поддержка чисел с плавающей точкой ( до 32 битов)
См [1]
GPUs становятся все быстрее
Конвейер OpenGL
Основные концепции
1. Массив = текстура.
CPU array (1D адресация) -> GPU texture (2D адресация)
2. Вычислительное ядро программы = шейдер.
Часть программы для CPU ответственная за вычисления
переносится соответствующим образом на GPU
3. Вычисление = отрисовка.
4. Получение результатов вычислений в буфер кадра
( frame buffer ).
Литература
1. David Luebke. General-Purpose Computation on Graphics
Hardware. University of Virginia.
2. Mark Harris. Mapping Computational
Concepts to GPUs. NVIDIA
3. Dominik Göddeke. GPGPU::Basic Math Tutorial. www.mathematik.unidortmund.de/~goeddeke/gpgpu/tutorial.html
Документ
Категория
Презентации по информатике
Просмотров
12
Размер файла
135 Кб
Теги
1/--страниц
Пожаловаться на содержимое документа