Skip to content

Halide generator to produce c++ file... #8850

Description

@Honya2000

Hallo,

I'm trying to integrate Halide generator to my cmake project and have issues with debug configurations...
Following examples i setup generator this way:

Find Halide

find_package(Halide REQUIRED)

Generator

add_halide_generator(resize.generator SOURCES halide/rgb_resize_generator.cc)

add_halide_library(halide_ResizeRgb FROM resize.generator GENERATOR resize_generator)

And final step - I link halide_ResizeRgb to my project.

But there is problem with debug build configuration.
It fails because of runtime libs mismatch between generated lib and Halide compiler GenGen:

halide_ResizeRgb.runtime.vcxproj -> halide_ResizeRgb.runtime.lib
16>Halide_GenGen.lib(GenGen.cpp.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in resize_generator.obj
16>Halide_GenGen.lib(GenGen.cpp.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in resize_generator.obj

Actually i expected Halide generated c++ source file instead of obj / libs. So i can then include this c++ file to the project and can easily step into functions with the debugger in usual way.

But unfortunately i didn't find the way how to produce c++ sources instead of object files.
With c++ sources with all required optimizations - loop unrollings / simd intrinsics, etc - it would be portable for any platform, like wasm, linux, windows, etc. And also this would work under visual studio debugger,

Any help please ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions