URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 85954
[ Назад ]

Исходное сообщение
"Представлен Halide, новый язык программирования для обработк..."

Отправлено opennews , 09-Авг-12 23:53 
Исследователи из  Массачусетского технологического института представили новый язык программирования Halide (http://halide-lang.org/), специально разработанный для упрощения разработки приложений, обрабатывающих графические изображения. Halide является предметно ориентированным языком, предназначенным для достижения максимальной эффективности при обработке основных типов графических файлов, например в таких типовых графических операциях, как  обработка raw-изображений, фильтрация Лапласа, сегментация изображения и т.п.


Технически - это язык прототипов на базе C++, который допускает своё использование в двух режимах:  выполнение встроенных в приложение функций на языке Halide через использование JIT-компиляции; либо компиляция в отдельный объектный файл, который может впоследствии быть подключен в стороннюю программу, например посредством добавления простейшего заголовка-ссылки на этот файл при компиляции.

Исследователи говорят (http://web.mit.edu/newsoffice/2012/better-programming-langua... что легкость чтения и восприятия более высокоуровневого языка Halide не единственное его отличие от обычных языков программирования. Что более важно, Halide также автоматизирует оптимизацию машинного кода под ресурсоёмкие графические операции, на что в противном случае потребовались бы часы весьма непростой работы, и даже в случае полной ручной оптимизации вряд ли результат был бы лучше по сравнению с Halide. Разработчики языка переписали на Halide некоторые общедоступные графические библиотеки и обнаружили, что версия на языке Halide, как правило, в три раза меньше по размеру и в 6 раз быстрее по производительности. Сами исследователи объясняют такой скачек производительности активным использованием самых современных технических возможностей, главным образом  использованием эффективного  распараллеливания процессов.

Проект написан на языке C++ с использованием элементов нового стандарта C++11 (http://ru.wikipedia.org/wiki/C%2B%2B11), поэтому для его компиляции требуется как минимум gcc 4.6. На данный момент Halide адаптирован для следующих платформ: x86-64/SSE, ARM v7/NEON и CUDA. Язык поддерживает блоки SIMD, многоядерные процессоры, сложно-иерархическую память. Поддерживается сборка для Mac OS X и Linux (Ubuntu 12.04). Исходные тексты проекта открыты (https://github.com/halide/Halide) под  лицензией  MIT (http://en.wikipedia.org/wiki/MIT_License).

URL: http://www.h-online.com/open/news/item/Halide-a-new-programm...
Новость: http://www.opennet.me/opennews/art.shtml?num=34533


Содержание

Сообщения в этом обсуждении
"Представлен Halide, новый язык программирования для обработк..."
Отправлено Аноним , 10-Авг-12 00:06 
Круто, давно пора в числодроблении заменять низкоуровневые простыни на C на что-то более человеческое.

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Аноним , 10-Авг-12 00:25 
На С++. Всё остальное - ересь и джаваскрипт.

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Аноним , 10-Авг-12 00:51 
Ересь это ваш С++, только машкоды, только хардкор, а плюсы для неосиляторов

"Представлен Halide, новый язык программирования для обработк..."
Отправлено ss , 10-Авг-12 09:09 
Запилите мне сервернуб СУБД с SQL ANSI 92 на мнемониках - зауважаю.

"Представлен Halide, новый язык программирования для обработк..."
Отправлено kurokaze , 10-Авг-12 11:16 
Джонни Мнемоник подойдет? Память проапгрейжена, новье практически.

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Аноним , 13-Авг-12 18:40 
А ГУИ на асме канает? Легко пишется...
А С++ таки да, дерьмо

"Представлен Halide, новый язык программирования для обработк..."
Отправлено RazrFalcon , 10-Авг-12 00:22 
>> Поддерживается сборка для Mac OS X и Linux

на вин что ли не пойдет!?
как неожиданно и радостно =)


"Представлен Halide, новый язык программирования для обработк..."
Отправлено Аноним , 10-Авг-12 00:24 
"Windows support is technically feasible, but we have not yet built or tested on Windows."

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Аноним , 10-Авг-12 00:25 
А Hamachi где?

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Аноним , 10-Авг-12 10:57 
В соседнем кабинете у другого доктора.

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Amsterdm Navigator , 10-Авг-12 00:54 
Вообще-то он на Ocaml написан, а не на C++. К C++ там только биндинги.

"Представлен Halide, новый язык программирования для обработк..."
Отправлено ZeroOne , 10-Авг-12 01:02 
Жду когда код будет кроссплатформенен и когда появится поддержка OpenCL.

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Аноним , 10-Авг-12 01:11 
не надо или вантузятнек

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Аноним , 10-Авг-12 14:06 
> не надо или вантузятнек

это ты не нужен, маленький жадный ребенок. хочешь дам конфетку пососать?



"Представлен Halide, новый язык программирования для..."
Отправлено arisu , 10-Авг-12 16:14 
> маленький жадный ребенок

что такое, ты купил какой-то из корпоративных шитов, и теперь у тебя поппеншмэрц? бывает.


"Представлен Halide, новый язык программирования для..."
Отправлено Анонимий , 10-Авг-12 18:21 
Арису, ты кто такой? Давай уже, а...

"Представлен Halide, новый язык программирования для..."
Отправлено Аноним , 10-Авг-12 21:04 
Она же тебе уже 2 раза давала, а ты не смог, изыди

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Аноним , 13-Авг-12 18:41 
>> не надо или вантузятнек
> это ты не нужен, маленький жадный ребенок. хочешь дам конфетку пососать?

А в пупок целовать не будешь?


"Представлен Halide, новый язык программирования для..."
Отправлено arisu , 10-Авг-12 01:06 
> скачек производительности

ипподром какой-то.


"Представлен Halide, новый язык программирования для обработк..."
Отправлено Lockal , 10-Авг-12 01:19 
>> researchers used Halide to rewrite several common image-processing algorithms whose performance had already been optimized by seasoned programmers... (even six-fold speedups)
>> Разработчики языка переписали на Halide некоторые общедоступные графические библиотеки и обнаружили... (в 6 раз быстрее)

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


"Представлен Halide, новый язык программирования для..."
Отправлено arisu , 10-Авг-12 01:25 
да никакие не переписали. переводчик как Мойша в анекдоте: «слышал я этого вашего XXX, мне Мойша вчера напел, ужасно: фальшивит, картавит, в ритм не попадает…»

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Аноним , 10-Авг-12 02:27 
Ну и правильно, каждой крупной задаче по своему языку - минус тонны велосипедов реализаций всего и вся на универсальных языках, что опять же приведёт к увеличению скорости написания и (в отличии от явы) заметно не скажется на производительности.

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Аноним , 10-Авг-12 09:32 
потрясающая вещь, давно такое искал

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Игорь , 10-Авг-12 10:54 
Протестим, проверим... Скорее всего это правда. Ведь это же MIT!

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Андрей , 10-Авг-12 11:25 
OpenCL бекэнда нет! Сегодня вкладывать своё время в что-то только для CPU, кто может себе ещё позволить такую роскошь? Ведь даже Mali GPU в Cortex-A15 уже сертифицирована под OpenCL.
Чего хочет MIT своей "новинкой" добиться - не пойму.

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Андрей , 10-Авг-12 11:29 
Ладно, CUDA не воспринял (т.к. аналогично проприетарному Intel Compiler, который игнорирует спец. расширения, если использовать процы конкурента).

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Anonymus , 10-Авг-12 14:49 
Там LLVM как бэкэнд, а у него OpenCL есть

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Аноним , 10-Авг-12 12:55 
А какже AMD Stream? По причине малой распространенности?

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Anonymus , 10-Авг-12 16:06 
AMD убила в пользу OpenCL

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Anonomius , 10-Авг-12 15:23 
Интересно, а можно эту штуку к Гимпу прикрутить?

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Аноним , 10-Авг-12 16:48 
Можно. Но нахуа?

"Представлен Halide, новый язык программирования для обработк..."
Отправлено Аноним , 10-Авг-12 18:39 
чтобы было проще писать фильтры