The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Вышла спецификация OpenCL 1.1, позволяющая задействовать GPU для вычислений

15.06.2010 12:13

Технологическая группа Khronos объявила о выходе обновлённой версии открытого языка для кросс-платформенных параллельных вычислений OpenCL 1.1 - работа по написанию заняла полтора года. OpenCL определяет API и расширения языка Си для параллельного программирования, предусматривая возможность задействования для решения задач GPU видеокарт. Спецификация OpenCL 1.1 предоставляет увеличенную производительность и функциональность и является обратно совместимой с предыдущей версией. В работе над стандартом приняло участие более 30 компаний, среди которых: IBM, NVIDIA, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments, Toshiba, Intel, национальная лаборатория Los Alamos, Nokia.

Основные изменения в спецификации включают:

  • Новые типы данных, включая трёхкомпонентные векторы и дополнительные графические форматы;
  • Обработка команд и буферов с нескольких хостов и на нескольких устройствах одновременно;
  • Операции на регионах буфера, включая чтение, запись и копирование 1D, 2D и 3D прямоугольных регионов;
  • Расширенное использование события для управления потоком исполнения команд;
  • Дополнительные встроенные Си-функции, такие как целочисленный clamp, shuffle и асинхронные разряженные копии;
  • Улучшена взаимодействие с OpenGL путём эффективного взаимного использования изображений и буферов, путём связывания событий OpenCL и OpenGL.


  1. Главная ссылка к новости (http://www.khronos.org/news/pr...)
  2. OpenNews: Представлены финальные версии спецификации OpenCL 1.0 и OpenVG 1.1
  3. OpenNews: Компания NVIDIA в закрытом режиме выпустила OpenCL драйвер для Linux
  4. OpenNews: AMD выпускает beta-версию системы параллельного программирования OpenCL
  5. OpenNews: Вышла четвертая бета-версия ATI Stream SDK 2.0 с поддержкой OpenCL
  6. OpenNews: Релиз Mesa 7.6. NVidia выпустила OpenCL драйвер и новые beta-драйверы для Linux
Автор новости: Artem S. Tashkinov
Тип: К сведению
Ключевые слова: OpenGL, OpenCL, GPU, computing
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (46) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, fidaj (ok), 12:51, 15/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    когда это будут использовать все ОС на уровне ядра? :)
     
     
  • 2.2, Zenitur (?), 13:15, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Да хотя бы на уровне библиотек - где ты видел функции OpenGL/DirectX в Windows на уровне ядра? Да и в Linux тоже...
    Мне интересно другое - когда ждать программ на этом OpenCL? Когда выйдет PlayStation 4? Или раньше? В PS3 Cg очень даже прижился, не знаю что насчёт CUDA. Значит, свободные эквиваленты приживутся ещё легче
     
     
  • 3.12, Ariel (??), 16:59, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Да хотя бы на уровне библиотек - где ты видел функции OpenGL/DirectX
    >в Windows на уровне ядра? Да и в Linux тоже...
    >Мне интересно другое - когда ждать программ на этом OpenCL? Когда выйдет
    >PlayStation 4? Или раньше? В PS3 Cg очень даже прижился, не
    >знаю что насчёт CUDA. Значит, свободные эквиваленты приживутся ещё легче

    Это уже используется с Mac OS X 10.6, есть framework OpenCL.

     
     
  • 4.29, anonimus (?), 23:10, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>Да хотя бы на уровне библиотек - где ты видел функции OpenGL/DirectX
    >>в Windows на уровне ядра? Да и в Linux тоже...
    >>Мне интересно другое - когда ждать программ на этом OpenCL? Когда выйдет
    >>PlayStation 4? Или раньше? В PS3 Cg очень даже прижился, не
    >>знаю что насчёт CUDA. Значит, свободные эквиваленты приживутся ещё легче
    >
    >Это уже используется с Mac OS X 10.6, есть framework OpenCL.

    Можно пример - как именно это используется на маке?

     
     
  • 5.49, Аноним (-), 00:49, 19/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    http://developer.apple.com/mac/library/documentation/Performance/Conceptual/O
     
     
  • 6.50, fidaj (ok), 01:02, 19/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >http://developer.apple.com/mac/library/documentation/Performance/Conceptual/O

    Класс! Спасибо.

     
  • 2.7, Аноним (-), 15:08, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >когда это будут использовать все ОС на уровне ядра? :)

    Зачем? Данные технологии не получат широкого распространения. Их можно использовать, например, для обработки видео и математического моделирования. Всё остальное, например серверные системы не получат никакого преимущества. Память и полоса вот что важно. Производительность вычислений тут никак не сказывается

     
     
  • 3.8, Аноним (-), 15:11, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Да и ещё добавлю. Сейчас уже не редкость 8 программных ядер. Покажите мне хоть одного человека, который задумавется над этим. А ведь это полноценные ядра, а не запутанный API и ещё один язык программирования на базе си. Люди не парятся с параллелизмом и правильно делают. Как сказал один известный программист, это задача производителей железа, а не разработчиков софта.
     
     
  • 4.10, Aesthetus Animus (ok), 16:10, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Как сказал один известный программист

    Вы имеете ввиду Дональда Кнута?

     
     
  • 5.15, аноним (?), 17:46, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Кнут в отличие от некоторых - умный мужик. Он таких глупостей не говорил.

    Он говорил что паралелька вещь недетерминированная и у него нет мат. аппарата для анализа, посему он ограничился классикой.
    Приблизительно так.

     
     
  • 6.19, Аноним (-), 19:29, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Кнут умный мужик и он всё-таки сказал ЭТО:
    http://webplanet.ru/interview/soft/2008/05/06/knuth.html
     
  • 6.25, Аноним (-), 22:27, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Он говорил что паралелька вещь недетерминированная и у него нет мат. аппарата для анализа

    Мат. аппарат есть, в англоязычной литературе называется process calculus. В него входят Pi calculus ( Роберт Милнер и др. ), CSP - Communicating Sequencial Processes ( который изобрел еще Хоар ), и другие формальные модели.

    Кнут - не дурак, и я очень сомневаюсь, что он не знает об этом.

     
  • 4.22, User294 (ok), 21:17, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >это задача производителей железа, а не разработчиков софта.

    Думать за прграмера? Так не было и не будет, имхо :).Тупой пример. Скажем брутим мы MD5. Допустим чекая хэш на совпадение по словарику. С точки зрения програмера - побить задачу на параллельные плевая затея: бьем словарь на несколько частей и вместо одного цикла - лепим ЭН, дав каждому 1/энную часть словаря. Скорость выполнения операции в целом резонно подскакивает в эн раз по числу ядер. А тупой вопрос: как то же самое сделать на уровне железа? Железо должно обладать AI чтобы понять что вон тот цикл можно побить на параллельные без проблем? Да с этим компилеры то только с костылями и подпорками справляются, а вы от железа этого хотите...

     
     
  • 5.24, Aesthetus Animus (ok), 22:06, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Аноним выше представил ссылку на интервью Кнута. Перечитайте его, прежде чем строить свои совершенно оторванные от темы высказывания.
     
     
  • 6.37, yet another anonim (?), 03:51, 16/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Да Кнут ваш СЛИШКОМ умный. И сказал, так сказал неспроста, а такие как вы вот и попадаете... Дело проца получать входную информацию и переделывать в нужную - т.е. тупо конкретно считать, а не раздумывать и решать задачи (ещё потребуй от него самообучаться и испытывать эмоции...)
    И искуств. нейронные сети (иск. разум, "думающий комп" ...) - нипричём, к теме компа не очень-то относятся, и ещё ой как нескоро получат широкое распространение (очень специфичны они - сами как живые, только что искусственные и электрические, тут нужно почти "инжинеров-психологов" готовить, и психологов для "инжинеров-психологов"...)
     
     
  • 7.47, Aesthetus Animus (ok), 01:02, 17/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Да Кнут ваш СЛИШКОМ умный. И сказал, так сказал неспроста, а такие
    >как вы вот и попадаете...

    "А такие как вы", это ж какие? Вас хорошим манерам не учили?

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

    Рассуждения на уровне школьника, нахвотавшегося по верхам из статей в научно-популярных журналах. Если отбросить словесный мусор в сим предложении, то мысль ваша сводится лишь к тому, что процессор суть конечный автомат. Просто гениальное для всех нас откровение, не так ли?

    >И искуств. нейронные сети (иск. разум, "думающий комп" ...) - нипричём, к
    >теме компа не очень-то относятся, и ещё ой как нескоро получат
    >широкое распространение (очень специфичны они - сами как живые, только что
    >искусственные и электрические, тут нужно почти "инжинеров-психологов" готовить, и психологов для
    >"инжинеров-психологов"...)

    Нейронные сети тут (равно как и везде) действительно непричем, вот только чего Вас сюда понесло, болезненная тема?


     
  • 2.31, Трухин_Юрий_Владимирович (ok), 23:29, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • –5 +/
    зачем? стабильность надоела?
     
  • 2.44, anonimus (?), 14:28, 16/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    в BeOS подобная фишка работала на уровне ядра еще в далеком 1995 году, при этом оно использовало все DSP (http://ru.wikipedia.org/wiki/Цифровой_сигнальный_процессор) присутствующие в системе (BeBOX - например, http://www.bebox.nu/ ) как сопроцессоры для необходимых вычислений кроме уже имеющихся двух Хоббитов (Hobbit)... http://en.wikipedia.org/wiki/BeBox#CPU_Configuration
    В том числе могли использоваться и те DSP которые на звуковой карте и могли быть на видеокарте... (Кстати большинство видео карт в те времена именно на DSP делали... если мне не изменяет мой склероз :) )

    Вот так вот....

    А то что происходит теперь - это всего-лишь детские игры направленные на изобретение "нового велосипеда" для привлечения этими "новшествами" нового платежеспособного потребителя.

    Все уже давно придумано :)

     
     
  • 3.45, anonimus (?), 14:32, 16/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >в BeOS подобная фишка работала на уровне ядра еще в далеком 1995

    нет - даже уже в 1991-м.

     

  • 1.3, Аноним (-), 13:22, 15/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да это уже используется на маке
     
     
  • 2.30, anonimus (?), 23:10, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Да это уже используется на маке

    Можно пример - как именно это используется на маке?

     
     
  • 3.32, Трухин_Юрий_Владимирович (ok), 23:30, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>Да это уже используется на маке
    >
    >Можно пример - как именно это используется на маке?

    как захочешь так и можешь использовать. библиотеки opencl включены в os x
    http://www.apple.com/macosx/technology/

     
     
  • 4.34, anonimus (?), 23:38, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>>Да это уже используется на маке
    >>
    >>Можно пример - как именно это используется на маке?
    >
    >как захочешь так и можешь использовать. библиотеки opencl включены в os x
    >
    >http://www.apple.com/macosx/technology/

    если я обычный пользователь - зачем мне те библиотеки?
    как я этой штукой буду пользоваться? в прикладном смысле?
    что там уже все кодирование видео и на всех типах программ на этом задействовано?
    архивация/компрессия?
    обработка фото?
    Как оно там уже используется - вот в чем был вопрос.

     
     
  • 5.35, Erley (ok), 00:07, 16/06/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    На маке это появилось с приходом Барса, то есть примерно год назад кажется.
    Сами собой программы конечно не распараллелились, их нужно заточить на использование этих параллельных библиотек. Кое-какой софт Эппл заточил на данный момент времени, всё новое что они кодят точно будет с поддержкой этих стандартов.
    Из конкретных примеров использования - они перевели последний iLife и Final Cut под это дело. Поспрашивайте людей кто постоянно работает с Final Cut - они вам подтвердят про прирост скорости просчёта видеоэффектов (кстати эта софтина давно уже умеет объединяться с другими такими же в локалке и сообща перемалывать видеопоток).
    Другой пример - Эппл там что-то в самой операционке соптимизировал, но про конкретные детали не распространялся. По своему опыту скажу, что когда проапгрейдился на барса, то освободилось порядка 10 гиг на винте и всё стало процентов на 10 быстрее шуршать. Душа радуется просто...
    Отдельно замечу, что сам стандарт не проприетарный, просто Эппл его первым внятно реализовал и показал таким образом его нужность в плане стандартизации всякого сброда типа CUDA и прочих проприетарных поделок. Кажется кто-то взялся реализовывать подобное для пингвинов, но я не в курсе как там оно сейчас...
    Нвидия сказала тогда что гордо постоит в стороне со своей кудой, интел вроде взялся впаивать свой Thread Building Blocks в OpenCL, а ATI что-то совсем в последнее время завяла. Никто не хочет кооперироваться как всегда, вот всё медленно и раскручивается...
     
     
  • 6.38, yet another anonim (?), 03:55, 16/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Да уж, "парадокс"...
    Пока мы тут и разрабы там разрываемся все вместе насчёт (свободного) будующего, открытых технологий и прочей политики-прав-экономики, Эппл делает. Просто так, одно за другим, постепенно, но уверенно делает. Отдаляя это свободное будующее...
     
  • 6.42, maximnik0 (?), 10:43, 16/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Нвидия сказала тогда что гордо постоит в стороне со своей кудой, интел
    >вроде взялся впаивать свой Thread Building Blocks в OpenCL, а ATI
    >что-то совсем в последнее время завяла. Никто не хочет кооперироваться как
    >всегда, вот всё медленно и раскручивается...

    Нет ,нвидия потдерживает OpenCL через Cuda ,просто нужно качать специальные дрова и ставить оптимизированные карточки .Какая то числодробилка помоему тесла ,с 4 видюхами и этимси дровами постовлялось ,и в журнале железо приводили результаты тестирования с OpenCL.
    Падение не так и котострофическое всего 12% по сравнению с кудой ,то есть програмисты палки в колеса не вставляли ,в основном потери на трансляцию вызовов ,т.к стандарты очень похожи .

     

  • 1.6, Vitaly_loki (ok), 13:42, 15/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Bullet уже переводят на использование этого языка
     
  • 1.9, йло (?), 15:12, 15/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    позитивная новость. жду практического внедрения )
     
  • 1.11, Аноним (-), 16:31, 15/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Это Он? Пендырвенде? Или только дириксу?
     
     
  • 2.13, h31 (ok), 17:20, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Как тебе сказать. Этот директиксокапец касается только 11-ой версии, только она может использовать GPU для вычислений, которая работает только на семерке и на висте с кучей обновлений. На XP не работает. Так что удар сразу и по венде (т.к. сабж будет работать на XP, а DirectX 11 - вряд ли), и по DirectX.
     
     
  • 3.39, yet another anonim (?), 04:14, 16/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Как тебе сказать. Этот директиксокапец касается только 11-ой версии, только она может
    >использовать GPU для вычислений, которая работает только на семерке и на
    >висте с кучей обновлений. На XP не работает. Так что удар
    >сразу и по венде (т.к. сабж будет работать на XP, а
    >DirectX 11 - вряд ли), и по DirectX.

    В каком-то смысле да. С другой стороны, если разрабы чаще будут выпускать игры для "всех трёх", то велика вероятность отхода от Директ3Д (по крайней мере тех, кто не делает кривой Windows-only порт с XBox'а спустя год после выхода на оном...) на ОпенГЛ. И вот это уже стало бы приговором всему ДиректХ.
    Тем более, что 1) последнее время по внедрению нового ОпенГЛ уже практически не отстаёт, 2) чего то нового и полезного, чем тесселяция и ранее десятками и сотнями понавыдуманные "обходные" трюки на любые случаи жизни, придумать тяжело уже будет, разве что нативный стерео\голографический-рендеринг или вообще если отважутся "изменить мир" новыми технологиями прорисовки (вместо полигонов и карт что то там...) - но такое, если бы, то и не скоро, 3) даже если есть отличия в скорости - на соврем. мощных видеокартах\процах это будет не так заметно, 4) для звука уже есть и развиваются прекраснейшие быстрые и кросс-платформенные ОпенАЛ, тем более способные, в т.ч., без вреда шустро использовать убитые МС (начиная с Висты - полностью "софт"-микш.) хардверные штучки, типа EAX, EFX, не считая встроенных софтовых эффектов-симуляций...

     
     
  • 4.48, Aesthetus Animus (ok), 01:14, 17/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > чего то нового и полезного ... придумать тяжело уже будет, разве что нативный стерео\голографический-рендеринг

    Придумать что-то новое - элементарно, например, неплохо бы сделать аппаратный волновой рендеринг. Другое дело, реализовать это совсем непросто.


     

  • 1.14, VolanD (ok), 17:35, 15/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Объясните мне плиз, а че нельзя использовать тот же Директ Икс для того чтобы делать вычисления с помощью GPU?
     
     
  • 2.16, Vitaly_loki (ok), 17:49, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    OpenCL, равно как и OpenGL, открытый стандарт, API. Работает на любой видухе в любой ОС. ДирексИкс сами знаете где только работает
     
     
  • 3.17, VolanD (ok), 17:57, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >OpenCL, равно как и OpenGL, открытый стандарт, API. Работает на любой видухе
    >в любой ОС. ДирексИкс сами знаете где только работает

    А в ОпенЖЛ нет шейдеров? Что мешает считать на нем? Зачем нужен ОпенЦЛ?

     
     
  • 4.18, Zenitur (?), 18:22, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Поищи что такое GPGPU. И чем он отличается от CUDA и OpenCL. Да, считать можно на любой видеокарте, поддерживающей шейдеры. Но программу при этом надо подстраивать под каждую.
     

  • 1.20, Аноним (-), 19:41, 15/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Единственное чего не хватает в современном мире - удобного быстрого и простого языка программирования для параллельных вычислений. Кто хочет получить нобелевскую премию по программированию - сделайте плиз, а мы все будет пользоваться и хвалить вас до конца ваших дней.
     
     
  • 2.21, Romadinr (?), 20:27, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Единственное чего не хватает в современном мире - удобного быстрого и простого
    >языка программирования

    Точка.
    Так будет точнее :-)
    А если серьезно - то, наверное, такой язык невозможен в принципе.

     
  • 2.23, User294 (ok), 21:17, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Единственное чего не хватает в современном мире - удобного быстрого и простого
    >языка программирования для параллельных вычислений.

    Да, и компилятора который бы за программера еще думал бы :)

     
  • 2.26, Аноним (-), 22:29, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Erlang, но его путь к тому, чтобы компилироваться в код под GPU, будет нелегким.
     
     
  • 3.28, Aesthetus Animus (ok), 23:04, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Хм, Erlang... Интересная мысль, а может стоит взяться за это?.. По крайней мере, это было бы более разумно, чем возрождение Occam'а
     
  • 2.27, anonimus (?), 22:46, 15/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Единственное чего не хватает в современном мире - удобного быстрого и простого
    >языка программирования для параллельных вычислений. Кто хочет получить нобелевскую премию по
    >программированию - сделайте плиз, а мы все будет пользоваться и хвалить
    >вас до конца ваших дней.

    такой язык есть: http://ru.wikipedia.org/wiki/Ada

     
  • 2.40, yet another anonim (?), 04:29, 16/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Единственное чего не хватает в современном мире - удобного быстрого и простого
    >языка программирования для параллельных вычислений. Кто хочет получить нобелевскую премию по
    >программированию - сделайте плиз, а мы все будет пользоваться и хвалить
    >вас до конца ваших дней.

    Вообще-то, OpenCL 1.1 - важный шаг навстречу этому. Потом уже будет "проработано", пойдёт как по маслу)

     

  • 1.41, IGX (?), 10:02, 16/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто-нибудь уже запускал Linux на GPU nVidia или ATI?
     
     
  • 2.43, maximnik0 (?), 12:32, 16/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Кто-нибудь уже запускал Linux на GPU nVidia или ATI?

    Прикалываешся ?Вики сперва прочитай про архетектору видиопроцессоров ,не преднозначена оня для этого .

     
  • 2.46, Zenitur (?), 14:37, 16/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Их шейдерные процессоры не могут исполнять каждую привычную для обычных программ процессорную команду. Однако pavlinux перечислял три каких-то команды, которые если умеет делать CUDA, то при помощи них можно делать вообще всё
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру