Технология CUDA от NVidia

Просмотр 12 сообщений - с 1 по 12 (из 12 всего)
  • Автор
    Сообщения
  • #2015100
    NickUasse?
    Участник

    Было много разговоров от производителей видеокарт о переносе некоторых вычислений с центрального процессора на графический процессор, в рамках этой идеи НВидиа наконец то представила свою технологию CUDA (как видно из названия объясняющую “КУДА” можно деть избыток вычислений с цетрального процессора). Помимо долгожданных “физических” эффектов в играх, сия архитектура позволяет (при соответствующей поддержке со стороны производителей ПО) выполнять любые интенсивные вычисления на видеокарте в несколько раз более эффективно, нежели это может центральный процессор. Эту технологию полностью поддерживают видеокарты НВидия начиная с 8й серии, необходимо лишь установить свежие драйвера начиная с версии 169.21, если я правильно понял. Другая проблема заключается в том, что ПО оптимизированного под CUDA “ноль да маленько” – пара-тройка игровых демок, игровой тест 3Dmark Vantage, да те самые распределенные вычисления. А насколько мне изменяет память, пару лет назад компания АТИна одной из выставок демострировала как выполняется антивирусное сканирование силами видеокарты – в несколько раз быстрее процессора и при этом нагрузка на видеопроцессор не превышала 1-2%.

    #2015122
    mseleznev
    Участник

    Развлекайтесь: [link url='http://forum.ixbt.com/?id=105'] Форум конкурса http://cuda.ixbt.com. Специалисты NVIDIA отвечают на вопросы, связанные с программированием на языке CUDA. [/link]

    #2015145
    NickUasse?
    Участник

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

    #2015195
    sovien
    Участник

    Далеко не все задачи можно распоралелить, так что не стоит ждать что все программы станут в разы быстрее. К томуже всетаки CUDA закрытая технология нвидии, так что я думаю большенство будет ждать OpenCL или подобный стандарт. К томуже куда позволяет более удобно задействовать возможности графических карт в другой области, но многие уже давно делают это в ручную используя обчные графические API и шейдеры

    #2015247
    NickUasse?
    Участник

    [quote name='sovien'] Далеко не все задачи можно распоралелить [/quote] А есть примеры нераспараллеливаемых задач? Что то я с трудом себе такие представить могу. Вчера читал что Интел призвывает разработчиков оптимизировать ПО на многопоточные расчеты, причем так чтоб с запасом было. [quote name='sovien'] К томуже всетаки CUDA закрытая технология нвидии [/quote] Да как бы и не закрытая… Нвидиа даже прямому конкуренту ее предлагала нахаляву в целях раскрутки… а уж для разработчиков ПО она и подавно бесплатная, лишь бы только юзали поддержку. Имхо компания за это еще бы и доплачивать могла [smile =)] DirectX тож Мелкософту принадлежит и ничего ведь, подавляющее большинство игрушек его поддерживает. [quote name='sovien'] К томуже куда позволяет более удобно задействовать возможности графических карт в другой области, но многие уже давно делают это в ручную используя обчные графические API и шейдеры [/quote] мммм… в какой же другой области?

    #2015249
    sovien
    Участник

    “А есть примеры нераспараллеливаемых задач?”1. Ну например есть задача котурая разбивается на 2 подзадачи. Так вот если вторая задачя на входе использует результат выполнения первой? Тогда ей просто не будет выбора как дождаться выполнения первой.2. нет смысла рапаралеливать простейшие задачи потому как только потеряете скорость при том очень сильно.Напримера = 1+2b = 2+3если засунуть каждую в отдельный поток то создание и управление патоками для двух сложений займет в много раз больше времениС вычислениями на GPU это в много много раз еще более накладней так как накладные расходы для подготовки видюхи и драйверов (весьма упрощенно выражаясь) будут огромны.”Да как бы и не закрытая… Нвидиа даже прямому конкуренту ее предлагала нахаляву в целях раскрутки…”Это не значит что она открытая. она всеравно принадлежит нвидии. Открытая технология не должна подразумевать чье то лидерство. Должен быть стандарт которому придерживаются все а не продукт какойто фирмы который она резрешила использовать другой фирме. нвидиа может просто сделать так что приложения использующие куду будут работать быстрее у нее чем у ATI”мммм… в какой же другой области?”Думаю Вы не поняли моего ответаК томуже CUDA позволяет более удобно задействовать возможности графических карт в другой области (в данном случае любой отличающейся от графики (как раз про то что говорите Вы)), но многие уже давно делают это в ручную используя обчные графические API и шейдеры

    #2015282
    NickUasse?
    Участник

    [quote name='sovien'] 2. нет смысла рапаралеливать простейшие задачи потому как только потеряете скорость при том очень сильно. [/quote] Ну такое мне даже в голову не приходило, это абсолютно лишено смысла, зачем, когда и так быстро работает.[quote name='sovien'] С вычислениями на GPU это в много много раз еще более накладней так как накладные расходы для подготовки видюхи и драйверов (весьма упрощенно выражаясь) будут огромны. [/quote] Чьи расходы? программистов? Видюхи и дрова давно готовы, как и SDK… [quote name='sovien'] К томуже CUDA позволяет более удобно задействовать возможности графических карт в другой области (в данном случае любой отличающейся от графики (как раз про то что говорите Вы)), но многие уже давно делают это в ручную используя обчные графические API и шейдеры [/quote] Спасибо за разъяснение, но вот например просчет шахматных партий разве возможно организовать гр.API и шейдерами? Кстати заодно, раз уж про шахматы начал – как вы думаете, имеет ли смысл переносить просчеты ходов в шахматных партиях на графический процессор, именно с точки зрения прироста производительности?

    #2015457
    sovien
    Участник

    “Ну такое мне даже в голову не приходило, это абсолютно лишено смысла, зачем, когда и так быстро работает.”Это был пример.”Чьи расходы? программистов? Видюхи и дрова давно готовы, как и SDK…”Зачем понимать все так буквально. Расходы всысле например на смену сотояний, подготовке конвееров для выполнения новой задачи и т.д. Тоесть вещи которые требуют дополнительной работы процессора и видюхи”Спасибо за разъяснение, но вот например просчет шахматных партий разве возможно организовать гр.API и шейдерами?”CUDA просто более удобно позволяет задействовать мощности видюхи программиста не занимающимся графикой. Тоесть подпрограмма в CUDA в конечном счете всеравно будет откомпилирована в такойже код в какой будет откомпилирова HLSL или GLSL или Cg. Тоесть например если в программе в CUDA мы передаем массив то для HLSL мы передаем текстуру и результат выведем в другую текстуру. Текстура это тотже массив. А под программа на HLSL может выполнять расчеты не только чтоб картинку красивую получить. Просто новое поколение карточек может в подпрограмме для видюх выполнять большое колличество инструкций что позволяет найти применение в других расчетах.”Кстати заодно, раз уж про шахматы начал – как вы думаете, имеет ли смысл переносить просчеты ходов в шахматных партиях на графический процессор, именно с точки зрения прироста производительности?”Тут сказать ничего не могу. Просто в шахматы ниразу не играл и интелект компьютерный дня них не писал. Но учитывая что с каспаровым многопроцессорный суперкомпьютер играл то думаю почему нет.Тут нада понимать что допустим есть один проц (одно ядро) то кидать на него даже два потока с точки зрения производительности смысла в большенстве случаев нет, особенно если в потоках будут задействованы одинаковые блоки (ну незнаю как еще сказать:)) процессора. Тоесть есть два ядра есть смысл делать второй поток занимающийся сложными вычислениями. Берем например Radeon HD 4870. Каждый его унифицированный процессор не такой уж быстрый сам по себе (да и заточен на операции с векторами), но и аж 800 штук. Много сможете придумать дачь которые параллельно смогут загрузить все 800? Всмысле для домашнего компьютера а не сервера или суперкомпьютера занимающегося расчетом ядерных взрывов?:)

    #2015476
    NickUasse?
    Участник

    [quote name='sovien'] Тут сказать ничего не могу. Просто в шахматы ниразу не играл и интелект компьютерный дня них не писал. Но учитывая что с каспаровым многопроцессорный суперкомпьютер играл то думаю почему нет. [/quote] А нету там никакого интеллекта, есть только просчет вариантов ходов и тем он глубже, этот просчет, чем больше времени дается и чем шустрее процессор (и “многоядернее”, потому как там все уже оптимизировано под просчет вплоть до 1024 потоков в отдельном примере).[quote name='sovien'] Тоесть есть два ядра есть смысл делать второй поток занимающийся сложными вычислениями. Берем например Radeon HD 4870. [/quote][quote name='sovien'] Много сможете придумать дачь которые параллельно смогут загрузить все 800? [/quote] Как вы уже говорили, не все задачи поддаются распараллеливанию, поэтому откуда ж мне знать сколько таких я могу придумать, но 800 – само собой это перебор. Мне кажется смысл переносить вычисления на видюху есть тогда, когда готовая прога на видюхе будет справляться со своей задачей существенно быстрее, нежели ее аналог на ЦП. И не важно сколько она при этом задействует этих самых унифицированных процессоров 100 или же 800. Их вобще таких задач требующих значительного процессорного времени для бытовых компов существует не так уж много и судя по новостям есть уже примеры когда создавались их аналоги на ГПУ. Что там было? Архивирование, рендеринг, АВ-сканирование, кодирование видео, физика в играх, трассировка лучей. Казалось бы ниче и не надо для счастья. Но кто например отказался бы иметь у себя на компе, вместо .jpg гео-карт, небольшой 3-d глобус, подробный, графически приятный взгляду, с высокой масштабируемостью, и напичканный всевозможными подробностями, объем которых может быть ограничен лишь объемом дискового пространства и фантазией разработчика. Этакий домашний Earth Simulator. А может 3-д скринсейвер в виде солнечной системы с моделированием большинства явных происходящих процессов. Конечно полезность такой проги нулевая, но мы и не полезность тут обсуждаем, все равно рано или поздно это появится. Вот и получается что зависит все количества вычислительных ресурсов и фантазии разрабов, причем чаще последнее упирается в первое.

    #2015486
    sovien
    Участник

    NickUasse?Обсолютно с Вами согласен. это это славику и доказываю.Только навороченные скринсейверы и глобусы это как раз то чем эти карточки щас и занимаются. К слову в навороченной игре карточке есть куда свои конвееры применить так что используй мы ее для физики и можем существенно замедлить рендеринг.

    #2015904
    SD
    Участник

    Простому пользователю CUDA ничего хорошего не даст. Широкого использования в софте не будет: разрабатывать сложно. Даже обычные многоядерные процецы использовать практически никто не умеет.

    #1794768
     VaIerik
    Участник

     

Просмотр 12 сообщений - с 1 по 12 (из 12 всего)
  • Для ответа в этой теме необходимо авторизоваться.