Skip to content

Forward CMAKE_BUILD_TYPE when building gtest.#96

Merged
marbre merged 2 commits into
developfrom
import/cmake-gtest
Jun 26, 2025
Merged

Forward CMAKE_BUILD_TYPE when building gtest.#96
marbre merged 2 commits into
developfrom
import/cmake-gtest

Conversation

@assistant-librarian
Copy link
Copy Markdown
Contributor

This avoids errors on Windows when rocThrust is compiled in Release instead of Debug (the default).

Patch from ROCm/TheRock#389.


🔁 Imported from ROCm/rocThrust#540
🧑‍💻 Originally authored by @marbre

ScottTodd and others added 2 commits May 2, 2025 15:08
This avoids `lld-link: error: /failifmismatch: mismatch detected for '_ITERATOR_DEBUG_LEVEL':` errors on Windows when rocThrust is compiled in Release instead of Debug (the default).
Copy link
Copy Markdown
Contributor

@umfranzw umfranzw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me. Thanks!

@marbre
Copy link
Copy Markdown
Member

marbre commented Jun 24, 2025

This looks good to me. Thanks!

Thanks for the review! Anything needed before this can be merged?

@umfranzw
Copy link
Copy Markdown
Contributor

Thanks for the review! Anything needed before this can be merged?

It looks like we just need someone from rocm-math-lib-build-infra to sign off on it. @marbre, when you have some time, would you mind taking a look?

@marbre marbre requested review from bstefanuk and davidd-amd June 26, 2025 09:10
@marbre
Copy link
Copy Markdown
Member

marbre commented Jun 26, 2025

Thanks for the review! Anything needed before this can be merged?

It looks like we just need someone from rocm-math-lib-build-infra to sign off on it. @marbre, when you have some time, would you mind taking a look?

Sorry, I missed that. I have requested reviews accordingly.

Copy link
Copy Markdown
Contributor

@davidd-amd davidd-amd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like the fix is to ensure consistent build types between the project and gtest. Seems reasonable to me.

@marbre marbre merged commit 004ba5a into develop Jun 26, 2025
28 of 30 checks passed
@marbre marbre deleted the import/cmake-gtest branch June 26, 2025 16:10
assistant-librarian Bot pushed a commit to ROCm/rocThrust that referenced this pull request Jun 26, 2025
Forward CMAKE_BUILD_TYPE when building gtest.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This avoids errors on Windows when rocThrust is compiled in Release
instead of Debug (the default).

