|
видеокарта, без CUDA |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 14)
|
Jun 18 2014, 12:12
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 15-03-05
Пользователь №: 3 378

|
Цитата(sifadin @ Jun 18 2014, 15:52)  Здравствуйте! Если я куплю мощную видеокарту чтобы посчитать что-то там Нужно ли в 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. Получаете результат. Удачи.
|
|
|
|
|
Jun 19 2014, 08:52
|
Знающий
   
Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730

|
Цитата Hale: "5.Matlab имеет в своем составе функции , которые пользуются CUDA." знакомый году в 2011 рассказывал, что несмотря на казалось бы аппаратное ускоерние, матлаб так коряво сделан, что через КУДА все равно считает чуть ли не медленнее чем через ЦПУ. Ну и плюс ограничения на объем данных. Что-то он там со статистическим моделированием и нейронными сетями мутил... это атк, чтобы судить о применимости. Может для машинного видео и побыстрее будет, не знаю. на той же нвидии есть (по крайней мере был) матлаб тулбокс использующий куду. Вычисления все во float, но ускорение радикальное. Цитата Xenia: Скажите, а эти видиокарты (которые Cuda и/или OpenCL поддерживают) умеют ли считать в double (64 бит) или только во float (32 бита)? Спрашиваю потому, что вроде бы double-точность видеокартам не нужна (избыточна для графических задач), а для матричной алгебры крайне желательна. Начиная с какой-то версии спецификации cuda есть поддержка double. Цитата sifadin: но КУДА сложен Если линейная (без ветвлений) однотипная обработка - видеокарта с кудой очень даже гут. Главное взять карту с широкой шиной (384/448/512). Программирование примитивное.
|
|
|
|
|
Jun 19 2014, 15:54
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 15-03-05
Пользователь №: 3 378

|
Цитата(Xenia @ Jun 19 2014, 09:11)  Скажите, а эти видеокарты (которые Cuda и/или OpenCL поддерживают) умеют ли считать в double (64 бит) или только во float (32 бита)? Спрашиваю потому, что вроде бы double-точность видеокартам не нужна (избыточна для графических задач), а для матричной алгебры крайне желательна. Да имеют. И Cuda и OpenCL. Точнее говоря , в опциях OpenCL для карточки указывается набор того, что подддерживается.. собственно и поддержка double тоже. Однако в большинстве карт производительность по double существенно ниже , чем производительность по float. Собственно есть известная библиотека матричной арифметики BLAS 3, под(на основе ) OpenCL от AMD. Так вот она работает с функциями и single float и double float. Оччень прилично работает..
|
|
|
|
|
Jun 21 2014, 18:00
|
Местный
  
Группа: Свой
Сообщений: 443
Регистрация: 11-02-09
Пользователь №: 44 698

|
Цитата(Serg76 @ Jun 19 2014, 12:30)  Может пока еще не успели купить карточку, попробуете повысить производительность за счет мощностей ЦП? У Intel есть пакет Parallel Studio с набором примитивов IPP для ускорения вычислений, при правильном программировании дает неплохой прирост производительности + может интегрироваться в Visual Studio. Его можно как-то запихнуть в MATLAB, чтобы он его использовал в вычислениях?
|
|
|
|
|
Jun 21 2014, 18:59
|
Знающий
   
Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730

|
Цитата sifadin: Его можно как-то запихнуть в MATLAB, чтобы он его использовал в вычислениях? В матлаб можно запихнуть все. Если использовать mex.
|
|
|
|
|
Jun 22 2014, 16:10
|
Знающий
   
Группа: Свой
Сообщений: 735
Регистрация: 11-10-11
Пользователь №: 67 667

|
Вычисления все во float, но ускорение радикальное. Конкретнее. В чем? Перемножить матрицу на константу? Как я сказал, на тот момент большие научные задачи видеокарта через матлаб ускорить не могла. Простые числожробилки, я почти уверен что ускорит, как ускоряли и через OpenGL, что мне кажется более универсалным решением. Если серьезно, для ЭМ симуляций коммерческие продукты используют ГПУ только в ФДТД, быстрый, но не лучший метод. А вот на векторные операции новых i7 с радостью перешла практически вся индустрия... может C++ и i7 c AVX будет не сложнее, но универсальнее CUDA, как думаете?
|
|
|
|
|
Jun 22 2014, 18:27
|
Знающий
   
Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730

|
Цитата(Hale @ Jun 22 2014, 20:10)  Как я сказал, на тот момент большие научные задачи видеокарта через матлаб ускорить не могла. Видеокарта ускоряет вычисления. А распараллелить задачу это уже к программеру. Т е программер не смог... Ну и есть класс задач которые принципиально не параллелятся...
Сообщение отредактировал thermit - Jun 22 2014, 18:40
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|