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);