Skip to content

Commit

Permalink
more deprecated code removal
Browse files Browse the repository at this point in the history
  • Loading branch information
Matt Bettencourt committed Jun 17, 2021
1 parent 38bd3d5 commit 574a6e5
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 38 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ namespace MueLu {

RCP<const GraphBase> graph = Get< RCP<GraphBase> >(currentLevel, "Graph");
RCP<const Matrix> A = Get< RCP<Matrix> >(currentLevel, "A");
local_matrix_type localA = A->getLocalMatrixHost();
local_matrix_type localA = A->getLocalMatrixDevice();

// Setup aggregates & aggStat objects
RCP<Aggregates> aggregates = rcp(new Aggregates(*graph));
Expand Down Expand Up @@ -232,7 +232,7 @@ namespace MueLu {
// columns corresponding to local rows.
LO numLocalDirichletNodes = numDirichletNodes;
Array<LO> localVertex2AggId(aggregates->GetVertex2AggId()->getData(0).view(0, numRows));
BuildOnRankLocalMatrix(A->getLocalMatrixHost(), coarseLocalA);
BuildOnRankLocalMatrix(A->getLocalMatrixDevice(), coarseLocalA);
for(LO aggregationIter = 1; aggregationIter < maxNumIter; ++aggregationIter) {
// Compute the intermediate prolongator
BuildIntermediateProlongator(coarseLocalA.numRows(), numLocalDirichletNodes, numLocalAggregates,
Expand Down
29 changes: 12 additions & 17 deletions packages/muelu/src/Utils/MueLu_Utilities_def.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -400,49 +400,44 @@ namespace MueLu {
if (maxRowSize == Teuchos::as<size_t>(-1)) // hasn't been determined yet
maxRowSize = 20;

std::vector<Scalar> scaledVals(maxRowSize);

if (tpOp.isFillComplete())
tpOp.resumeFill();

if (Op.isLocallyIndexed() == true) {
Teuchos::ArrayView<const LocalOrdinal> cols;
Teuchos::ArrayView<const Scalar> vals;
typename Tpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>::local_inds_host_view_type cols;
typename Tpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>::values_host_view_type vals;

for (size_t i = 0; i < rowMap->getNodeNumElements(); ++i) {
tpOp.getLocalRowView(i, cols, vals);

size_t nnz = tpOp.getNumEntriesInLocalRow(i);
if (nnz > maxRowSize) {
maxRowSize = nnz;
scaledVals.resize(maxRowSize);
}
typename Tpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>::nonconst_values_host_view_type scaledVals("ScaledVals",nnz);

for (size_t j = 0; j < nnz; ++j)
scaledVals[j] = vals[j]*scalingVector[i];

if (nnz > 0) {
Teuchos::ArrayView<const Scalar> valview(&scaledVals[0], nnz);
tpOp.replaceLocalValues(i, cols, valview);
tpOp.replaceLocalValues(i, cols, scaledVals);
}
} //for (size_t i=0; ...

} else {
Teuchos::ArrayView<const GlobalOrdinal> cols;
Teuchos::ArrayView<const Scalar> vals;
typename Tpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>::global_inds_host_view_type cols;
typename Tpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>::values_host_view_type vals;

for (size_t i = 0; i < rowMap->getNodeNumElements(); ++i) {
GlobalOrdinal gid = rowMap->getGlobalElement(i);
tpOp.getGlobalRowView(gid, cols, vals);
size_t nnz = tpOp.getNumEntriesInGlobalRow(gid);
if (nnz > maxRowSize) {
maxRowSize = nnz;
scaledVals.resize(maxRowSize);
}
typename Tpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>::nonconst_values_host_view_type scaledVals("ScaledVals",nnz);

// FIXME FIXME FIXME FIXME FIXME FIXME
for (size_t j = 0; j < nnz; ++j)
scaledVals[j] = vals[j]*scalingVector[i]; //FIXME i or gid?

if (nnz > 0) {
Teuchos::ArrayView<const Scalar> valview(&scaledVals[0], nnz);
tpOp.replaceGlobalValues(gid, cols, valview);
tpOp.replaceGlobalValues(gid, cols, scaledVals);
}
} //for (size_t i=0; ...
}
Expand Down
30 changes: 11 additions & 19 deletions packages/muelu/src/Utils/MueLu_Utilities_kokkos_def.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -164,8 +164,8 @@ namespace MueLu {
RCP<Vector> diag = VectorFactory::Build(rowMap,false);

// Now generate local objects
local_matrix_type localMatrix = A.getLocalMatrix();
auto diagVals = diag->getDeviceLocalView();
local_matrix_type localMatrix = A.getLocalMatrixDevice();
auto diagVals = diag->getDeviceLocalView(Xpetra::Access::ReadWrite);

ordinal_type numRows = localMatrix.graph.numRows();

Expand Down Expand Up @@ -302,49 +302,41 @@ namespace MueLu {
if (maxRowSize == Teuchos::as<size_t>(-1)) // hasn't been determined yet
maxRowSize = 20;

std::vector<SC> scaledVals(maxRowSize);
if (tpOp.isFillComplete())
tpOp.resumeFill();

if (Op.isLocallyIndexed() == true) {
Teuchos::ArrayView<const LO> cols;
Teuchos::ArrayView<const SC> vals;
typename Tpetra::CrsMatrix<SC,LO,GO,NO>::local_inds_host_view_type cols;
typename Tpetra::CrsMatrix<SC,LO,GO,NO>::values_host_view_type vals;

for (size_t i = 0; i < rowMap->getNodeNumElements(); ++i) {
tpOp.getLocalRowView(i, cols, vals);
size_t nnz = tpOp.getNumEntriesInLocalRow(i);
if (nnz > maxRowSize) {
maxRowSize = nnz;
scaledVals.resize(maxRowSize);
}
typename Tpetra::CrsMatrix<SC,LO,GO,NO>::nonconst_values_host_view_type scaledVals("scaledVals", nnz);
for (size_t j = 0; j < nnz; ++j)
scaledVals[j] = vals[j]*scalingVector[i];

if (nnz > 0) {
Teuchos::ArrayView<const SC> valview(&scaledVals[0], nnz);
tpOp.replaceLocalValues(i, cols, valview);
tpOp.replaceLocalValues(i, cols, scaledVals);
}
} //for (size_t i=0; ...

} else {
Teuchos::ArrayView<const GO> cols;
Teuchos::ArrayView<const SC> vals;
typename Tpetra::CrsMatrix<SC,LO,GO,NO>::global_inds_host_view_type cols;
typename Tpetra::CrsMatrix<SC,LO,GO,NO>::values_host_view_type vals;

for (size_t i = 0; i < rowMap->getNodeNumElements(); ++i) {
GO gid = rowMap->getGlobalElement(i);
tpOp.getGlobalRowView(gid, cols, vals);
size_t nnz = tpOp.getNumEntriesInGlobalRow(gid);
if (nnz > maxRowSize) {
maxRowSize = nnz;
scaledVals.resize(maxRowSize);
}
typename Tpetra::CrsMatrix<SC,LO,GO,NO>::nonconst_values_host_view_type scaledVals("scaledVals", nnz);

// FIXME FIXME FIXME FIXME FIXME FIXME
for (size_t j = 0; j < nnz; ++j)
scaledVals[j] = vals[j]*scalingVector[i]; //FIXME i or gid?

if (nnz > 0) {
Teuchos::ArrayView<const SC> valview(&scaledVals[0], nnz);
tpOp.replaceGlobalValues(gid, cols, valview);
tpOp.replaceGlobalValues(gid, cols, scaledVals);
}
} //for (size_t i=0; ...
}
Expand Down

0 comments on commit 574a6e5

Please sign in to comment.