This commit is contained in:
Hendrik Groove 2024-10-21 00:13:27 +02:00
parent c39ad981ce
commit ca6fcd361e

View File

@ -987,16 +987,24 @@ auto Reduce(Policy policy, InputIt first, InputIt second, Init init, Func reduce
using Ty = std::remove_cv_t<Init>; using Ty = std::remove_cv_t<Init>;
Ty aggregate = init; Ty aggregate = init;
// Get the HIP stream from the policy // Try to get the HIP stream from the policy
hipStream_t stream = thrust::hip::stream(policy); hipStream_t stream = nullptr;
std::cerr << "HIP stream: " << stream << std::endl; try {
stream = policy.stream();
std::cerr << "HIP stream from policy: " << stream << std::endl;
} catch (const std::exception& e) {
std::cerr << "Unable to get stream from policy: " << e.what() << std::endl;
std::cerr << "Using default stream" << std::endl;
}
// Check stream validity // Check stream validity if we got a stream
hipError_t stream_err = hipStreamQuery(stream); if (stream != nullptr) {
if (stream_err != hipSuccess && stream_err != hipErrorNotReady) { hipError_t stream_err = hipStreamQuery(stream);
std::cerr << "Invalid stream: " << hipGetErrorString(stream_err) << std::endl; if (stream_err != hipSuccess && stream_err != hipErrorNotReady) {
} else { std::cerr << "Invalid stream: " << hipGetErrorString(stream_err) << std::endl;
std::cerr << "Stream is valid" << std::endl; } else {
std::cerr << "Stream is valid" << std::endl;
}
} }
for (size_t offset = 0; offset < size; offset += kLimit) { for (size_t offset = 0; offset < size; offset += kLimit) {