Как отлаживать функцию print_when () от Halide, только если установлена ​​переменная окружения? - PullRequest
1 голос
/ 22 января 2020

Я хотел бы установить переменную окружения при запуске моего кода, например, DEBUG=TRUE ./run_my_halide_program, и видеть вывод операторов Halide * print_when(), только когда указанная переменная установлена. Однако print_when(), похоже, принимает только Halide::Expr, а не логические значения. Как я могу сделать это в Halide?

1 Ответ

1 голос
/ 22 января 2020

Я понял. Вы можете создать Halide :: Expr из значения int. Построенный Expr может затем использоваться с print_when ().

Так что-то вроде этого:

char* do_i_debug = getenv("DEBUG");
int debug_val = do_i_debug == nullptr ? 0 : 1; // we'll use 1 to mean debug

Halide::Expr DEBUG_HALIDE = Expr(debug_val) == 1;
Halide::print_when(DEBUG_HALIDE, expr_or_func_to_print);
...