Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

apriori_compiled_kernel_t::get_attribute should be marked inline #449

Closed
jhol opened this issue Jan 9, 2023 · 6 comments
Closed

apriori_compiled_kernel_t::get_attribute should be marked inline #449

jhol opened this issue Jan 9, 2023 · 6 comments

Comments

@jhol
Copy link

jhol commented Jan 9, 2023

kernel::attribute_value_t apriori_compiled_kernel_t::get_attribute(kernel::attribute_t attribute) const

is defined in src/cuda/api/multi_wrapper_impls/apriori_compiled_kernel.hpp. However, unlike other functions in this file, it is not declared inline, causing linker issues with projects that end up including the header more than once.

@eyalroz
Copy link
Owner

eyalroz commented Jan 10, 2023

Not sure how this wasn't caught when linking my example program with two translation units... :-(

Anyway, will be part of the next release (0.6.2).

@jhol
Copy link
Author

jhol commented Jan 10, 2023

Yeah I'm not sure either. It works on my host PC building with NixOS, CMake and GCC 11.3. It fails cross-building with Yocto, OE4T, GCC 10.2, and the CMake project is packaged using BitBake.

@eyalroz
Copy link
Owner

eyalroz commented Jan 10, 2023

I don't even know what Yocto, OE4T and BitBake even are :-P

Anyway, thanks for reporting this. If you have any non-bug feedback (e.g. likes and dislikes about the wrappers), I'm always interested in more verbose user feedback (by email).

@jhol
Copy link
Author

jhol commented Jan 10, 2023

OE4T is "OpenEmbedded for Tegra" - which makes it easier to cross-build things for Tegra boards.

@eyalroz
Copy link
Owner

eyalroz commented Jan 10, 2023

@jhol Is it possible to cross-build using OE4T on the "GitHub actions" virtual machines? If you think that's something you could help me set up, we could get GitHub perform that build on every commit.

@jhol
Copy link
Author

jhol commented Jan 10, 2023

I think it would make more sense just to break the toolchain down and figure out why it behaves differently, because the only bit we care about is what AArch64 gcc is doing. 99.9% of everything else OE4T does is irrelevant, and would be a headache to maintain.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants