• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

3DSpGEMM/H03-May-2022-2,2471,582

Applications/H03-May-2022-6,0914,425

BipartiteMatchings/H03-May-2022-4,4843,100

Ordering/H03-May-2022-2,0571,592

ReleaseTests/H03-May-2022-2,8051,989

cmake/H30-Apr-2018-43

graph500-1.2/H03-May-2022-15,32813,116

include/H03-May-2022-32,33022,972

ms_inttypes/H09-Dec-2017-554369

ms_sys/sys/H09-Dec-2017-

psort-1.0/H03-May-2022-5,5644,440

src/H29-Apr-2018-1,026685

usort/H03-May-2022-5,7943,873

DoxyfileH A D29-Apr-2018663 3130

LICENSEH A D29-Apr-20182.6 KiB3510

MainPage.hH A D29-Apr-201818.2 KiB1890

README_DEVELOPERSH A D09-Dec-20171.6 KiB4030

TestCXXAcceptsFlag.cmakeH A D09-Dec-20171.3 KiB3129

README_DEVELOPERS

1To Developers:
2
3Whenever you introduce a new instantiation of the existing types, such as
4SpParMat< NEWINDEXTYPE, NEWVALUETYPE, NEWLOCALMATRIX>, you should create
5three traits:
6
71) Inside promote.h, tell the compiler how to determine the return type of
8binop(bool,NEWVALUETYPE) where binop is usually a user defined multiplication.
9
102) You should do a similar promotion for your NEWLOCALMATRIX, as done at the
11end of SpDCCols.h because the compiler can not deduce your NEWLOCALMATRIX's promotion
12from the promotion information of its template parameters. At this point, you
13should declare promotions for each possible instantiation of your NEWLOCALMATRIX
14object. Here is an example:
15
16template <> struct
17promote_trait< NEWLOCALMATRIX<int64_t,double> , NEWLOCALMATRIX<int64_t,bool> >
18{
19      typedef NEWLOCALMATRIX<int64_t,double> T_promote;
20};
21
223) You should add a mechanism for the compiler to infer the types of template
23parameters in your NEWLOCALMATRIX. This allows the compiler to instantiate a
24concrete NEWLOCALMATRIX<> object with the promoted type parameters.
25
26template <class NIT, class NNT>  struct
27create_trait< NEWLOCALMATRIX<int64_t, bool> , NIT, NNT >
28{
29    typedef NEWLOCALMATRIX<NIT,NNT> T_inferred;
30    typedef SpTuples<NIT,NNT> TUP_inferred; // required for internals
31};
32
33For all three, you can use the existing traits as examples.
34
35To Users:
36
37Please avoid declaring vectors (FullyDistVec, FullyDistSpVec, etc) with NT=bool.
38Parallel vectors uses vector<NT> internally, which breaks with bool. You are
39more than welcome (and encouraged) to declare matrices (SpParMat) with NT=bool.
40