Перейти к содержанию
    

Здравствуйте!

Если я куплю мощную видеокарту чтобы посчитать что-то там

Нужно ли в MATLAB вносить какие-то настройки, чтобы он использовал ее для вычислений

Или он автоматически ее обнаружит

 

Есть ли способ (dll напр) писать программы в Visual Studio задействуя видеокарту для вычислений

 

или нужен CUDA?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте!

Если я куплю мощную видеокарту чтобы посчитать что-то там

Нужно ли в MATLAB вносить какие-то настройки, чтобы он использовал ее для вычислений

Или он автоматически ее обнаружит

 

Есть ли способ (dll напр) писать программы в Visual Studio задействуя видеокарту для вычислений

 

или нужен CUDA?

Если коротко -

1.Видеокарта рисует, считает GPU.

2.Если видеокарта содержит GPU - то можно программировать вычисления с GPU

3. Nvidia GPU поддерживает Cuda (a) и OpenCL (в) программирование.

4.AMD(ATI) GPU поддерживает OpenCL программирование.

5.Matlab имеет в своем составе функции , которые пользуются CUDA.

6. Можно использовать и Cuda и OpenCL для написания своих модулей в Matlab

7. Выбираете Cuda(проприетарный стандарт) или OpenCL(отраслевой стандарт) и изучаете документацию

по программированию и отладке.

8. Получаете результат.

Удачи.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

CUDA - это вычислительный API. если его нет, то ты об стенку разобьешься на ней что-то считать.

 

Лучшее что получится - быстрая свертка и простые операции с матрицами через Open-GL и Шейдеры. Но тут люди сталкиваются с низкой точностью и непредсказуемым "срезанием углов", которое годится для визуальной графики, но не годится для преобразований радарного видения, например.

 

На этом написаны раритетные видеофильтры и сигнальники для гео-радаров.

Изменено пользователем Hale

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"5.Matlab имеет в своем составе функции , которые пользуются CUDA."

знакомый году в 2011 рассказывал, что несмотря на казалось бы аппаратное ускоерние, матлаб так коряво сделан, что через КУДА все равно считает чуть ли не медленнее чем через ЦПУ. Ну и плюс ограничения на объем данных. Что-то он там со статистическим моделированием и нейронными сетями мутил... это атк, чтобы судить о применимости. Может для машинного видео и побыстрее будет, не знаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скажите, а эти видеокарты (которые Cuda и/или OpenCL поддерживают) умеют ли считать в double (64 бит) или только во float (32 бита)?

Спрашиваю потому, что вроде бы double-точность видеокартам не нужна (избыточна для графических задач), а для матричной алгебры крайне желательна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я должен обработать звук. 10часовая запись. Таких записей немало MATLAB тормозить будет очень долго - тоже часы

 

Комп офисный

 

Вот если бы видеокарта могла ускорить....

 

но КУДА сложен, может есть что-то более высокоуровневое?

 

Либо может есть какой-то суперкомпьютерный хостинг в инете и для него проще запрограммировать?

Подскажите возможен ли такой путь, насколько это дорого?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Hale:

"5.Matlab имеет в своем составе функции , которые пользуются CUDA."

знакомый году в 2011 рассказывал, что несмотря на казалось бы аппаратное ускоерние, матлаб так коряво сделан, что через КУДА все равно считает чуть ли не медленнее чем через ЦПУ. Ну и плюс ограничения на объем данных. Что-то он там со статистическим моделированием и нейронными сетями мутил... это атк, чтобы судить о применимости. Может для машинного видео и побыстрее будет, не знаю.

 

на той же нвидии есть (по крайней мере был) матлаб тулбокс использующий куду. Вычисления все во float, но ускорение радикальное.

 

 

Xenia:

Скажите, а эти видиокарты (которые Cuda и/или OpenCL поддерживают) умеют ли считать в double (64 бит) или только во float (32 бита)?

Спрашиваю потому, что вроде бы double-точность видеокартам не нужна (избыточна для графических задач), а для матричной алгебры крайне желательна.

 

Начиная с какой-то версии спецификации cuda есть поддержка double.

 

sifadin:

но КУДА сложен

 

Если линейная (без ветвлений) однотипная обработка - видеокарта с кудой очень даже гут. Главное взять карту с широкой шиной (384/448/512). Программирование примитивное.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте!

Если я куплю мощную видеокарту чтобы посчитать что-то там

Нужно ли в MATLAB вносить какие-то настройки, чтобы он использовал ее для вычислений

Или он автоматически ее обнаружит

 

Есть ли способ (dll напр) писать программы в Visual Studio задействуя видеокарту для вычислений

 

или нужен CUDA?

Может пока еще не успели купить карточку, попробуете повысить производительность за счет мощностей ЦП? У Intel есть пакет Parallel Studio с набором примитивов IPP для ускорения вычислений, при правильном программировании дает неплохой прирост производительности + может интегрироваться в Visual Studio.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скажите, а эти видеокарты (которые Cuda и/или OpenCL поддерживают) умеют ли считать в double (64 бит) или только во float (32 бита)?

Спрашиваю потому, что вроде бы double-точность видеокартам не нужна (избыточна для графических задач), а для матричной алгебры крайне желательна.

Да имеют. И Cuda и OpenCL. Точнее говоря , в опциях OpenCL для карточки указывается набор того, что подддерживается.. собственно и поддержка double тоже. Однако в большинстве карт производительность по double существенно ниже , чем производительность по float. Собственно есть известная библиотека матричной арифметики BLAS 3, под(на основе ) OpenCL от AMD. Так вот она работает с функциями и single float и double float. Оччень прилично работает..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может пока еще не успели купить карточку, попробуете повысить производительность за счет мощностей ЦП? У Intel есть пакет Parallel Studio с набором примитивов IPP для ускорения вычислений, при правильном программировании дает неплохой прирост производительности + может интегрироваться в Visual Studio.

Его можно как-то запихнуть в MATLAB, чтобы он его использовал в вычислениях?

 

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

sifadin:

Его можно как-то запихнуть в MATLAB, чтобы он его использовал в вычислениях?

 

В матлаб можно запихнуть все. Если использовать mex.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разрабатываете dll с помощью Intel-их средств и подключаете ее затем через mex-функцию к матлабу, как советовал thermit, но я лично не пробовал, а с Parallel Studio работал, очень неплохие результаты скажу я вам получаются

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вычисления все во float, но ускорение радикальное.

Конкретнее. В чем? Перемножить матрицу на константу?

Как я сказал, на тот момент большие научные задачи видеокарта через матлаб ускорить не могла. Простые числожробилки, я почти уверен что ускорит, как ускоряли и через OpenGL, что мне кажется более универсалным решением. Если серьезно, для ЭМ симуляций коммерческие продукты используют ГПУ только в ФДТД, быстрый, но не лучший метод. А вот на векторные операции новых i7 с радостью перешла практически вся индустрия... может C++ и i7 c AVX будет не сложнее, но универсальнее CUDA, как думаете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как я сказал, на тот момент большие научные задачи видеокарта через матлаб ускорить не могла.

 

Видеокарта ускоряет вычисления. А распараллелить задачу это уже к программеру. Т е программер не смог...

Ну и есть класс задач которые принципиально не параллелятся...

Изменено пользователем thermit

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот на векторные операции новых i7 с радостью перешла практически вся индустрия... может C++ и i7 c AVX будет не сложнее, но универсальнее CUDA, как думаете?

Очень удачный процессор, особенно, при векторных операциях с плавающей точкой, широкий набор функций IPP как раз и предоставляет такую возможность + если задача параллелится, да все это в умелых руках, то будет счастье.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...