[Windows] Enable rocThrust tests by packaging .hip.exe#1753
Merged
Conversation
geomin12
requested changes
Oct 10, 2025
Contributor
Author
Thanks for the feedback, just added, running the test: https://github.com/ROCm/TheRock/actions/runs/18420998763/job/52494756934 |
geomin12
reviewed
Oct 10, 2025
Contributor
|
oh, you will also need to rebase (if you did not do this) with main, as we just pushed a fix for windows |
19a6393 to
e07f38b
Compare
Contributor
Author
Yes, make sense, just rebased. |
geomin12
reviewed
Oct 11, 2025
geomin12
left a comment
Contributor
There was a problem hiding this comment.
lgtm! will wait till builds and tests finish
Contributor
Author
Look like we have the |
geomin12
approved these changes
Oct 13, 2025
.hip.exe
jharryma
pushed a commit
that referenced
this pull request
Nov 5, 2025
## Motivation Closes #1699 - Make `rocThrust` tests runnable on Windows. - Ensure `.hip.exe` test artifacts are packaged. - Use reliable test invocation so `CTest` finds/runs exes on Windows and in installed trees. ## Technical Details `math-libs/artifact-prim.toml` Stop excluding Windows test executables by removing bin/*.hip.exe from unmatched_exclude. ## Test Plan In local: ctest --test-dir build\math-libs\rocThrust\build --output-on-failure -j 8 In CI: https://github.com/ROCm/TheRock/actions/runs/18420998763/job/52494756934 ## Test Result ``` C:\home\runner\_work\TheRock> ctest --test-dir build\math-libs\rocThrust\build Internal ctest changing into directory: C:/home/runner/_work/TheRock/build/math-libs/rocThrust/build Test project C:/home/runner/_work/TheRock/build/math-libs/rocThrust/build Start 1: address_stability.hip 1/165 Test 1: address_stability.hip ............................. Passed 0.01 sec Start 2: adjacent_difference.hip 2/165 Test 2: adjacent_difference.hip ........................... Passed 1.24 sec Start 3: advance.hip 3/165 Test 3: advance.hip ....................................... Passed 0.22 sec Start 4: alignment.hip 4/165 Test 4: alignment.hip ..................................... Passed 0.01 sec Start 5: allocator.hip 5/165 Test 5: allocator.hip ..................................... Passed 0.42 sec Start 6: allocator_aware_policies.hip 6/165 Test 6: allocator_aware_policies.hip ...................... Passed 0.01 sec Start 7: async_copy.hip 7/165 Test 7: async_copy.hip .................................... Passed 22.52 sec Start 8: async_for_each.hip 8/165 Test 8: async_for_each.hip ................................ Passed 1.96 sec Start 9: async_reduce.hip 9/165 Test 9: async_reduce.hip .................................. Passed 36.75 sec Start 10: async_reduce_into.hip 10/165 Test 10: async_reduce_into.hip ............................. Passed 33.50 sec Start 11: async_scan.hip 11/165 Test 11: async_scan.hip .................................... Passed 11.86 sec Start 12: async_sort.hip 12/165 Test 12: async_sort.hip .................................... Passed 21.39 sec Start 13: async_transform.hip 13/165 Test 13: async_transform.hip ............................... Passed 21.16 sec Start 14: binary_search.hip 14/165 Test 14: binary_search.hip ................................. Passed 21.91 sec Start 15: binary_search_descending.hip 15/165 Test 15: binary_search_descending.hip ...................... Passed 0.43 sec Start 16: binary_search_vector.hip 16/165 Test 16: binary_search_vector.hip .......................... Passed 5.89 sec Start 17: binary_search_vector_descending.hip 17/165 Test 17: binary_search_vector_descending.hip ............... Passed 5.38 sec Start 18: caching_allocator.hip 18/165 Test 18: caching_allocator.hip ............................. Passed 0.20 sec Start 19: complex.hip 19/165 Test 19: complex.hip ....................................... Passed 13.63 sec Start 20: complex_transform.hip 20/165 Test 20: complex_transform.hip ............................. Passed 5.07 sec Start 21: complex_various.hip 21/165 Test 21: complex_various.hip ............................... Passed 0.01 sec Start 22: constant_iterator.hip 22/165 Test 22: constant_iterator.hip ............................. Passed 0.27 sec Start 23: copy.hip 23/165 Test 23: copy.hip .......................................... Passed 2.92 sec Start 24: copy_n.hip 24/165 Test 24: copy_n.hip ........................................ Passed 0.34 sec Start 25: count.hip 25/165 Test 25: count.hip ......................................... Passed 0.82 sec Start 26: counting_iterator.hip 26/165 Test 26: counting_iterator.hip ............................. Passed 0.21 sec Start 27: decompose.hip 27/165 Test 27: decompose.hip ..................................... Passed 0.01 sec Start 28: dependencies_aware_policies.hip 28/165 Test 28: dependencies_aware_policies.hip ................... Passed 0.01 sec Start 29: dereference.hip 29/165 Test 29: dereference.hip ................................... Passed 0.23 sec Start 30: device_delete.hip 30/165 Test 30: device_delete.hip ................................. Passed 0.01 sec Start 31: device_ptr.hip 31/165 Test 31: device_ptr.hip .................................... Passed 0.29 sec Start 32: device_reference.hip 32/165 Test 32: device_reference.hip .............................. Passed 0.26 sec Start 33: discard_iterator.hip 33/165 Test 33: discard_iterator.hip .............................. Passed 0.01 sec Start 34: distance.hip 34/165 Test 34: distance.hip ...................................... Passed 0.21 sec Start 35: equal.hip 35/165 Test 35: equal.hip ......................................... Passed 2.97 sec Start 36: event.hip 36/165 Test 36: event.hip ......................................... Passed 0.25 sec Start 37: fill.hip 37/165 Test 37: fill.hip .......................................... Passed 1.00 sec Start 38: find.hip 38/165 Test 38: find.hip .......................................... Passed 3.76 sec Start 39: for_each.hip 39/165 Test 39: for_each.hip ...................................... Passed 0.76 sec Start 40: functional.hip 40/165 Test 40: functional.hip .................................... Passed 0.45 sec Start 41: functional_arithmetic.hip 41/165 Test 41: functional_arithmetic.hip ......................... Passed 0.24 sec Start 42: functional_bitwise.hip 42/165 Test 42: functional_bitwise.hip ............................ Passed 0.23 sec Start 43: functional_logical.hip 43/165 Test 43: functional_logical.hip ............................ Passed 0.27 sec Start 44: functional_placeholders_arithmetic.hip 44/165 Test 44: functional_placeholders_arithmetic.hip ............ Passed 0.37 sec Start 45: functional_placeholders_bitwise.hip 45/165 Test 45: functional_placeholders_bitwise.hip ............... Passed 0.34 sec Start 46: functional_placeholders_compound_assignment.hip 46/165 Test 46: functional_placeholders_compound_assignment.hip ... Passed 0.48 sec Start 47: functional_placeholders_logical.hip 47/165 Test 47: functional_placeholders_logical.hip ............... Passed 0.31 sec Start 48: functional_placeholders_miscellaneous.hip 48/165 Test 48: functional_placeholders_miscellaneous.hip ......... Passed 0.25 sec Start 49: functional_placeholders_relational.hip 49/165 Test 49: functional_placeholders_relational.hip ............ Passed 0.43 sec Start 50: future.hip 50/165 Test 50: future.hip ........................................ Passed 0.69 sec Start 51: gather.hip 51/165 Test 51: gather.hip ........................................ Passed 1.13 sec Start 52: generate.hip 52/165 Test 52: generate.hip ...................................... Passed 0.30 sec Start 53: inner_product.hip 53/165 Test 53: inner_product.hip ................................. Passed 0.97 sec Start 54: is_contiguous_iterator.hip 54/165 Test 54: is_contiguous_iterator.hip ........................ Passed 0.01 sec Start 55: is_operator_function_object.hip 55/165 Test 55: is_operator_function_object.hip ................... Passed 0.01 sec Start 56: is_partitioned.hip 56/165 Test 56: is_partitioned.hip ................................ Passed 0.31 sec Start 57: is_sorted.hip 57/165 Test 57: is_sorted.hip ..................................... Passed 0.31 sec Start 58: is_sorted_until.hip 58/165 Test 58: is_sorted_until.hip ............................... Passed 0.31 sec Start 59: logical.hip 59/165 Test 59: logical.hip ....................................... Passed 0.35 sec Start 60: max_element.hip 60/165 Test 60: max_element.hip ................................... Passed 0.89 sec Start 61: memory.hip 61/165 Test 61: memory.hip ........................................ Passed 0.25 sec Start 62: merge.hip 62/165 Test 62: merge.hip ......................................... Passed 2.96 sec Start 63: merge_by_key.hip 63/165 Test 63: merge_by_key.hip .................................. Passed 8.74 sec Start 64: merge_key_value.hip 64/165 Test 64: merge_key_value.hip ............................... Passed 5.84 sec Start 65: metaprogramming.hip 65/165 Test 65: metaprogramming.hip ............................... Passed 0.01 sec Start 66: min_and_max.hip 66/165 Test 66: min_and_max.hip ................................... Passed 0.01 sec Start 67: min_element.hip 67/165 Test 67: min_element.hip ................................... Passed 0.93 sec Start 68: minmax_element.hip 68/165 Test 68: minmax_element.hip ................................ Passed 1.28 sec Start 69: mismatch.hip 69/165 Test 69: mismatch.hip ...................................... Passed 0.29 sec Start 70: mr_disjoint_pool.hip 70/165 Test 70: mr_disjoint_pool.hip .............................. Passed 0.01 sec Start 71: mr_new.hip 71/165 Test 71: mr_new.hip ........................................ Passed 0.02 sec Start 72: mr_pool.hip 72/165 Test 72: mr_pool.hip ....................................... Passed 0.01 sec Start 73: mr_pool_options.hip 73/165 Test 73: mr_pool_options.hip ............................... Passed 0.01 sec Start 74: out_of_memory_recovery.hip 74/165 Test 74: out_of_memory_recovery.hip ........................ Passed 0.20 sec Start 75: pair.hip 75/165 Test 75: pair.hip .......................................... Passed 0.21 sec Start 76: pair_reduce.hip 76/165 Test 76: pair_reduce.hip ................................... Passed 0.56 sec Start 77: pair_scan.hip 77/165 Test 77: pair_scan.hip ..................................... Passed 1.21 sec Start 78: pair_scan_by_key.hip 78/165 Test 78: pair_scan_by_key.hip .............................. Passed 0.33 sec Start 79: pair_sort.hip 79/165 Test 79: pair_sort.hip ..................................... Passed 2.18 sec Start 80: pair_sort_by_key.hip 80/165 Test 80: pair_sort_by_key.hip .............................. Passed 0.66 sec Start 81: pair_transform.hip 81/165 Test 81: pair_transform.hip ................................ Passed 0.55 sec Start 82: parallel_for.hip 82/165 Test 82: parallel_for.hip .................................. Passed 0.84 sec Start 83: partition.hip 83/165 Test 83: partition.hip ..................................... Passed 3.92 sec Start 84: partition_point.hip 84/165 Test 84: partition_point.hip ............................... Passed 2.65 sec Start 85: permutation_iterator.hip 85/165 Test 85: permutation_iterator.hip .......................... Passed 0.44 sec Start 86: preprocessor.hip 86/165 Test 86: preprocessor.hip .................................. Passed 0.01 sec Start 87: random.hip 87/165 Test 87: random.hip ........................................ Passed 0.86 sec Start 88: reduce.hip 88/165 Test 88: reduce.hip ........................................ Passed 0.89 sec Start 89: reduce_by_key.hip 89/165 Test 89: reduce_by_key.hip ................................. Passed 1.44 sec Start 90: reduce_large.hip 90/165 Test 90: reduce_large.hip .................................. Passed 0.24 sec Start 91: remove.hip 91/165 Test 91: remove.hip ........................................ Passed 2.42 sec Start 92: replace.hip 92/165 Test 92: replace.hip ....................................... Passed 3.25 sec Start 93: reproducibility.hip 93/165 Test 93: reproducibility.hip ............................... Passed 3.88 sec Start 94: reverse.hip 94/165 Test 94: reverse.hip ....................................... Passed 0.45 sec Start 95: reverse_iterator.hip 95/165 Test 95: reverse_iterator.hip .............................. Passed 0.47 sec Start 96: scan.hip 96/165 Test 96: scan.hip .......................................... Passed 2.08 sec Start 97: scan_by_key.exclusive.hip 97/165 Test 97: scan_by_key.exclusive.hip ......................... Passed 1.40 sec Start 98: scan_by_key.inclusive.hip 98/165 Test 98: scan_by_key.inclusive.hip ......................... Passed 1.27 sec Start 99: scatter.hip 99/165 Test 99: scatter.hip ....................................... Passed 0.94 sec Start 100: sequence.hip 100/165 Test 100: sequence.hip ...................................... Passed 0.53 sec Start 101: set_difference.hip 101/165 Test 101: set_difference.hip ................................ Passed 2.75 sec Start 102: set_difference_by_key.hip 102/165 Test 102: set_difference_by_key.hip ......................... Passed 4.14 sec Start 103: set_difference_by_key_descending.hip 103/165 Test 103: set_difference_by_key_descending.hip .............. Passed 1.15 sec Start 104: set_difference_descending.hip 104/165 Test 104: set_difference_descending.hip ..................... Passed 0.89 sec Start 105: set_difference_key_value.hip 105/165 Test 105: set_difference_key_value.hip ...................... Passed 2.03 sec Start 106: set_intersection.hip 106/165 Test 106: set_intersection.hip .............................. Passed 3.46 sec Start 107: set_intersection_by_key.hip 107/165 Test 107: set_intersection_by_key.hip ....................... Passed 3.40 sec Start 108: set_intersection_by_key_descending.hip 108/165 Test 108: set_intersection_by_key_descending.hip ............ Passed 1.01 sec Start 109: set_intersection_descending.hip 109/165 Test 109: set_intersection_descending.hip ................... Passed 0.89 sec Start 110: set_intersection_key_value.hip 110/165 Test 110: set_intersection_key_value.hip .................... Passed 3.04 sec Start 111: set_symmetric_difference.hip 111/165 Test 111: set_symmetric_difference.hip ...................... Passed 4.01 sec Start 112: set_symmetric_difference_by_key.hip 112/165 Test 112: set_symmetric_difference_by_key.hip ............... Passed 4.20 sec Start 113: set_symmetric_difference_by_key_descending.hip 113/165 Test 113: set_symmetric_difference_by_key_descending.hip .... Passed 1.17 sec Start 114: set_symmetric_difference_descending.hip 114/165 Test 114: set_symmetric_difference_descending.hip ........... Passed 0.95 sec Start 115: set_union.hip 115/165 Test 115: set_union.hip ..................................... Passed 2.11 sec Start 116: set_union_by_key.hip 116/165 Test 116: set_union_by_key.hip .............................. Passed 4.20 sec Start 117: set_union_by_key_descending.hip 117/165 Test 117: set_union_by_key_descending.hip ................... Passed 1.18 sec Start 118: set_union_descending.hip 118/165 Test 118: set_union_descending.hip .......................... Passed 0.96 sec Start 119: set_union_key_value.hip 119/165 Test 119: set_union_key_value.hip ........................... Passed 7.44 sec Start 120: shuffle.hip 120/165 Test 120: shuffle.hip ....................................... Passed 4.69 sec Start 121: sort.hip 121/165 Test 121: sort.hip .......................................... Passed 1.65 sec Start 122: sort_by_key.hip 122/165 Test 122: sort_by_key.hip ................................... Passed 0.83 sec Start 123: sort_by_key_variable_bits.hip 123/165 Test 123: sort_by_key_variable_bits.hip ..................... Passed 5.27 sec Start 124: sort_permutation_iterator.hip 124/165 Test 124: sort_permutation_iterator.hip ..................... Passed 0.53 sec Start 125: sort_variable_bits.hip 125/165 Test 125: sort_variable_bits.hip ............................ Passed 13.10 sec Start 126: stable_sort.hip 126/165 Test 126: stable_sort.hip ................................... Passed 1.32 sec Start 127: stable_sort_by_key.hip 127/165 Test 127: stable_sort_by_key.hip ............................ Passed 1.40 sec Start 128: stable_sort_by_key_large_keys.hip 128/165 Test 128: stable_sort_by_key_large_keys.hip ................. Passed 0.23 sec Start 129: stable_sort_by_key_large_keys_and_values.hip 129/165 Test 129: stable_sort_by_key_large_keys_and_values.hip ...... Passed 0.23 sec Start 130: stable_sort_by_key_large_values.hip 130/165 Test 130: stable_sort_by_key_large_values.hip ............... Passed 0.27 sec Start 131: stable_sort_large.hip 131/165 Test 131: stable_sort_large.hip ............................. Passed 0.25 sec Start 132: swap_ranges.hip 132/165 Test 132: swap_ranges.hip ................................... Passed 0.57 sec Start 133: tabulate.hip 133/165 Test 133: tabulate.hip ...................................... Passed 0.45 sec Start 134: tabulate_output_iterator.hip 134/165 Test 134: tabulate_output_iterator.hip ...................... Passed 0.30 sec Start 135: transform.hip 135/165 Test 135: transform.hip ..................................... Passed 4.30 sec Start 136: transform_input_output_iterator.hip 136/165 Test 136: transform_input_output_iterator.hip ............... Passed 0.58 sec Start 137: transform_iterator.hip 137/165 Test 137: transform_iterator.hip ............................ Passed 0.53 sec Start 138: transform_output_iterator.hip 138/165 Test 138: transform_output_iterator.hip ..................... Passed 0.45 sec Start 139: transform_output_iterator_reduce_by_key.hip 139/165 Test 139: transform_output_iterator_reduce_by_key.hip ....... Passed 0.42 sec Start 140: transform_reduce.hip 140/165 Test 140: transform_reduce.hip .............................. Passed 0.53 sec Start 141: transform_scan.hip 141/165 Test 141: transform_scan.hip ................................ Passed 1.37 sec Start 142: trivial_sequence.hip 142/165 Test 142: trivial_sequence.hip .............................. Passed 0.31 sec Start 143: tuple.hip 143/165 Test 143: tuple.hip ......................................... Passed 0.21 sec Start 144: tuple_algorithms.hip 144/165 Test 144: tuple_algorithms.hip .............................. Passed 0.01 sec Start 145: tuple_reduce.hip 145/165 Test 145: tuple_reduce.hip .................................. Passed 0.47 sec Start 146: tuple_scan.hip 146/165 Test 146: tuple_scan.hip .................................... Passed 0.82 sec Start 147: tuple_sort.hip 147/165 Test 147: tuple_sort.hip .................................... Passed 1.55 sec Start 148: tuple_transform.hip 148/165 Test 148: tuple_transform.hip ............................... Passed 0.38 sec Start 149: type_traits.hip 149/165 Test 149: type_traits.hip ................................... Passed 0.01 sec Start 150: uninitialized_copy.hip 150/165 Test 150: uninitialized_copy.hip ............................ Passed 0.42 sec Start 151: uninitialized_fill.hip 151/165 Test 151: uninitialized_fill.hip ............................ Passed 0.37 sec Start 152: unique.hip 152/165 Test 152: unique.hip ........................................ Passed 0.98 sec Start 153: universal_memory.hip 153/165 Test 153: universal_memory.hip .............................. Passed 2.50 sec Start 154: utils_tester.hip 154/165 Test 154: utils_tester.hip .................................. Passed 0.01 sec Start 155: vector.hip 155/165 Test 155: vector.hip ........................................ Passed 0.56 sec Start 156: vector_allocators.hip 156/165 Test 156: vector_allocators.hip ............................. Passed 0.22 sec Start 157: vector_insert.hip 157/165 Test 157: vector_insert.hip ................................. Passed 0.72 sec Start 158: vector_manipulation.hip 158/165 Test 158: vector_manipulation.hip ........................... Passed 2.60 sec Start 159: zip_function.hip 159/165 Test 159: zip_function.hip .................................. Passed 0.39 sec Start 160: zip_iterator.hip 160/165 Test 160: zip_iterator.hip .................................. Passed 0.48 sec Start 161: zip_iterator_reduce.hip 161/165 Test 161: zip_iterator_reduce.hip ........................... Passed 0.46 sec Start 162: zip_iterator_reduce_by_key.hip 162/165 Test 162: zip_iterator_reduce_by_key.hip .................... Passed 0.74 sec Start 163: zip_iterator_scan.hip 163/165 Test 163: zip_iterator_scan.hip ............................. Passed 1.38 sec Start 164: zip_iterator_sort.hip 164/165 Test 164: zip_iterator_sort.hip ............................. Passed 0.79 sec Start 165: zip_iterator_sort_by_key.hip 165/165 Test 165: zip_iterator_sort_by_key.hip ...................... Passed 1.43 sec 100% tests passed, 0 tests failed out of 165 Label Time Summary: hip = 386.80 sec*proc (165 tests) Total Test time (real) = 1135.67 sec ``` ## Submission Checklist - [x] Look over the contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Closes #1699
rocThrusttests runnable on Windows..hip.exetest artifacts are packaged.CTestfinds/runs exes on Windows and in installed trees.Technical Details
math-libs/artifact-prim.tomlStop excluding Windows test executables by removing bin/*.hip.exe from unmatched_exclude.
Test Plan
In local:
ctest --test-dir build\math-libs\rocThrust\build --output-on-failure -j 8
In CI:
https://github.com/ROCm/TheRock/actions/runs/18421112469/job/52654078770
Test Result
Submission Checklist