COMBINATORIAL_BLAS
1.6
Loading...
Searching...
No Matches
PruneColumn.cpp
Go to the documentation of this file.
1
#include <mpi.h>
2
#include <iostream>
3
#include <vector>
4
#include <algorithm>
5
#include "CombBLAS/CombBLAS.h"
6
7
using namespace
combblas
;
8
9
int
main
(
int
argc
,
char
*
argv
[])
10
{
11
int
myrank,
nprocs
;
12
MPI_Init
(&
argc
, &
argv
);
13
MPI_Comm_rank
(
MPI_COMM_WORLD
, &myrank);
14
MPI_Comm_size
(
MPI_COMM_WORLD
, &
nprocs
);
15
16
{
17
std::shared_ptr<CommGrid>
fullWorld
;
18
fullWorld
.reset(
new
CommGrid
(
MPI_COMM_WORLD
, 0, 0));
19
20
FullyDistVec<int, int>
ri
(
fullWorld
, 5, -1);
FullyDistVec<int, int>
ci
(
fullWorld
, 5, -1);
21
22
ri
.SetElement(0, 1);
ri
.SetElement(1, 5);
ri
.SetElement(2, 9);
ri
.SetElement(3, 6);
ri
.SetElement(4, 10);
23
ci
.SetElement(0, 1);
ci
.SetElement(1, 2);
ci
.SetElement(2, 2);
ci
.SetElement(3, 4);
ci
.SetElement(4, 4);
24
25
SpParMat<int, int, SpDCCols<int, int>
>
A
(13, 5,
ri
,
ci
, 1);
26
A
.ParallelWriteMM(
"A.mm"
,
false
);
27
28
FullyDistSpVec<int, int>
ciprune
(
A
.getcommgrid(), 5);
29
ciprune
.SetElement(2, 2);
ciprune
.SetElement(3, 0);
ciprune
.SetElement(4, 2);
30
ciprune
.DebugPrint();
31
32
A
.PruneColumnByIndex(
ciprune
);
33
34
A
.ParallelWriteMM(
"B.mm"
,
false
);
35
}
36
37
38
MPI_Finalize
();
39
return
0;
40
}
main
int main()
Definition
Driver.cpp:12
combblas::CommGrid
Definition
CommGrid.h:45
combblas::DistEdgeList
Definition
DistEdgeList.h:82
nprocs
int nprocs
Definition
comms.cpp:55
combblas
Definition
CCGrid.h:4
A
double A
ReleaseTests
PruneColumn.cpp
Generated by
1.9.8