libocca / occa

Portable and vendor neutral framework for parallel programming on heterogeneous platforms.
https://libocca.org
MIT License
382 stars 81 forks source link

Improve user-definable max number of kernel arguments and automatic code generation. #725

Closed deukhyun-cha closed 7 months ago

deukhyun-cha commented 7 months ago

This update fixes an issue that each cmake configuration triggers automatic code generation without any changes in cmake options when a user-defined maximum number of kernel arguments is specified. Also added a cmake option that user can specify to generate codes for JIT kernel launch only if one knows that's what is going to be used, so it wouldn't suffer from longer compile time when a large value for the maximum number of kernel arguments is required.

codecov[bot] commented 7 months ago

Codecov Report

Merging #725 (a788bbe) into development (ff6e4ea) will increase coverage by 0.00%. The diff coverage is n/a.

Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/libocca/occa/pull/725/graphs/tree.svg?width=650&height=150&src=pr&token=doaG4c84wZ&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=libocca)](https://app.codecov.io/gh/libocca/occa/pull/725?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=libocca) ```diff @@ Coverage Diff @@ ## development #725 +/- ## ============================================ Coverage 75.24% 75.25% ============================================ Files 297 297 Lines 19326 19327 +1 ============================================ + Hits 14542 14544 +2 + Misses 4784 4783 -1 ``` | [Files](https://app.codecov.io/gh/libocca/occa/pull/725?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=libocca) | Coverage Δ | | |---|---|---| | [src/core/kernel.cpp](https://app.codecov.io/gh/libocca/occa/pull/725?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=libocca#diff-c3JjL2NvcmUva2VybmVsLmNwcA==) | `85.93% <ø> (ø)` | | | [src/occa/internal/utils/sys.cpp](https://app.codecov.io/gh/libocca/occa/pull/725?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=libocca#diff-c3JjL29jY2EvaW50ZXJuYWwvdXRpbHMvc3lzLmNwcA==) | `79.54% <ø> (+0.05%)` | :arrow_up: | ... and [1 file with indirect coverage changes](https://app.codecov.io/gh/libocca/occa/pull/725/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=libocca)
deukhyun-cha commented 7 months ago

For the build with Makefile, it copies the default *codegen files in the script directory back to proper places in source tree, so it can compile (while the cmake will copy those into build directory and include them from there).