@@ -138,7 +138,7 @@ void run_sparse_cg_example(const sycl::device &dev)
138
138
try {
139
139
mkl::sparse::init_matrix_handle (&handle);
140
140
141
- mkl::sparse::set_csr_data (handle, nrows, nrows, mkl::index_base::zero,
141
+ mkl::sparse::set_csr_data (main_queue, handle, nrows, nrows, mkl::index_base::zero,
142
142
ia_buffer, ja_buffer, a_buffer);
143
143
144
144
mkl::sparse::set_matrix_property (handle, mkl::sparse::property::symmetric);
@@ -174,13 +174,14 @@ void run_sparse_cg_example(const sycl::device &dev)
174
174
175
175
// Calculation B^{-1}r_0
176
176
{
177
+ fp alpha = 1.0 ;
177
178
mkl::sparse::trsv (main_queue, mkl::uplo::lower,
178
- mkl::transpose::nontrans, mkl::diag::nonunit ,
179
- handle, r_buffer, t_buffer);
179
+ mkl::transpose::nontrans,
180
+ mkl::diag::nonunit, alpha, handle, r_buffer, t_buffer);
180
181
diagonal_mv<fp, intType>(main_queue, nrows, d_buffer, t_buffer);
181
182
mkl::sparse::trsv (main_queue, mkl::uplo::upper,
182
- mkl::transpose::nontrans, mkl::diag::nonunit ,
183
- handle, t_buffer, w_buffer);
183
+ mkl::transpose::nontrans,
184
+ mkl::diag::nonunit, alpha, handle, t_buffer, w_buffer);
184
185
}
185
186
186
187
mkl::blas::copy (main_queue, nrows, w_buffer, 1 , p_buffer, 1 );
@@ -225,13 +226,14 @@ void run_sparse_cg_example(const sycl::device &dev)
225
226
226
227
// Calculate w_k = B^{-1}r_k
227
228
{
229
+ fp alpha = 1.0 ;
228
230
mkl::sparse::trsv (main_queue, mkl::uplo::lower,
229
231
mkl::transpose::nontrans,
230
- mkl::diag::nonunit, handle, r_buffer, t_buffer);
232
+ mkl::diag::nonunit, alpha, handle, r_buffer, t_buffer);
231
233
diagonal_mv<fp, intType>(main_queue, nrows, d_buffer, t_buffer);
232
234
mkl::sparse::trsv (main_queue, mkl::uplo::upper,
233
235
mkl::transpose::nontrans,
234
- mkl::diag::nonunit, handle, t_buffer, w_buffer);
236
+ mkl::diag::nonunit, alpha, handle, t_buffer, w_buffer);
235
237
}
236
238
237
239
// Calculate current norm of correction
@@ -271,8 +273,9 @@ void run_sparse_cg_example(const sycl::device &dev)
271
273
catch (std::exception const &e) {
272
274
std::cout << " \t\t Caught exception:\n " << e.what () << std::endl;
273
275
}
274
-
275
- mkl::sparse::release_matrix_handle (&handle);
276
+
277
+ mkl::sparse::release_matrix_handle (main_queue, &handle);
278
+ main_queue.wait ();
276
279
}
277
280
278
281
//
0 commit comments