Конференция "Игры" » Мультипроцессор, как математический вычислитель
 
  • V@s_!s_D@s © (10.05.10 18:36) [0]
    Здравствуйте. Даже не знаю, куда воткнуть эту тему, поэтому воткну сюда.
    Как я представляю работу видеопроцессора, это устройство, производящее множество простых параллельных вычислений, не понимающее, что такое условие и вообще алгоритм, ибо выполняет все возможные пути.
    То есть, я так понимаю вполне возможно использовать его для математики. Для обычных вычислений, типа сложения, вычитания и т. д. в случае, если мне нужно сделать много вычислений в один момент.
    Допустим, имею массив, который перебираю несколькими вложеными циклами-что если использовать для этого граф. карту, тоесть перебрать весь массив без циклов?
    Если это конечно вообще возможно - как?
    Ни дадите подсказок, ссылок там или ещё чего?
  • V@s_!s_D@s © (10.05.10 18:37) [1]
    кстати, что такое CUDA?
  • @!!ex © (10.05.10 18:58) [2]
    Дам подсказок.
    CUDA, OpenCL, Compute Shader


    > [1] V@s_!s_D@s ©   (10.05.10 18:37)
    > кстати, что такое CUDA?

    http://tinyurl.com/39usb5q

    Я так понимаю, в гугле все таки забанили?
  • V@s_!sD_@s (10.05.10 19:30) [3]
    Да нет, я надеялся на простое колхозное обьяснение
  • @!!ex © (10.05.10 21:57) [4]
    > [3] V@s_!sD_@s   (10.05.10 19:30)
    > Да нет, я надеялся на простое колхозное обьяснение

    Проще чем на википедии не бывает.
  • V@s_!s_D@s © (11.05.10 04:11) [5]
    Вопрос конкретизирую.
    Имеется двумерный массив. 500 на 500. Обрабатываем его весь по одной простой формуле в несколько действий, беря из него элемент 2 на 2. то есть четыре (квадрат). И усредняем его по этой особенной формуле.
    Каким бы алгоритмом кинуть этот массив и эту формулу на мультипроцессор? А потом достать.
    Ээх, если бы CPU мог так же быстро считать как GPU, но даже с разделением этой задачи на потоки, его мощности не хватает.
    На решение всего массива можно потратить не более 30 миллисекунд.
    Сейчас задачу решаю на CPU вложенными циклами
  • MBo © (11.05.10 05:31) [6]
    недавно вышла книжка по CUDA (один из авторов - Боресков)
  • @!!ex © (11.05.10 08:19) [7]
    > [5] V@s_!s_D@s ©   (11.05.10 04:11)

    Ты хочешь здесь готовое решение для CUDA увидеть?

    ТИпа как с графикой, "как работает не знаю, да мне и пофиг, мне код дали"?
    Так не пойдет. Изучай, сам легко свою задачу решиш уже через неделю изучения.
  • V@s_!s_D@s © (11.05.10 09:18) [8]
    Нет, CUDA, как я тут выяснил, не пашет под радион и мне не подходит.
    Нужен универсальный подход, пусть и более медленный.
    -У вас есть какойнибудь самоучитель на примете?
    Или там ссылка на справочник.
    CUDA, как я читал в аннотации подходит только под NVidea.
    Тут куча форумов повсюду, но конкретно книжки чёта нету.
    Может чё ещё посоветуете?
  • V@s_!s_D@s © (11.05.10 09:25) [9]
    Самоеболее менее приближённое к вычислениям нашёл на гэймдэве, там про физику всякую. Но мне не физика нужна, а математика - причём самая примитивная. Самое простое вычисление, самые простые операции, на которые только способна видео карта - а там только физ. движки и руководства, нет ,мне , конечно не ассемблер нужен, но чё нибудь более низкоуровневое.
  • V@s_!s_D@s © (11.05.10 09:27) [10]
    Я имею в виду какой-нибудь справочник по ПРОСТЫМ функциям
  • @!!ex © (11.05.10 09:54) [11]
    Я еще в [2] написал все что нужно было для составления запросов гуглу.
    Там и книжек навалом.
    И просто погуглив по ключевым словам можно понять что тебе подходит, а что нет.

    Разжевывать каждую мелочь бесплатно интереса нет.
  • V@s_!s_D@s © (11.05.10 09:58) [12]
    сейчас пока нашёл как вариант, использование шейдеров и возможно,попытатся использовать для этого обычные стандартные опенгл вычисления(ну там текстуры, буферы всякие и т.д.). Что скажите об этих вариантах?
  • @!!ex © (11.05.10 10:02) [13]
    Скажу что ты гуглить не умеешь.
    http://ru.wikipedia.org/wiki/OpenCL
  • Sapersky (11.05.10 12:27) [14]
    Имеется двумерный массив. 500 на 500. Обрабатываем его весь по одной простой формуле в несколько действий, беря из него элемент 2 на 2. то есть четыре (квадрат). И усредняем его по этой особенной формуле.
    <...>
    На решение всего массива можно потратить не более 30 миллисекунд.


    Если формула действительно простая - то в 30 мс можно уложиться и на CPU. Perlin noize, не?

    Если хочется использовать GPU - см. NVidia GPU Computing SDK, там масса примеров (CUDA/OpenCL/DirectCompute) по разным темам. На C/С++, ест-но. Имеется перевод OpenCL'ных заголовков на Delphi:
    http://pda.delphimaster.net/?id=1259799880&n=9
    Хотя с последней версией GPU SDK он не работает, надо "допиливать".

    Можно задействовать GPU и через "обычные", графические шейдеры. Писать несколько сложнее, но пользователю будет проще (для OpenCL нужны спец. драйвера и видеокарта поддерживающая шейдеры 4 и выше).
  • V@s_!s_D@s © (12.05.10 13:22) [15]
    Благодарю вас, господа, пока ещё не уверен,
    но помоему это как раз то, или почти то, что мне нужно.

    Буду очень благодарен, если кините ещё какие ссылки.
    Я тут скачал книжки из нета, по этой как раз теме,
    но не могу их прочитать - не распознаётся формат djvu - чё за формат такой, не знаете, как прочитать?

    > @!!ex ©   (11.05.10 10:02) [13]
    > Скажу что ты гуглить не умеешь.

    а гуглю я действительно не очень...
  • @!!ex © (12.05.10 13:45) [16]
    > [15] V@s_!s_D@s ©   (12.05.10 13:22)
    > но не могу их прочитать - не распознаётся формат djvu -
    > чё за формат такой, не знаете, как прочитать?

    Ты не поверишь...
    http://tinyurl.com/254akw7
 
Конференция "Игры" » Мультипроцессор, как математический вычислитель
Есть новые Нет новых   [118452   +46][b:0][p:0.001]