| 362 | bool synckernels = true; |
| 363 | |
| 364 | DevConstantElementByElementMatrix :: |
| 365 | DevConstantElementByElementMatrix (const T_ConstEBEMatrix & mat) |
| 366 | : h(mat.Height()), w(mat.Width()), |
| 367 | devmat(mat.GetMatrix()), |
| 368 | rowdnums(mat.GetRowDNums()), coldnums(mat.GetColDNums()), |
| 369 | row_coloring(mat.GetRowColoring()), col_coloring(mat.GetColColoring()), |
| 370 | numblocks(mat.GetRowDNums().Size()) |
| 371 | { |
| 372 | disjoint_rows = (mat.GetRowColoring().Size() == 0); |
| 373 | disjoint_cols = (mat.GetColColoring().Size() == 0); |
| 374 | |
| 375 | output_onto = disjoint_cols && (mat.GetColDNums().AsArray().Size() == Height()); |
| 376 | output_matrix = mat.OutputMatrix(); |
| 377 | output_matrix_trans = mat.OutputMatrixTrans(); |
| 378 | |
| 379 | cudaMalloc(&dev_hx_buf, numblocks * devmat.Width() * sizeof(double)); |
| 380 | cudaMalloc(&dev_hy_buf, numblocks * devmat.Height() * sizeof(double)); |
| 381 | } |
| 382 | |
| 383 | |
| 384 | void DevConstantElementByElementMatrix :: |