halide

    1热度

    2回答

    我想用C++ 1D数组初始化Halide缓冲区。鉴于其他一些在线帖子,这是我迄今为止: Image<float> in(Buffer(type_of<float>(), size_x, 0, 0, 0, NULL, in_ptr)); 其中in_ptr是指向我的C++数组的指针。 当我运行此我得到以下错误: error: missing template arguments before ‘(

    0热度

    1回答

    我遇到了另一个问题,同时使采用卤化物模板匹配(与解决问题的原文链接:output shifted in template matching)的结果 现在,我想在得分最低的位置绘制一个矩形(其表示最佳匹配)。 模板匹配部分: Image<float> source = load_image("C:\\Users\\Admin\\Desktop\\templateMatchingOpenCV\\cli

    3热度

    2回答

    是否有性能计数器可用于使用Halide语言编写的代码?我想知道我的代码执行了多少加载,存储和ALU操作。 用于调度多级流水线的Halide教程通过比较分配内存,加载,存储和调用halide Funcs的数量来比较不同的调度,但我没看到如何收集这些信息。我想,在每次发生这些操作时,可以使用trace_stores,trace_loads和trace_realizations打印到控制台。这不是一个好

    0热度

    1回答

    我有一个Halide管道,我想尝试几个时间表。我想通过创建一个单独的文件并进行优化来实现这一点,然后在运行时将这些文件应用于给定的Func,这样我就可以自动尝试找到最快的文件。 我开始编写自己的函数来执行此操作,但对于compute_at等一些优化,这变得相当复杂。 compute_at将Func作为第一个参数。有没有办法在管道中访问Funcs,而不必保留所有函数的列表,然后将这个列表传递给我的函

    0热度

    2回答

    我是使用Halide的新手,我正在首先实现算法。我正在尝试编写一个函数,根据它周围8个像素的值,可以跳到下一个像素或进行一些处理,然后移动到下一个像素。当试图写这个,我得到以下编译器错误: 84:5:错误:类型卤化物:: Expr的'的值不是上下文转换为“布尔” if(input(x,y) > 0) 我已经做了所有教程和已经看到,选择函数是一个选项,但有没有办法比较函数的值或将它们存储在某个地

    2热度

    2回答

    好吧,因此:我已成功将第一个工作Halide generator集成到我的小image-processing project的cmake build system中。 该生成器基于来自Halide代码库的示例代码实现图像大小调整和重采样算法 - 我调整了示例以利用生成器参数,并将生成器的编译和调用绑定到我的cmake脚本使用HalideGenerator.cmake中定义的函数,就像Halide项

    0热度

    1回答

    我开始使用Halide。我知道它明确地是一个图像处理框架,但是有没有办法处理多维数组(> 3D),而不需要执行任何复杂的步骤,如维度降低或在较低维空间中分离数学方程? 感谢, Karnajit

    0热度

    2回答

    我一直在探索Halide几个星期的可能性,为了更好地理解Halide在做什么,我想尝试使用卤化物探查器。可以说我有一个Func测试。 (为了便于阅读,我省略了变量声明等)。 f=Func(test); f(x,y)=some_image(x,y)*2; 如果我想运行此操作,请拨打f.realize(some_image.width(),some_image.height())。现在,如果我理解正确

    1热度

    1回答

    我有兴趣修改Halide像素的各个颜色通道。例如,我如何照亮红色通道,但保持绿色和蓝色通道不变?增亮所有颜色对所有像素应该是这样的: Halide::Expr value = input(x, y, c); value = value * 2.0f; brighter(x, y, c) = value; 但是试图亮与下面的方法的单个信道时,当接收到错误。 Halide::Expr valu

    0热度

    1回答

    我生成的独立运行时,我可以使用几个编译的AOT函数不包含运行时,但是当我尝试将其包含在链接器中它不工作,因为文件本身是文件类型。 我用 Halide::Target t(Halide::Target::Windows, Halide::Target::Arch::X86, 64); Halide::compile_standalone_runtime("HalideRuntime", t);