Библиотека ArrayFire (http://arrayfire.com/), предоставляющая простой способ распараллеливания вычислительных операций с вовлечением GPU, переведена (http://developer.amd.com/community/blog/2014/11/21/arrayfire.../) в разряд свободных продуктов. Код библиотеки открыт (https://github.com/arrayfire/arrayfire) под лицензией BSD. В качестве бэкендов для организации вычислений на стороне GPU, APU и FPGA могут использоваться CUDA и OpenCL. Имеется возможность выполнения операций только с привлечением CPU или задействования нескольких вычислительных устройств (CPU+GPU).Для организации параллельной обработки данных предоставляется типовой набор математических функций (http://www.arrayfire.com/docs/group__arrayfire__func.htm), манипулирующих массивами, который позволяет (http://www.arrayfire.com/docs/gettingstarted.htm) существенно упростить организацию сложных научных, инженерных и финансовых вычислений. В частности, предоставляются функции для обработки матриц, индексирования последовательностей, операций линейной алгебры, сортировки, применения фильтров, работы с векторами, 2D- и 3D-изображениями. В процессе работы с библиотекой определяется общая логика вычислений и указывается список вовлекаемых в них вычислительных устройств, без необходимости явной организации процесса распараллеливания.
URL: http://developer.amd.com/community/blog/2014/11/21/arrayfire.../
Новость: http://www.opennet.me/opennews/art.shtml?num=41126
Бухгалтерия на CUDA!
CUDA уходят средства,
В какие города?
И где найти нам средство,
Чтоб вновь вернуть сюда.
Они уйдут неслышно,
Пока процессор спит,
Он писем не напишет,
И вряд ли позвонит...
> CUDA уходят средства,В GPU
Как то это грубо прозвучало, поручик.
> Как то это грубо прозвучало, поручик.Боян же, древний http://ibash.org.ru/quote.php?id=13783
Ну чё, хоть такой убогий способ прославиться. Ну да павлину любой способ показать свои перья хорош.Попробуй что-нибудь полезное сделать в своей жизни (просто уточню, подлизывание нвидии и т.д. - это не полезное). Может хоть не так уныло будешь выглядеть после этого.
У тебя такой же грязный рот, как и у твоей мамы?
Каждый видит ровно столько грязи, сколько хочет. Глаза протри.
По твоим словам получается, что ты хочешь видеть грязь и именно поэтому рвешь свой пукан при виде pavlinux?
Наверное сам запостил, да?
> Наверное сам запостил, да?Да, и ещё денег заплатил чтоб продвигали.
А вот и оригинал http://www.opennet.me/openforum/vsluhforumID3/71871.html#9
:)
комменты типа "супер" или "жoпу порвало" сам писал? я не верю, что здесь столько других неадекватов. может зря...
> комменты типа "супер" или "жoпу порвало" сам писал? я не верю, что
> здесь столько других неадекватов. может зря...Правильно, надо добавить в тред ещё вопросы веры. Так победим.
>> CUDA уходят средства,
> В GPUБоян - не боян, но порадовало как и сам первый пост о бухгалтерии.
> Бухгалтерия на CUDA!Ога, приведение к треугольному виду, методом Гаусса, заплатанной ведомости.
Это типа очередная GPGPU либа наподобие Nvidia Thrust и HSA Bolt?
Нет, наподобие ViennaCL и Magma.
Почему CUDA и OpenCL такие бесполезные? То, что нет ускорялок игр, можно понять: работающая CUDA или OpenCL занимает весь GPU, и игра хоть и запускается, но тормозит - любая. Но где тогда ускорялка любой другой повседневно используемой завачи? Это же высокоуровневый язык, позволяющий хоть аудио кодировать на GPU! Но нет: переборщики паролей, биткойн-майнеры, и узкоспециализированные научные программы - это всё, что увидели десктопные линуксоиды.
Libre Office Calc через OpenCL умеет таблицы считать.
Ещё фотошоп использует GPU ускорение.
Ещё там какой-то видеоредактор.Через CUDA и OpenCL неудобно программы писать, там слишком много лишнего кода писать, а хотелось бы средства поудобней.
GIMP, кстати, тоже.
пишите на его клоне DirectCompute из DirectX.
там для таких как вы - шаблонов, примеров и тест-кейсов - вагон в SDK добавлено.
без обид.
"пишите на его клоне DirectCompute из DirectX."Ну давайте посоветуйте мне, как на DirectCompute написать программу под Линукс ?
"там для таких как вы - шаблонов, примеров и тест-кейсов - вагон в SDK добавлено."
А какие ещё есть из тех, кто не такой как я ?
Те кто любит своё время тратить на всякую ненужную фигню ? И тех, кто любит свой код превращать в помойку из OpenCL функций, без которых можно было бы вполне обойтись ?Есть проекты, которые позволяют также нагружать видеокарты и которые удобней в программировании таких проектов, как OpenCL, Cuda и т.д. И в новости речь об одном из них.
А вообще OpenCL - это низкоуровневое средство разработки, которое нужно, но нужны и более высокоуровневые для удобства программирования и другие проекты, которые облегчают эту задачу, обычно основаны на OpenCL.
А для чего на десктопе такие мощности? Он и так 95% времени простаивает.
Есть многое на свете друг Горацио, что вашей мудрости не снилось.
> Почему CUDA и OpenCL такие бесполезные?Ну, ты Лунтик :)
> Но где тогда ускорялка любой другой повседневно используемой завачи?В булочную на истребителе?
> Почему CUDA и OpenCL такие бесполезные?Для кого? Для тебя, лол?
> работающая CUDA или OpenCL занимает весь GPU
С чего бы вдруг? Сам так придумал?
> и игра хоть и запускается, но тормозит - любая.
Только если её писал тормоз.
> Но где тогда ускорялка любой другой повседневно используемой завачи?
Какой задачи, ...ть? Какие у тебя "повcедневно используемые задачи" требуют (или хотя бы могут получить хоть какой-то выигрыш от) GPU?
> Но нет: переборщики паролей, биткойн-майнеры, и узкоспециализированные научные программы - это всё, что увидели десктопные линуксоиды.
Лол, увидели то, что было кому-то нужно. Если тебе нужно что-то другое, но ты не в силах это реализовать, то извини, Дарвин давно говорил, что твои интересы вымрут, т.к. это никому не нужно.
> Почему CUDA и OpenCL такие бесполезные?Кому как. Я вот только ради OpenCL видеокарту покупал (для Luxrender'а).
GPU - это не волшебная палочка, ускоряющая все на свете. Его используют только для распараллеливаемых задач. Ты их сам перечислил, к этому списку можно добавить рендеринг и декодирование видео.
только Mantle ! только хардкор !!
Очень хорошая новость!Имею две карты:
$ lspci |grep VGA
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Oland PRO [Radeon R7 240]
02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Turks XT [Radeon HD 6670/7670]
И очень хочется задействовать их мощь для как можно большего круга задач.Вчера для этого собрал себе новую систему:
$ emerge -pv opencl
[ebuild R ] virtual/opencl-0-r4 VIDEO_CARDS="-fglrx (-nvidia)" 0 kB$ equery g virtual/opencl-0-r4
* dependency graph for virtual/opencl-0-r4
`-- virtual/opencl-0-r4 amd64
`-- app-admin/eselect-opencl-1.1.0-r1 (app-admin/eselect-opencl) amd64
`-- media-libs/mesa-10.0.4 (>=media-libs/mesa-9.1.6) amd64 [opencl abi_x86_32(-)? abi_x86_64(-)? abi_x86_x32(-)? abi_mips_n32(-)? abi_mips_n64(-)? abi_mips_o32(-)? abi_ppc_32(-)? abi_ppc_64(-)? abi_s390_32(-)? abi_s390_64(-)?]
`-- x11-drivers/ati-drivers-14.4_p1 (>=x11-drivers/ati-drivers-12.1-r1) amd64
`-- x11-drivers/nvidia-drivers-343.22-r2 (>=x11-drivers/nvidia-drivers-290.10-r2) amd64
`-- dev-util/intel-ocl-sdk-2.0.31360 (dev-util/intel-ocl-sdk) amd64
[ virtual/opencl-0-r4 stats: packages (6), max depth (1) ]Видно что в дистрибутиве доступно 4 поставщика OpenCL: разрабы mesa, AMD, Intel, Nvidia.
$ eselect opencl list
Available OpenCL implementations:
[1] mesa *Решил выбрать mesa.
$ equery h opencl
[IP-] [ ] media-gfx/imagemagick-6.8.9.9:0/6.8.9.9
[IP-] [ ] media-libs/mesa-10.0.4:0
[IP-] [ ] media-libs/opencv-2.4.9:0/2.4
[IP-] [ ] media-libs/x264-0.0.20140308:0/142
[IP-] [ ] sci-libs/gdal-1.11.1-r1:0Как видно, в моей системе, кроме програм мультимедиа только библиотека для работы с картами (наверно кодирование растровых изображений в картах) поддерживает OpenCL и теоретически?!!! должна ускорятся GPU!
Вопрос разбирающимся в теме: эта ArrayFire должна выступать как альтернатевный поставщик OpenCL или её алгоритмы должны быть включены в mesa?
На сколько я разбираюсь в дистростроительстве единственно правельный путь это добавление алгоритмов ArrayFire в непосредственно в код проекта mesa!!!???
Mesa предоставляет свою реализацию стандарта OpenGL и OpenCL.
ArrayFire может использовать любую реализацию стандарта OpenCL - хоть открытую (которая ранняя бета), хоть закрытую например от AMD (fglrx, которая в целом тоже бета, но зрелая).Сам же ArrayFire могут использовать разработчики программ, которым нужна реализация алгоритмов на GPU. То есть это примерно тоже, что и ffmpeg для плееров - дабы не писать свои реализации кодеков многие используют готовый ffmpeg.
Тоесть в ОС вычислений проги на GPU посредством ArrayFire реализуется следующим образом:вычислительная прога -> либа ArrayFire (конвертит вичислительные задачи в инструкции OpenCL) -> mesa (выполняет инструкции OpenCL на GPU) -> вычисление на железе GPU
естественно в место mesa можно брать реализацию OpenCL от AMD/ATI (ati-drivers), Intel (intel-ocl-sdk) или Nvidia (nvidia-drivers).
Я правильно понял?
Все верно.
Тогда надо пнуть разрабов:
https://gmplib.org
http://www.libressl.org
http://www.boost.org
и других вычислительных библиотек чтобы они включили ArrayFire в себя. Так прикладным прогам вообще ничего менять не придётся! И GPU будет задействован не только для графики в игрушках но и для вычислительных и крыптографических задачах.И ещё вопрос: библиотеки типа http://opencv.willowgarage.com и так OpenCL используют, значит теоретически для своих вычислений должны уже задействовать GPU?
Не все так просто - OpenCL эффективен только тогда, когда алгоритм относительно простой и может исполнятся параллельно. Да и сам OpenCL доступен далеко не на всех платформах.
Да, распараллеливение алгоритма пожалуй главный критерий. х86_64 пока хватает, на ARM устройствах GPU слабые..http://blog.zorinaq.com/?e=42 как минимум для проверки хешей можно задействовать.
bals - lapack - алгоритмы лиейной алгебры тоже должны на ура в OpenCL идти..
Тоесть в ОС вычислений проги на GPU посредством ArrayFire реализуется следующим образом:вычислительная прога -> либа ArrayFire (конвертит вичислительные задачи в инструкции OpenCL) -> mesa (выполняет инструкции OpenCL на GPU) -> вычисление на железе GPU
естественно в место mesa можно брать реализацию OpenCL от AMD/ATI (ati-drivers), Intel (intel-ocl-sdk) или Nvidia (nvidia-drivers).
Я правильно понял?