toon-members
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Toon-members] [SCM] toon branch, expression_template, updated. TOON_2.0


From: Edward Rosten
Subject: [Toon-members] [SCM] toon branch, expression_template, updated. TOON_2.0-24-gfd865e9
Date: Mon, 02 Jul 2012 20:36:51 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "toon".

The branch, expression_template has been updated
       via  fd865e93889422bd60c0f42d3872d7b26dd776b8 (commit)
       via  8ac2c02a6773953540660ae31ae9031d1e5da5db (commit)
      from  9bfb146897962bc02b491987e0145d5b95ade3f3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit fd865e93889422bd60c0f42d3872d7b26dd776b8
Author: Edward Rosten <address@hidden>
Date:   Mon Jul 2 22:24:39 2012 +0200

    Added benchmarking for new and old Gauss Jordan
    
    New one uses one expression template, old one uses only for-loops.
    
    Columns are matrix size, number of columns to solve, times for CC=compiled
    cramer, GJ=Gauss Jordan, GO=Gauss-Jordan original, GI = Inversion using
    Gaussian Elimination, GE=Gaussian Elimination
    
    With expression templates:
    
    5       1       CC 7.6644e+05            GJ 1.7285e+06            GO 
2.1645e+06            GI 2.4628e+06            GE 3.9262e+06
    5       2       CC 6.3086e+05            GJ 1.7554e+06            GO 
2.2104e+06            GI 2.5163e+06            GE 3.2433e+06
    5       3       CC 6.1695e+05            GJ 1.7293e+06            GO 
2.2121e+06            GI 2.4963e+06            GE 3.0392e+06
    5       4       CC 6.0029e+05            GJ 1.7232e+06            GO 
2.1807e+06            GI 2.5291e+06            GE 2.7762e+06
    5       5       CC 5.8261e+05            GJ  1.708e+06            GO 
2.1957e+06            GI 2.5025e+06            GE 2.5117e+06
    5       6       CC 5.6543e+05            GJ 1.7279e+06            GE 
1.9314e+06            GO 2.1868e+06            GI 2.4621e+06
    5       7       CC 5.5679e+05            GJ 1.7185e+06            GE 
2.0633e+06            GO  2.115e+06            GI 2.4904e+06
    5       8       CC 5.7767e+05            GE 1.6429e+06            GJ 
1.7581e+06            GO 2.1534e+06            GI 2.4999e+06
    5       9       CC   5.72e+05            GE 1.3592e+06            GJ 
1.6981e+06            GO 2.1737e+06            GI 2.4708e+06
    5       10      CC 5.6332e+05            GJ 1.7067e+06            GE  
1.763e+06            GO 2.1519e+06            GI 2.4586e+06
    5       12      CC 5.3376e+05            GJ 1.2754e+06            GE 
1.5614e+06            GO 1.6611e+06            GI 1.7453e+06
    5       20      CC 5.0493e+05            GE  9.331e+05            GJ 
1.1374e+06            GO 1.4548e+06            GI 1.5952e+06
    5       40      CC   4.12e+05            GE 4.3131e+05            GJ 
5.6406e+05            GI 7.4054e+05            GO  7.505e+05
    5       78      GE 2.5214e+05            CC 2.9789e+05            GJ 
3.9018e+05            GO 4.9962e+05            GI 5.0047e+05
    5       140     GE 1.3277e+05            CC 2.1294e+05            GJ 
2.5211e+05            GI 3.1541e+05            GO   3.23e+05
    5       232     GE      86063            CC 1.4784e+05            GJ 
1.6944e+05            GO 2.1204e+05            GI 2.1537e+05
    5       360     GE      59055            CC 1.0481e+05            GJ 
1.1502e+05            GO  1.425e+05            GI 1.4432e+05
    
    Without:
    
    5       1       GJ 4.8445e+05            GO 6.2177e+05            CC 
7.7122e+05            GI 2.5299e+06            GE  3.951e+06
    5       2       GJ 4.8235e+05            GO 6.1925e+05            CC 
6.2655e+05            GI 2.4719e+06            GE 3.2761e+06
    5       3       GJ 4.5601e+05            GO 5.8622e+05            CC 
6.1124e+05            GI 2.4432e+06            GE 2.8037e+06
    5       4       GJ 4.7585e+05            CC 6.0067e+05            GO 
6.1337e+05            GE 2.4161e+06            GI 2.4969e+06
    5       5       GJ 4.7877e+05            CC 5.9774e+05            GO 
6.3102e+05            GI 2.5279e+06            GE 2.5661e+06
    5       6       GJ 4.8292e+05            CC 5.8053e+05            GO 
6.2227e+05            GE  1.991e+06            GI 2.5347e+06
    5       7       GJ  4.819e+05            CC 5.8384e+05            GO 
6.2127e+05            GE 1.6187e+06            GI 2.5325e+06
    5       8       GJ 4.7962e+05            CC 5.8196e+05            GO 
6.1711e+05            GE  2.024e+06            GI 2.4879e+06
    5       9       GJ 4.7947e+05            CC 5.5944e+05            GO 
6.2401e+05            GE 1.4241e+06            GI 2.1931e+06
    5       10      GJ 4.7445e+05            CC 5.5462e+05            GO 
6.1142e+05            GE 1.3793e+06            GI 2.4668e+06
    5       12      GJ 4.3644e+05            CC 5.5347e+05            GO 
5.6067e+05            GE 1.2444e+06            GI  1.756e+06
    5       20      GJ 4.2415e+05            CC 5.1604e+05            GO 
5.4856e+05            GE 9.4854e+05            GI 1.6084e+06
    5       40      GJ 3.0084e+05            GO 3.7784e+05            CC 
4.1927e+05            GE 4.4943e+05            GI 7.7645e+05
    5       78      GJ   2.38e+05            GE 2.5562e+05            CC 
3.0322e+05            GO 3.0877e+05            GI 5.1461e+05
    5       140     GE 1.3495e+05            GJ 1.7759e+05            CC 
2.1259e+05            GO 2.2626e+05            GI 3.1818e+05
    5       232     GE      88125            GJ 1.3026e+05            CC 
1.4991e+05            GO 1.6522e+05            GI 2.1233e+05
    5       360     GE      57078            GJ      95891            CC 
1.0654e+05            GO 1.2219e+05            GI 1.4443e+05
    
    Expression templates give a big speedup for both the new and old Gauss 
Jordan.
    This makes no sense.

commit 8ac2c02a6773953540660ae31ae9031d1e5da5db
Author: Edward Rosten <address@hidden>
Date:   Mon Jul 2 18:10:00 2012 +0200

    Fix ambiguous overloads in expression templates.
    
    problem was resolving between:
    
    operator*(const P1&, const vector<Dynamic, P2, B2>&);
    
    and
    
    operator*(const vector<S1,P1,B1>&, const vector<S2, P2, B2>&);
    
    Fixed using enable_if imported from boost.

-----------------------------------------------------------------------

Summary of changes:
 TooN.h                           |   19 ++++++
 benchmark/solve_ax_equals_b.cc   |   88 ++++++++++++++++++++++++++-
 internal/enable_if.h             |  123 ++++++++++++++++++++++++++++++++++++++
 internal/expression_templates.hh |   10 +++-
 internal/operators.hh            |   10 +++-
 5 files changed, 244 insertions(+), 6 deletions(-)
 create mode 100644 internal/enable_if.h


hooks/post-receive
-- 
toon



reply via email to

[Prev in Thread] Current Thread [Next in Thread]