Представлен Halide, новый язык программирования для обработки изображений
Технически - это язык прототипов на базе C++, который допускает своё использование в двух режимах: выполнение встроенных в приложение функций на языке Halide через использование JIT-компиляции; либо компиляция в отдельный объектный файл, который может впоследствии быть подключен в стороннюю программу, например посредством добавления простейшего заголовка-ссылки на этот файл при компиляции.
Исследователи говорят, что легкость чтения и восприятия более высокоуровневого языка Halide не единственное его отличие от обычных языков программирования. Что более важно, Halide также автоматизирует оптимизацию машинного кода под ресурсоёмкие графические операции, на что в противном случае потребовались бы часы весьма непростой работы, и даже в случае полной ручной оптимизации вряд ли результат был бы лучше по сравнению с Halide. Разработчики языка переписали на Halide некоторые общедоступные графические библиотеки и обнаружили, что версия на языке Halide, как правило, в три раза меньше по размеру и в 6 раз быстрее по производительности. Сами исследователи объясняют такой скачок производительности активным использованием самых современных технических возможностей, главным образом использованием эффективного распараллеливания процессов.
Проект написан на языке C++ с использованием элементов нового стандарта C++11, поэтому для его компиляции требуется как минимум gcc 4.6. На данный момент Halide адаптирован для следующих платформ: x86-64/SSE, ARM v7/NEON и CUDA. Язык поддерживает блоки SIMD, многоядерные процессоры, сложно-иерархическую память. Поддерживается сборка для Mac OS X и Linux (Ubuntu 12.04). Исходные тексты проекта открыты под лицензией MIT.
Источник: http://www.opennet.ru/opennews/art.shtml?num=34533
|
0 | Tweet | Нравится |
|