Jump to content

    
Sign in to follow this  
sifadin

видеокарта

Recommended Posts

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

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

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

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

 

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

 

или нужен CUDA?

Share this post


Link to post
Share on other sites
Здравствуйте!

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

Нужно ли в 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. Получаете результат.

Удачи.

 

Share this post


Link to post
Share on other sites

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

 

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

 

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

Edited by Hale

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

 

Комп офисный

 

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

 

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

 

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

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

Share this post


Link to post
Share on other sites
Hale:

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

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

 

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

 

 

Xenia:

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

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

 

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

 

sifadin:

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

 

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

Share this post


Link to post
Share on other sites
Здравствуйте!

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

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

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

 

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

 

или нужен CUDA?

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

Share this post


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

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

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

Share this post


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

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

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites
Как я сказал, на тот момент большие научные задачи видеокарта через матлаб ускорить не могла.

 

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

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

Edited by thermit

Share this post


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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this