Patch from ROCm/TheRock#389.
ammallya pushed a commit that referenced this pull request Sep 24, 2025
* Engine config descriptor integration, and changes to support it (#85)

* Engine plugin resource manager: engine descriptor integration (#93)

* Fix dl error
* Engine_descriptor: integrate with engine plugin resource manager
* Fix tests

* Engine config descriptor integration: bugfix (#97)

* Engine plugin resource manager: fixed incorrect usage of the flatbuffer verifier
* test_engine_descriptor: fixed a segfault
* Mock_engine_plugin_resource_manager: added more methods

* Integration clean up changes (#94)

* Add friend class to allow access to unsafe casts for mock objects

* Standardize flatbuffer and plugin data across engine_config and graph

* Format and test disable

* Convert FakePlugin to actual test plugin (#96)

* Removing dead code, cleaning up CMakeLists.txt

* Using stream for the kernel

* Moved test plugin to a better location (#98)

* Add engine heuristic integration, and fix tests (#100)

* Add the execute integration that was missing.

* Engine plugin resource manager: execution plan descriptor integration (#101)

* Integrate execution plan descriptor

* Fix formatting

* Fix formatting

* [ALMIOPEN-139] Engine plugin loading paths & mode (#87)

* Loading multiple plugin paths

* Load .so or dir and frontend integration

* Error handling

* Plugin loading mode

* Add file to cmake

* .dll or .so and fix tests

* Types and API logging

* More tests

* Update names to include "engine", refine loading mode, remove catch

* Small fix

* Trivial review concerns

* Use platform opaque filenames in tests, defer to shared library logic, remove tests

* Load default plugins based on address of parent library and load directory or file correctly

* Delineate between default plugin directories and ambiguous paths

* Shared library tests

* Plugin loading sanity check and todos

* Cleanup

* Update docstring

* Cleanup plugin core and shared library

* Use test plugin for tests and integrate plugin loading

* Fix engine API tests due to fake engine Ids now being -1

* Fix duplication missed on merge

* Review concerns: refactor plugin loading, add tests, remove fallback, absolute override

* Remove kernel launch from test_good_plugin and device linking. Comment out checks to allow tests to pass until we finalize integration.

* Remove anchor function

* Fix for ASAN builds in Clang 20

* Better ASAN output

* Fix for memory stomp on engine descriptor

* Add exceution plan details to execute, and update testing plugin.

---------

Co-authored-by: Brian Harrison <brian.harrison@amd.com>
Co-authored-by: mousdahl-amd <mitch.ousdahl@amd.com>

* MiOpen Batchnorm fwd inference integration test (#102)

* add first bit of integration test, fix bug in graph where it incorrectly passed the descriptor to the backend.

* can now do the full frontend graph -> backend -> miopen plugin flow and get all success stats.

* clean up test, fully template it so we can easilly use the other types.

* clean up and add other data types

* get code in place for new plugin functionality.

* fixes

* fixes

* fix test failures

* fixes

* fix

* refactor the type to type enum function to proper place

* done need this stuff

* fix

* better comments

* Fix compiler error (#104)

* Set plugin logging callback after load

---------

Co-authored-by: Adam Dickin <adam.dickin@amd.com>
Co-authored-by: Evgenii Averin <86725875+averinevg@users.noreply.github.com>
Co-authored-by: Mitchell Ousdahl <mitch.ousdahl@amd.com>
Co-authored-by: Samuel Reeder <41528605+SamuelReeder@users.noreply.github.com>
Co-authored-by: Samuel Reeder <samuel.reeder@amd.com>
ammallya pushed a commit that referenced this pull request Sep 24, 2025
* Engine config descriptor integration, and changes to support it (#85)

* Engine plugin resource manager: engine descriptor integration (#93)

* Fix dl error
* Engine_descriptor: integrate with engine plugin resource manager
* Fix tests

* Engine config descriptor integration: bugfix (#97)

* Engine plugin resource manager: fixed incorrect usage of the flatbuffer verifier
* test_engine_descriptor: fixed a segfault
* Mock_engine_plugin_resource_manager: added more methods

* Integration clean up changes (#94)

* Add friend class to allow access to unsafe casts for mock objects

* Standardize flatbuffer and plugin data across engine_config and graph

* Format and test disable

* Convert FakePlugin to actual test plugin (#96)

* Removing dead code, cleaning up CMakeLists.txt

* Using stream for the kernel

* Moved test plugin to a better location (#98)

* Add engine heuristic integration, and fix tests (#100)

* Add the execute integration that was missing.

* Engine plugin resource manager: execution plan descriptor integration (#101)

* Integrate execution plan descriptor

* Fix formatting

* Fix formatting

* [ALMIOPEN-139] Engine plugin loading paths & mode (#87)

* Loading multiple plugin paths

* Load .so or dir and frontend integration

* Error handling

* Plugin loading mode

* Add file to cmake

* .dll or .so and fix tests

* Types and API logging

* More tests

* Update names to include "engine", refine loading mode, remove catch

* Small fix

* Trivial review concerns

* Use platform opaque filenames in tests, defer to shared library logic, remove tests

* Load default plugins based on address of parent library and load directory or file correctly

* Delineate between default plugin directories and ambiguous paths

* Shared library tests

* Plugin loading sanity check and todos

* Cleanup

* Update docstring

* Cleanup plugin core and shared library

* Use test plugin for tests and integrate plugin loading

* Fix engine API tests due to fake engine Ids now being -1

* Fix duplication missed on merge

* Review concerns: refactor plugin loading, add tests, remove fallback, absolute override

* Remove kernel launch from test_good_plugin and device linking. Comment out checks to allow tests to pass until we finalize integration.

* Remove anchor function

* Fix for ASAN builds in Clang 20

* Better ASAN output

* Fix for memory stomp on engine descriptor

* Add exceution plan details to execute, and update testing plugin.

---------

Co-authored-by: Brian Harrison <brian.harrison@amd.com>
Co-authored-by: mousdahl-amd <mitch.ousdahl@amd.com>

* MiOpen Batchnorm fwd inference integration test (#102)

* add first bit of integration test, fix bug in graph where it incorrectly passed the descriptor to the backend.

* can now do the full frontend graph -> backend -> miopen plugin flow and get all success stats.

* clean up test, fully template it so we can easilly use the other types.

* clean up and add other data types

* get code in place for new plugin functionality.

* fixes

* fixes

* fix test failures

* fixes

* fix

* refactor the type to type enum function to proper place

* done need this stuff

* fix

* better comments

* Fix compiler error (#104)

* Set plugin logging callback after load

---------

Co-authored-by: Adam Dickin <adam.dickin@amd.com>
Co-authored-by: Evgenii Averin <86725875+averinevg@users.noreply.github.com>
Co-authored-by: Mitchell Ousdahl <mitch.ousdahl@amd.com>
Co-authored-by: Samuel Reeder <41528605+SamuelReeder@users.noreply.github.com>
Co-authored-by: Samuel Reeder <samuel.reeder@amd.com>

[ROCm/hipDNN commit: ee34ef0]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants