diff --git a/tests/unit_tests/sparse_blas/include/test_common.hpp b/tests/unit_tests/sparse_blas/include/test_common.hpp index 00190c9d4..de369e5cf 100644 --- a/tests/unit_tests/sparse_blas/include/test_common.hpp +++ b/tests/unit_tests/sparse_blas/include/test_common.hpp @@ -444,8 +444,6 @@ void set_matrix_data(sycl::queue &queue, sparse_matrix_format_t format, oneapi::mkl::sparse::matrix_handle_t smhandle, std::int64_t num_rows, std::int64_t num_cols, std::int64_t nnz, oneapi::mkl::index_base index, ContainerIndexT rows, ContainerIndexT cols, ContainerValueT vals) { - // Ensure to wait for previous operations to finish before resetting the data - queue.wait_and_throw(); if (format == sparse_matrix_format_t::CSR) { CALL_RT_OR_CT(oneapi::mkl::sparse::set_csr_matrix_data, queue, smhandle, num_rows, num_cols, nnz, index, rows, cols, vals); diff --git a/tests/unit_tests/sparse_blas/source/sparse_spmm_usm.cpp b/tests/unit_tests/sparse_blas/source/sparse_spmm_usm.cpp index f8f195ad2..533eff62a 100644 --- a/tests/unit_tests/sparse_blas/source/sparse_spmm_usm.cpp +++ b/tests/unit_tests/sparse_blas/source/sparse_spmm_usm.cpp @@ -150,6 +150,8 @@ int test_spmm(sycl::device *dev, sparse_matrix_format_t format, intType nrows_A, a_host.data(), reset_nnz, static_cast(nrows_A)); } if (reset_nnz > nnz) { + // Wait before freeing usm pointers + ev_spmm.wait_and_throw(); ia_usm_uptr = malloc_device_uptr(main_queue, ia_host.size()); ja_usm_uptr = malloc_device_uptr(main_queue, ja_host.size()); a_usm_uptr = malloc_device_uptr(main_queue, a_host.size()); diff --git a/tests/unit_tests/sparse_blas/source/sparse_spmv_usm.cpp b/tests/unit_tests/sparse_blas/source/sparse_spmv_usm.cpp index 7233ea6fa..b61b76a41 100644 --- a/tests/unit_tests/sparse_blas/source/sparse_spmv_usm.cpp +++ b/tests/unit_tests/sparse_blas/source/sparse_spmv_usm.cpp @@ -143,6 +143,8 @@ int test_spmv(sycl::device *dev, sparse_matrix_format_t format, intType nrows_A, a_host.data(), reset_nnz, static_cast(nrows_A)); } if (reset_nnz > nnz) { + // Wait before freeing usm pointers + ev_spmv.wait_and_throw(); ia_usm_uptr = malloc_device_uptr(main_queue, ia_host.size()); ja_usm_uptr = malloc_device_uptr(main_queue, ja_host.size()); a_usm_uptr = malloc_device_uptr(main_queue, a_host.size()); diff --git a/tests/unit_tests/sparse_blas/source/sparse_spsv_usm.cpp b/tests/unit_tests/sparse_blas/source/sparse_spsv_usm.cpp index 8c1e960f6..b60763c97 100644 --- a/tests/unit_tests/sparse_blas/source/sparse_spsv_usm.cpp +++ b/tests/unit_tests/sparse_blas/source/sparse_spsv_usm.cpp @@ -142,6 +142,8 @@ int test_spsv(sycl::device *dev, sparse_matrix_format_t format, intType m, doubl a_host.data(), reset_nnz, mu); } if (reset_nnz > nnz) { + // Wait before freeing usm pointers + ev_spsv.wait_and_throw(); ia_usm_uptr = malloc_device_uptr(main_queue, ia_host.size()); ja_usm_uptr = malloc_device_uptr(main_queue, ja_host.size()); a_usm_uptr = malloc_device_uptr(main_queue, a_host.size());