Вопросы по теме 'halide'

Начинаете работать с языком программирования Halide?
Я пытаюсь начать работу с специальным языком (расширение C++) для обработки изображений под названием Галоид . Следуя Halide README , я пробовал следующее: Скачал двоичный файл Ubuntu 12.04 Halide и распаковал его в каталог с именем...
3103 просмотров
schedule 01.01.2024

Использование галоидного кортежа
Я хочу использовать Halide для создания нескольких выходных буферов. Func output; std::vector<Expr> argsExpr( 4 ); argsExpr[ 0 ] = aOut( x, y ); argsExpr[ 1 ] = bOut( x, y ); argsExpr[ 2 ] = cOut( x, y ); argsExpr[ 3 ] = dOut( x, y );...
473 просмотров
schedule 14.07.2023

Как выполнять операции над окрестностями определенных пикселей в Halide?
На изображении есть несколько определенных пикселей, вокруг которых я хочу найти минимальный локальный градиент. Я могу сделать это достаточно легко для всех пикселей изображения: Func grad, gradmin; grad(x, y) = pow(input(x+1, y) - input(x-1,...
216 просмотров
schedule 01.06.2023

Смешивание и поплавок в Halide
Я использую Halide с VS2013. Я успешно построил и запустил первый учебник. Я пытаюсь реализовать часть своего кода и не понимаю, почему он не компилируется. Код выглядит следующим образом: int main(int argc, char **argv) { ImageParam...
595 просмотров
schedule 14.04.2023

Неожиданное поведение: пустой цикл приводит к улучшению результатов в функции размытия.
Я посетил несколько групп Halide за эти годы в Siggraph и, наконец, решил провести некоторое тестирование, чтобы определить, будет ли полезно перекодировать мое существующее программное обеспечение. До сих пор результаты были впечатляющими. Я...
159 просмотров
schedule 05.08.2022

Создание файла объекта AOT Halide для ARM Cortex A9
Я пытаюсь использовать учебники Halide-lang AOT и кросс-компиляции. Что я хотел бы сделать, так это кросс-AOT-компиляцию программы Halide для встроенной цели Linux Cortex A9. Я внес в файл lesson_11_cross_compilation.cpp следующие изменения:...
406 просмотров
schedule 01.04.2023

Как использовать профайлер Halide
Я изучал возможности Halide в течение нескольких недель, и чтобы лучше понять, что делает Halide, я хотел бы попробовать использовать профайлер halide. Допустим, у меня есть тест Func. (Для простоты чтения я пропустил объявления переменных и тому...
662 просмотров
schedule 19.04.2023

Доступ к функциям в конвейере Halide
У меня есть пайплайн Halide, на котором я хотел бы попробовать пару графиков. Я хотел бы сделать это, создав отдельный файл с оптимизациями, а затем применить их к данному Func во время выполнения, чтобы я мог автоматически опробовать их, чтобы найти...
300 просмотров
schedule 26.03.2023

Halide::Expr' контекстуально не конвертируется в 'bool' Сохранение значений функций в переменных
Я новичок в использовании Halide, и сначала я играю с реализацией алгоритмов. Я пытаюсь написать функцию, которая, в зависимости от значения 8 пикселей вокруг нее, либо переходит к следующему пикселю, либо выполняет некоторую обработку, а затем...
970 просмотров
schedule 22.04.2023

Halide с графическим процессором (OpenGL) в качестве цели — бенчмаркинг и использование HalideRuntimeOpenGL.h
Я новичок в Галиде. Я играл с учебниками, чтобы почувствовать язык. Теперь я пишу небольшое демонстрационное приложение для запуска из командной строки в OSX. Моя цель — выполнить попиксельную операцию над изображением, запланировать ее на GPU и...
1323 просмотров
schedule 04.02.2023

Запуск генераторов Halide из cmake с наиболее оптимальными флагами и конфигурациями компилятора
Итак, я успешно интегрировал первый работающий галоидный генератор в систему сборки cmake для моего небольшой проект по обработке изображений . Генератор реализует алгоритм изменения размера и повторной выборки изображения на основе примера...
1218 просмотров
schedule 01.07.2023

не могу включить автономную среду выполнения в мой проект
Я создал автономную среду выполнения, которую я мог бы использовать с несколькими скомпилированными функциями AOT, которые не содержат среды выполнения, но когда я пытаюсь включить ее в компоновщик, она не работает, потому что сам файл имеет тип...
49 просмотров
schedule 29.12.2023

Разложение Холецкого в галидах
Я пытаюсь реализовать разложение Холецкого в Halide. Часть общего алгоритма, такого как crout, состоит из итерации по треугольной матрице. Таким образом, диагональные элементы разложения вычисляются путем вычитания частичной суммы столбца из...
277 просмотров
schedule 14.10.2022

Есть ли способ заставить Halide не генерировать код, использующий векторные инструкции?
Мы реализовали несколько алгоритмов на языке Halide, который использует arctan как тригонометрические функции. Но для инструментальных целей мы хотим заставить Halide не генерировать векторные инструкции. Мы используем Visual C++ в Windows и...
315 просмотров
schedule 16.12.2022

Как назвать несколько выходов функции (кортежа)?
Скажем, у меня есть генератор для создания функции, скомпилированной с опережением времени, что-то вроде следующего. Halide::Func build(){ Halide::Func func1("func1"), func2("func2"), func3("func3"); Halide::Func result("result");...
384 просмотров
schedule 10.12.2022

ошибка halide: доступ к входному буферу b0 осуществляется по адресу -1, что предшествует min(0) в измерении 0
Я не могу понять, почему в приведенном ниже коде Halide возникает ошибка. Пожалуйста, дайте мне знать, что я ошибаюсь. Buffer<uint8_t> input(small_width, small_height, small_depth); Var x("x"), y("y"), z("z"); Func blur_y1, blur_y2,...
342 просмотров
schedule 03.02.2023

Трудности реализации шага гистерезиса алгоритма Кэнни в Halide без функции define_extern
Проблема в том, что когда пиксель, помеченный как слабый край (между двумя пороговыми значениями), меняется на сильный край (принимается, как описано здесь ) требуется применить ту же логику к вашим подключенным соседям рекурсивно (отслеживая...
461 просмотров
schedule 25.03.2023

ошибки галоидного линкера с граничными условиями
Я столкнулся с проблемой, пытаясь вызвать граничные условия в галоидном коде. Я использую бинарную сборку halide-mac-64-trunk... с сайта. У меня не было других проблем с вызовом других галоидных функций. Ввод изображения = load_image (argv [1]);...
190 просмотров
schedule 09.11.2022

Эффективный доступ к памяти в Halide
Допустим, я хочу выполнить операцию (например, сложение) между двумя изображениями, где каждому пикселю изображения Img1 соответствует соответствующий пиксель изображения Img2. Вектор соответствия хранится в кортеже Delta. В основном, что-то вроде...
174 просмотров
schedule 23.03.2024

Есть ли способ объединить Funcs в Func с еще одним измерением?
Я начал изучать Halide с прошлого месяца. И, наконец, столкнулся с большой проблемой для меня. Я пытаюсь реализовать функцию, подобную C-подобному коду в Halide. for( int y = 0; y < 3; ++y ){ for( int x = 0; x < 3; ++x ){...
690 просмотров
schedule 08.10.2022