Курсовая работа
Студента 323 группы Воропаева Романа По теме «Технология JCuda».
Цель работы.
Целью моей работы являлось сравнение производительности программ, использующих технологию CUDA ипроизводящих вычисления на видеокарте и программ, не использующих CUDA и производящих вычисления на центральном процессоре.
Подзадачи.
•
изучить основные возможности технологии CUDA ивозможности их применения в связке с языком Java. Написать программы на языке Java, реализующие один и тот же алгоритм с одинаковым размером входных данных. Одна программа должна производить вычисления «обычным»методом на центральном процессоре в один поток выполнения, а другая использовать CUDA при вычислениях.
•
Вычисления GPGPU.
● ● ●
Конец роста частот процессоров Новый многоядерный подходНеобходимость новой парадигмы программирования Видеоускорители изначально были предназначены для массивных параллельных вычислений.
●
CUDA
● ●
Технология Nvidia Популярная модель программированияGPGPU для С/С++ Представляет собой расширение С
●
Архитектура CUDA
●
Множество независимых потоков(threads), обьеденных в блоки(blocks), образующие сетку (grid) Все потоки исполняют одини тот же код, но над разными данными Существует глобальная память и разделяемая (shared) между потоками одного блока Оперативная память и видеопамять независимы
●
●
●
Стандартная схемаработы с CUDA
1) Инициализация ресурсов 2) Загрузка данных для обработки из основной памяти в видеопамять 3) Вызов ядер-обработчиков напрямую или косвенно через библиотеки 4) Исполнение ядра во множествепотоков с доступом к видеопамяти 5) Выгрузка обратно в оперативную память 6) Освобождение ресурсов
Библиотека JCuda
●
Библиотека JCuda (jcuda.org) является проектом с открытым исходным кодомИнтерфейс взаимодействия Java и CUDA Alpha-версия Реализован посредством JNI
●
●
●
Структура
●
Библиотека содержит пакеты jcublas, jcudpp, jcufft, jcuda.runtime,...
Студента 323 группы Воропаева Романа По теме «Технология JCuda».
Цель работы.
Целью моей работы являлось сравнение производительности программ, использующих технологию CUDA ипроизводящих вычисления на видеокарте и программ, не использующих CUDA и производящих вычисления на центральном процессоре.
Подзадачи.
•
изучить основные возможности технологии CUDA ивозможности их применения в связке с языком Java. Написать программы на языке Java, реализующие один и тот же алгоритм с одинаковым размером входных данных. Одна программа должна производить вычисления «обычным»методом на центральном процессоре в один поток выполнения, а другая использовать CUDA при вычислениях.
•
Вычисления GPGPU.
● ● ●
Конец роста частот процессоров Новый многоядерный подходНеобходимость новой парадигмы программирования Видеоускорители изначально были предназначены для массивных параллельных вычислений.
●
CUDA
● ●
Технология Nvidia Популярная модель программированияGPGPU для С/С++ Представляет собой расширение С
●
Архитектура CUDA
●
Множество независимых потоков(threads), обьеденных в блоки(blocks), образующие сетку (grid) Все потоки исполняют одини тот же код, но над разными данными Существует глобальная память и разделяемая (shared) между потоками одного блока Оперативная память и видеопамять независимы
●
●
●
Стандартная схемаработы с CUDA
1) Инициализация ресурсов 2) Загрузка данных для обработки из основной памяти в видеопамять 3) Вызов ядер-обработчиков напрямую или косвенно через библиотеки 4) Исполнение ядра во множествепотоков с доступом к видеопамяти 5) Выгрузка обратно в оперативную память 6) Освобождение ресурсов
Библиотека JCuda
●
Библиотека JCuda (jcuda.org) является проектом с открытым исходным кодомИнтерфейс взаимодействия Java и CUDA Alpha-версия Реализован посредством JNI
●
●
●
Структура
●
Библиотека содержит пакеты jcublas, jcudpp, jcufft, jcuda.runtime,...
Поделиться рефератом
Расскажи своим однокурсникам об этом материале и вообще о СкачатьРеферат