Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Общетехнические вопросы

Общетехнические вопросы Общие вопросы аналоговой и цифровой электроники.

Ответ
 
Опции темы Опции просмотра
Старый 02.06.2018, 03:20   #1
f3434
Junior Member
 
Регистрация: 01.11.2011
Возраст: 40
Сообщений: 27
Вес репутации: 100/27
f3434 will become famous soon enoughf3434 will become famous soon enough
Cool Реализация SVD для Cuda

Реализация алгоритма SVD на CUDA для простых матриц, т.е. которые хранятся построчно в виде массива.
Количество столбцов не должно превышать количество строк. Размерности матрицы должны быть кратны 16.

Реализован алгоритм, описанный в работе "SVD-разложение и его практические приложения, Колесников Е.В.".
Сначала проводится бидиагонализация матрицы. Затем запускается итерационный алгоритм, состоящий из QR-поворотов.
Разница только в том, что в данной программе по диагонали бегут сразу несколько потоков.

Программа не использует никаких дополнительных библиотек.

Из-за проблемы остановки долго работающих ядер драйвером приходится разбивать задачи на части. Например, функции перемножения матриц запускаются
в тройных циклах. Первый цикл соответствует группам строк, второй - группам столбцов, а третий разбивает перемножение строки на столбец на части.
Программа отлаживалась на видеокарте GTX 280.

В алгоритме бидиагонализации используется преобразование Хаусхолдера, матрица которого равна своей обратной и транспонированной.

Для отладки раскомментируйте строки с PrintCudaMatrixToFile().


Архив с программой тут: https://yadi.sk/d/WZgS13Mz3WrJWz


Главный файл - svd.cu
f3434 вне форума   Ответить с цитированием
Старый 02.06.2018, 03:22   #2
f3434
Junior Member
 
Регистрация: 01.11.2011
Возраст: 40
Сообщений: 27
Вес репутации: 100/27
f3434 will become famous soon enoughf3434 will become famous soon enough
Cool Re: Реализация SVD для Cuda

Если будут предложения по оптимизации кода Cuda - пишите...
f3434 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программатор для PIC18FххK80. Нужна помощь. Popesych Продукция MICROCHIP 8 02.05.2013 17:05
Скриншот с дисплея устройства: модуль для генерации bmp dimonomid Своими руками 32 20.12.2012 06:34
проблемка с PIC16F628A bereg_ok Продукция MICROCHIP 72 07.09.2007 11:00
господа, где добыть для ознакомпления среду разработки для FUJITSU dynaco Общетехнические вопросы 2 04.06.2007 06:10
Реализация приёма протокола RC5 (ИК-пульта) для PICmicro(+) Andrey2369 Продукция MICROCHIP 4 26.04.2007 14:22


Часовой пояс GMT +3, время: 19:01.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot