Технологическая группа Khronos объявила (http://www.khronos.org/news/press/releases/khronos-group-rel...) о выходе обновлённой версии открытого языка для кросс-платформенных параллельных вычислений OpenCL 1.1 (http://www.khronos.org/opencl/) - работа по написанию заняла полтора года. OpenCL определяет API и расширения языка Си для параллельного программирования, предусматривая возможность задействования для решения задач GPU видеокарт. Спецификация OpenCL 1.1 предоставляет увеличенную производительность и функциональность и является обратно совместимой с предыдущей версией. В работе над стандартом приняло участие более 30 компаний, среди которых: IBM, NVIDIA, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments, Toshiba, Intel, национальная лаборатория Los Alamos, Nokia.
Основные изменения в спецификации включают:
- Новые типы данных, включая трёхкомпонентные векторы и дополнительные графические форматы;
- Обработка команд и буфер...URL: http://www.khronos.org/news/press/releases/khronos-group-rel...
Новость: http://www.opennet.me/opennews/art.shtml?num=26966
когда это будут использовать все ОС на уровне ядра? :)
Да хотя бы на уровне библиотек - где ты видел функции OpenGL/DirectX в Windows на уровне ядра? Да и в Linux тоже...
Мне интересно другое - когда ждать программ на этом OpenCL? Когда выйдет PlayStation 4? Или раньше? В PS3 Cg очень даже прижился, не знаю что насчёт CUDA. Значит, свободные эквиваленты приживутся ещё легче
>Да хотя бы на уровне библиотек - где ты видел функции OpenGL/DirectX
>в Windows на уровне ядра? Да и в Linux тоже...
>Мне интересно другое - когда ждать программ на этом OpenCL? Когда выйдет
>PlayStation 4? Или раньше? В PS3 Cg очень даже прижился, не
>знаю что насчёт CUDA. Значит, свободные эквиваленты приживутся ещё легчеЭто уже используется с Mac OS X 10.6, есть framework OpenCL.
>>Да хотя бы на уровне библиотек - где ты видел функции OpenGL/DirectX
>>в Windows на уровне ядра? Да и в Linux тоже...
>>Мне интересно другое - когда ждать программ на этом OpenCL? Когда выйдет
>>PlayStation 4? Или раньше? В PS3 Cg очень даже прижился, не
>>знаю что насчёт CUDA. Значит, свободные эквиваленты приживутся ещё легче
>
>Это уже используется с Mac OS X 10.6, есть framework OpenCL.Можно пример - как именно это используется на маке?
http://developer.apple.com/mac/library/documentation/Perform...
>http://developer.apple.com/mac/library/documentation/Perform...Класс! Спасибо.
>когда это будут использовать все ОС на уровне ядра? :)Зачем? Данные технологии не получат широкого распространения. Их можно использовать, например, для обработки видео и математического моделирования. Всё остальное, например серверные системы не получат никакого преимущества. Память и полоса вот что важно. Производительность вычислений тут никак не сказывается
Да и ещё добавлю. Сейчас уже не редкость 8 программных ядер. Покажите мне хоть одного человека, который задумавется над этим. А ведь это полноценные ядра, а не запутанный API и ещё один язык программирования на базе си. Люди не парятся с параллелизмом и правильно делают. Как сказал один известный программист, это задача производителей железа, а не разработчиков софта.
> Как сказал один известный программистВы имеете ввиду Дональда Кнута?
Кнут в отличие от некоторых - умный мужик. Он таких глупостей не говорил.Он говорил что паралелька вещь недетерминированная и у него нет мат. аппарата для анализа, посему он ограничился классикой.
Приблизительно так.
Кнут умный мужик и он всё-таки сказал ЭТО:
http://webplanet.ru/interview/soft/2008/05/06/knuth.html
>Он говорил что паралелька вещь недетерминированная и у него нет мат. аппарата для анализаМат. аппарат есть, в англоязычной литературе называется process calculus. В него входят Pi calculus ( Роберт Милнер и др. ), CSP - Communicating Sequencial Processes ( который изобрел еще Хоар ), и другие формальные модели.
Кнут - не дурак, и я очень сомневаюсь, что он не знает об этом.
>это задача производителей железа, а не разработчиков софта.Думать за прграмера? Так не было и не будет, имхо :).Тупой пример. Скажем брутим мы MD5. Допустим чекая хэш на совпадение по словарику. С точки зрения програмера - побить задачу на параллельные плевая затея: бьем словарь на несколько частей и вместо одного цикла - лепим ЭН, дав каждому 1/энную часть словаря. Скорость выполнения операции в целом резонно подскакивает в эн раз по числу ядер. А тупой вопрос: как то же самое сделать на уровне железа? Железо должно обладать AI чтобы понять что вон тот цикл можно побить на параллельные без проблем? Да с этим компилеры то только с костылями и подпорками справляются, а вы от железа этого хотите...
Аноним выше представил ссылку на интервью Кнута. Перечитайте его, прежде чем строить свои совершенно оторванные от темы высказывания.
Да Кнут ваш СЛИШКОМ умный. И сказал, так сказал неспроста, а такие как вы вот и попадаете... Дело проца получать входную информацию и переделывать в нужную - т.е. тупо конкретно считать, а не раздумывать и решать задачи (ещё потребуй от него самообучаться и испытывать эмоции...)
И искуств. нейронные сети (иск. разум, "думающий комп" ...) - нипричём, к теме компа не очень-то относятся, и ещё ой как нескоро получат широкое распространение (очень специфичны они - сами как живые, только что искусственные и электрические, тут нужно почти "инжинеров-психологов" готовить, и психологов для "инжинеров-психологов"...)
>Да Кнут ваш СЛИШКОМ умный. И сказал, так сказал неспроста, а такие
>как вы вот и попадаете..."А такие как вы", это ж какие? Вас хорошим манерам не учили?
>Дело проца получать входную информацию и
>переделывать в нужную - т.е. тупо конкретно считать, а не раздумывать
>и решать задачи (ещё потребуй от него самообучаться и испытывать эмоции...)Рассуждения на уровне школьника, нахвотавшегося по верхам из статей в научно-популярных журналах. Если отбросить словесный мусор в сим предложении, то мысль ваша сводится лишь к тому, что процессор суть конечный автомат. Просто гениальное для всех нас откровение, не так ли?
>И искуств. нейронные сети (иск. разум, "думающий комп" ...) - нипричём, к
>теме компа не очень-то относятся, и ещё ой как нескоро получат
>широкое распространение (очень специфичны они - сами как живые, только что
>искусственные и электрические, тут нужно почти "инжинеров-психологов" готовить, и психологов для
>"инжинеров-психологов"...)Нейронные сети тут (равно как и везде) действительно непричем, вот только чего Вас сюда понесло, болезненная тема?
зачем? стабильность надоела?
в BeOS подобная фишка работала на уровне ядра еще в далеком 1995 году, при этом оно использовало все DSP (http://ru.wikipedia.org/wiki/Цифровой_сигнальный_процессор) присутствующие в системе (BeBOX - например, http://www.bebox.nu/ ) как сопроцессоры для необходимых вычислений кроме уже имеющихся двух Хоббитов (Hobbit)... http://en.wikipedia.org/wiki/BeBox#CPU_Configuration
В том числе могли использоваться и те DSP которые на звуковой карте и могли быть на видеокарте... (Кстати большинство видео карт в те времена именно на DSP делали... если мне не изменяет мой склероз :) )Вот так вот....
А то что происходит теперь - это всего-лишь детские игры направленные на изобретение "нового велосипеда" для привлечения этими "новшествами" нового платежеспособного потребителя.
Все уже давно придумано :)
>в BeOS подобная фишка работала на уровне ядра еще в далеком 1995нет - даже уже в 1991-м.
Да это уже используется на маке
>Да это уже используется на макеМожно пример - как именно это используется на маке?
>>Да это уже используется на маке
>
>Можно пример - как именно это используется на маке?как захочешь так и можешь использовать. библиотеки opencl включены в os x
http://www.apple.com/macosx/technology/
>>>Да это уже используется на маке
>>
>>Можно пример - как именно это используется на маке?
>
>как захочешь так и можешь использовать. библиотеки opencl включены в os x
>
>http://www.apple.com/macosx/technology/если я обычный пользователь - зачем мне те библиотеки?
как я этой штукой буду пользоваться? в прикладном смысле?
что там уже все кодирование видео и на всех типах программ на этом задействовано?
архивация/компрессия?
обработка фото?
Как оно там уже используется - вот в чем был вопрос.
На маке это появилось с приходом Барса, то есть примерно год назад кажется.
Сами собой программы конечно не распараллелились, их нужно заточить на использование этих параллельных библиотек. Кое-какой софт Эппл заточил на данный момент времени, всё новое что они кодят точно будет с поддержкой этих стандартов.
Из конкретных примеров использования - они перевели последний iLife и Final Cut под это дело. Поспрашивайте людей кто постоянно работает с Final Cut - они вам подтвердят про прирост скорости просчёта видеоэффектов (кстати эта софтина давно уже умеет объединяться с другими такими же в локалке и сообща перемалывать видеопоток).
Другой пример - Эппл там что-то в самой операционке соптимизировал, но про конкретные детали не распространялся. По своему опыту скажу, что когда проапгрейдился на барса, то освободилось порядка 10 гиг на винте и всё стало процентов на 10 быстрее шуршать. Душа радуется просто...
Отдельно замечу, что сам стандарт не проприетарный, просто Эппл его первым внятно реализовал и показал таким образом его нужность в плане стандартизации всякого сброда типа CUDA и прочих проприетарных поделок. Кажется кто-то взялся реализовывать подобное для пингвинов, но я не в курсе как там оно сейчас...
Нвидия сказала тогда что гордо постоит в стороне со своей кудой, интел вроде взялся впаивать свой Thread Building Blocks в OpenCL, а ATI что-то совсем в последнее время завяла. Никто не хочет кооперироваться как всегда, вот всё медленно и раскручивается...
Да уж, "парадокс"...
Пока мы тут и разрабы там разрываемся все вместе насчёт (свободного) будующего, открытых технологий и прочей политики-прав-экономики, Эппл делает. Просто так, одно за другим, постепенно, но уверенно делает. Отдаляя это свободное будующее...
>Нвидия сказала тогда что гордо постоит в стороне со своей кудой, интел
>вроде взялся впаивать свой Thread Building Blocks в OpenCL, а ATI
>что-то совсем в последнее время завяла. Никто не хочет кооперироваться как
>всегда, вот всё медленно и раскручивается...Нет ,нвидия потдерживает OpenCL через Cuda ,просто нужно качать специальные дрова и ставить оптимизированные карточки .Какая то числодробилка помоему тесла ,с 4 видюхами и этимси дровами постовлялось ,и в журнале железо приводили результаты тестирования с OpenCL.
Падение не так и котострофическое всего 12% по сравнению с кудой ,то есть програмисты палки в колеса не вставляли ,в основном потери на трансляцию вызовов ,т.к стандарты очень похожи .
Bullet уже переводят на использование этого языка
позитивная новость. жду практического внедрения )
Это Он? Пендырвенде? Или только дириксу?
Как тебе сказать. Этот директиксокапец касается только 11-ой версии, только она может использовать GPU для вычислений, которая работает только на семерке и на висте с кучей обновлений. На XP не работает. Так что удар сразу и по венде (т.к. сабж будет работать на XP, а DirectX 11 - вряд ли), и по DirectX.
>Как тебе сказать. Этот директиксокапец касается только 11-ой версии, только она может
>использовать GPU для вычислений, которая работает только на семерке и на
>висте с кучей обновлений. На XP не работает. Так что удар
>сразу и по венде (т.к. сабж будет работать на XP, а
>DirectX 11 - вряд ли), и по DirectX.В каком-то смысле да. С другой стороны, если разрабы чаще будут выпускать игры для "всех трёх", то велика вероятность отхода от Директ3Д (по крайней мере тех, кто не делает кривой Windows-only порт с XBox'а спустя год после выхода на оном...) на ОпенГЛ. И вот это уже стало бы приговором всему ДиректХ.
Тем более, что 1) последнее время по внедрению нового ОпенГЛ уже практически не отстаёт, 2) чего то нового и полезного, чем тесселяция и ранее десятками и сотнями понавыдуманные "обходные" трюки на любые случаи жизни, придумать тяжело уже будет, разве что нативный стерео\голографический-рендеринг или вообще если отважутся "изменить мир" новыми технологиями прорисовки (вместо полигонов и карт что то там...) - но такое, если бы, то и не скоро, 3) даже если есть отличия в скорости - на соврем. мощных видеокартах\процах это будет не так заметно, 4) для звука уже есть и развиваются прекраснейшие быстрые и кросс-платформенные ОпенАЛ, тем более способные, в т.ч., без вреда шустро использовать убитые МС (начиная с Висты - полностью "софт"-микш.) хардверные штучки, типа EAX, EFX, не считая встроенных софтовых эффектов-симуляций...
> чего то нового и полезного ... придумать тяжело уже будет, разве что нативный стерео\голографический-рендерингПридумать что-то новое - элементарно, например, неплохо бы сделать аппаратный волновой рендеринг. Другое дело, реализовать это совсем непросто.
Объясните мне плиз, а че нельзя использовать тот же Директ Икс для того чтобы делать вычисления с помощью GPU?
OpenCL, равно как и OpenGL, открытый стандарт, API. Работает на любой видухе в любой ОС. ДирексИкс сами знаете где только работает
>OpenCL, равно как и OpenGL, открытый стандарт, API. Работает на любой видухе
>в любой ОС. ДирексИкс сами знаете где только работаетА в ОпенЖЛ нет шейдеров? Что мешает считать на нем? Зачем нужен ОпенЦЛ?
Поищи что такое GPGPU. И чем он отличается от CUDA и OpenCL. Да, считать можно на любой видеокарте, поддерживающей шейдеры. Но программу при этом надо подстраивать под каждую.
Единственное чего не хватает в современном мире - удобного быстрого и простого языка программирования для параллельных вычислений. Кто хочет получить нобелевскую премию по программированию - сделайте плиз, а мы все будет пользоваться и хвалить вас до конца ваших дней.
>Единственное чего не хватает в современном мире - удобного быстрого и простого
>языка программированияТочка.
Так будет точнее :-)
А если серьезно - то, наверное, такой язык невозможен в принципе.
>Единственное чего не хватает в современном мире - удобного быстрого и простого
>языка программирования для параллельных вычислений.Да, и компилятора который бы за программера еще думал бы :)
Erlang, но его путь к тому, чтобы компилироваться в код под GPU, будет нелегким.
Хм, Erlang... Интересная мысль, а может стоит взяться за это?.. По крайней мере, это было бы более разумно, чем возрождение Occam'а
>Единственное чего не хватает в современном мире - удобного быстрого и простого
>языка программирования для параллельных вычислений. Кто хочет получить нобелевскую премию по
>программированию - сделайте плиз, а мы все будет пользоваться и хвалить
>вас до конца ваших дней.такой язык есть: http://ru.wikipedia.org/wiki/Ada
>Единственное чего не хватает в современном мире - удобного быстрого и простого
>языка программирования для параллельных вычислений. Кто хочет получить нобелевскую премию по
>программированию - сделайте плиз, а мы все будет пользоваться и хвалить
>вас до конца ваших дней.Вообще-то, OpenCL 1.1 - важный шаг навстречу этому. Потом уже будет "проработано", пойдёт как по маслу)
Кто-нибудь уже запускал Linux на GPU nVidia или ATI?
>Кто-нибудь уже запускал Linux на GPU nVidia или ATI?Прикалываешся ?Вики сперва прочитай про архетектору видиопроцессоров ,не преднозначена оня для этого .
Их шейдерные процессоры не могут исполнять каждую привычную для обычных программ процессорную команду. Однако pavlinux перечислял три каких-то команды, которые если умеет делать CUDA, то при помощи них можно делать вообще всё