MCPcopy Create free account
hub / github.com/NGSolve/ngsolve / DevConstantElementByElementMatrix

Method DevConstantElementByElementMatrix

ngscuda/cuda_linalg.cpp:364–381  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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 ::

Callers

nothing calls this directly

Calls 6

AsArrayMethod · 0.80
HeightFunction · 0.50
HeightMethod · 0.45
WidthMethod · 0.45
GetMatrixMethod · 0.45
SizeMethod · 0.45

Tested by

no test coverage detected