gpt4 book ai didi

c++ - Halide 元组用法

转载 作者:行者123 更新时间:2023-11-30 02:44:28 25 4
gpt4 key购买 nike

我想使用 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 );
output( x, y ) = Tuple( argsExpr );

这个例子工作正常,但我想知道是否可以有多个输出,但大小不同,比如:

std::vector<Expr> argsExpr( 4 );
argsExpr[ 0 ] = aOut( x, y, c );
argsExpr[ 1 ] = bOut( x, y );
argsExpr[ 2 ] = cOut( x, y );
argsExpr[ 3 ] = dOut( x, y );
output( x, y, ? ) = Tuple( argsExpr );

我从 Halide 收到关于输出 0 和输出 1 之间差异的错误。

我假设我只想要一个编译 (compile_to_file),而不是多个 Object 文件。

周杰伦

最佳答案

目前,所有输出(实现的元素)必须具有相同数量的维度、最小值和范围。只有元素的类型可以变化。 Andrew 有一个取消此限制的计划,但我不会在不到 6 到 9 个月的时间内依赖它。

关于c++ - Halide 元组用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25295451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com