[libm4rie] annotated tag upstream/20150908 created (now bdc523d)

Julien Puydt julien.puydt at laposte.net
Sat May 21 20:14:36 UTC 2016


This is an automated email from the git hooks/post-receive script.

jpuydt-guest pushed a change to annotated tag upstream/20150908
in repository libm4rie.

        at  bdc523d   (tag)
   tagging  7a6cde28c221c96b1423e7984bcb6766bb37c22d (commit)
 tagged by  Julien Puydt
        on  Sat May 21 20:47:55 2016 +0200

- Log -----------------------------------------------------------------
Upstream version 20150908

Cédric Boutillier (1):
      Imported Upstream version 20140914

Julien Puydt (1):
      Imported Upstream version 20150908

Martin Albrecht (190):
      starting M4RIE library for linear algebra over GF(2^n) for small n.
      added stubs for functions that need to be implemented
      implemented two tables in mzed_echelonize_travolta()
      implemented 6 grease tables for elimination
      added top level echelonize command which picks an algorithm
      adding fast code for add_multiple_of_row for 16-bit wide words
      adding configure in order to be able to test on systems with old autoconf
      same for install-sh
      do not enforce autoconf version
      using M4RI tuning parameters in mzed_echelonize_travolta
      implemented most of the  trivial functions
      adding Makefile, ignoring configure
      using four travolta tables in multiplication now
      naive multiplication for comparison
      added test code for multiplication, implemented more small functions
      implemented add_multiple_of_row for width == 2
      implemented cache optimisation and disabled it in most cases since it is slower in general
      peform slightly less work in mzed_make_table (avoid 0 and 1)
      fixing a bug in r16 where L wasn't updated
      fixing memory leaks in test code
      adding libm4ri as a dependency for libm4rie
      Cygwin requires no-undefined (and we have no undefined symbols)
      implemented strassen multiplication
      adding tuning parameters for strassen
      more robust cache tuning by increasing the number of trials
      adapted Strassen cutoff to use cache sizes
      implemented Karatsuba multiplication for bitsliced representations of dense matrices over GF(2^2)
      some refactoring and making functions more readable (hopefully)
      performance improvement: don't slice/cling words which are zero
      use Karatsuba for GF(2^2) it is always better
      improved speed of cache tuning seems to give good results on prai243,road,eno,iras,redhawk,t2
      cleaned up build targets (especially bench/)
      new release
      Added tag release-20100817 for changeset 27f53a7570aa
      fixing two issues with the building of bench_elimination
      disable default building of benchmarking binaries, they cause problems
      adapted to work with recent M4RI bit order reversal
      adapted to work with hg tip of M4RI
      imported updated cache tuning from M4RI
      remove cache size detection and SSE detection and rely on M4RI
      Added tag release-20110715 for changeset 05db9d68bf61
      Added tag release-20110601 for changeset f2b76762cd70
      mzd_slice_t datatype and first utility functions
      mzd_slice4 for slicing degree 3 and 4
      revised configure & makefiles to allow --with-m4ri and --with-givaro (needs more testing)
      revised benchmarketing code to be easier to build
      adding bench_smallops (for now: slicing and clinging)
      force rpath to the right M4RIE
      10% or so faster slicing
      slicing & clinging for k=2,3,4
      cosmetic stuff
      more cosmetic stuff
      and yet more whitespace stuff
      improved memory consumption of karatsuba over GF(4)
      adapted hierarchy of karatsuba functions in preparation for karatsuba for GF(4) and GF(8)
      karatsuba for GF(8)
      switching size_t to rci_t
      fixed addmul!
      better tests + bugfixes for multiplication
      new function mzed_mul_scalar which performs scalar scaling of a matrix (fixes #9)
      faster smallops tests
      Added tag release-20110821 for changeset fe6dab8a9bb4
      Removed tag release-20110821
      fix a typo mzed_mul_scalar (fixes #10)
      Added tag release-20110821 for changeset dd06c345824f
      fixed compiler warnings about wrong types
      karatsuba multiplication for 2^4 and less memory consumption for 2^3
      improved memory consumption for GF(2^4) Karatsuba from 9 to 7 temporaries
      better benchmarketing
      TRSM lower left for mzed_t: X = ~L * B
      trsm lower_left templated (for mzd_slice_t and mzed_t)
      added mzed_add to bench_smallops
      better benchmarkteting for trsm
      refactored templating stuff for easier re-use
      fixed but in add multiple of rows
      more fixes to mzed_add_multiple_of_row()
      better test_elimination
      implemented naive PLE decomposition
      documentation updated
      adding canary (cf., stack protection) to detect buffer overfows (i.e., algorithms writing past ncols)
      asymptotically fast PLE decomposition + travolta PLE
      faster mzed_rescale_row
      better PLE tests
      merge
      documentation update
      bench_ple added
      better help for bench_ple/bench_trsm
      better complexity feedback + fixed bug in _mzed_mul_karatsuba
      gf2e_t16_init()/free() for construction/destruction of 16-bit multiplication tables
      TRSM upper left
      PLUQ, better support for offsets, much faster TRSM
      faster trsm upper left + better PLE crossovers
      slightly faster mzed_make_table
      performance enhancements for ple
      fixed ple cutoff
      slightly more sensible benchmarking Makefile
      use m4ri_mm_malloc/free instead of malloc/free
      TRSM lower left with Travolta tables
      bugfix in mzed_add_multiple_of_row
      mzed_echelonize_ple() implemented and passes tests
      travolta table creation in k MUL + 2^k ADD instead of 2^k MUL
      use ple in echelonform
      don't use bitmask begin in clinging/slicing: it didn't work properly, we don't need it, it costs cycles
      ignore more stuff like Makefiles
      slicing that isn't totally naive (clinging yet to do)
      matrix_trsm_upper_left_travolta
      allow type in bench_elimination
      define mzd_slice_echelonize (alias for mzd_slice_echelonize_ple)
      allow type argument in bench_multiplication
      removed old cold & renamed some internal functions for slicing
      clinging (2-4) that doesn't totally suck
      DNDEBUG in bench
      whitespace changes for more readability
      more compact slicing/clinging
      copy less in echelonform.c
      pass M4RI's SIMD and OpenMP flags to compiler
      add a test for one particular if branch + asserts
      changing version number for upcoming release
      simple re-arrangement
      allow benching for trsm_upper_left
      played with the cutoffs for nicer scaling
      Added tag release-20111004 for changeset d1d724d9545a
      table creation got cheaper and hence blocks make sense now
      slicing/clinging for e<=8
      refactored: clinging/slicing in conversion
      naive polynomial multiplication for bitsliced matrices
      Karatsuba for e=5
      Karatsuba for deg 8
      unified strassen cutoff
      use rpath for test_* to make sure the right version of the library is used
      Karatsuba for GF(2^6)
      saving memory in karatsuba multiplication
      Karatsuba for GF(2^7), i.e. for all e <= 8
      using less temporary memory for Karatsuba for GF(2^4)
      added more documentation and first steps toward Travolta => Newton-John
      wrote a lot of documentation
      mzd_slice_mul_scalar
      adding a softlink m4rie -> src
      remove -lntl, it's not needed
      replaced nonstandard __STRING(x) with #x
      degrees are small, hence ints
      avoid new/delete in testing code (caused problems on cicero)
      fixed memleak in test_smallops
      bitmasks should be unsigned
      fixed a memleak
      make sure the canary does not set bits which are expected to be zero (e.g. in lockup tables)
      this prevents a segfault on cicero with GCC 4.6.1 (and I'm too lazy right now to properly debug this)
      changed library version to 20111203
      Added tag release-20111203 for changeset e6bd45516c69
      refactoring: renamed files to match names of main structs in them
      more compact docstrings & fixed single include directives
      refactored: mzd_poly added (for now internal-ish stuff)
      fixed includes to work with development version of M4RI
      use unsigned ints for degrees everywhere
      removed a bit of dead code scan-build reported
      Added tag release-20120415 for changeset 8245cd046d86
      reserve enough pointers for finite fields in testsuite
      Removed tag release-20120415
      Added tag release-20120415 for changeset 83b1a73e827a
      Removed tag release-20120415
      Added tag release-20120415 for changeset 4c2e04ec11a4
      don't divide by arbitrary constants in cycle count
      be more indifferent about Givaro versions
      changed all includes to <m4rie/blah.h> so that -I$INCLUDEDIR is enough
      continuation of previous patch (forgot to save files)
      library version updated to 20120415
      I am stupid and I don't close by brackets
      preparation for next (bugfix) release
      use autotools' release mechanisms to avoid release fuck-up's
      don't use rpath in TESTS on Makefile.am, Solaris chokes on this.
      "make dist" should produce something that works now
      "make check" now works with "make dist" created tarballs
      added gf2e_init(minpoly)
      small bugfixes
      removed dependency on Givaro for finite field creation
      dropping inversion tables from gf2e
      added gf2e_mul() and started moving functions over
      moved to ff->mul from explicit multiplication tables
      added first tests for degrees > 10
      more tests for degrees > 10 and <= 16
      avoid mzd_set_ui() in table creation
      conversion mzed_t <=> mzd_slice_t for up to degree 16
      fixed typos
      fixed typo in comment
      added naive polynomial multiplication
      updating library version 20121224
      Added tag release-20121224 for changeset 621cc82cee2a
      split conversion into several files to make it easier to compile M4RIE on machines with low RAM
      preparing for upcoming release
      Added tag release-20130416 for changeset 749b26c9affd

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

No new revisions were added by this update.

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/libm4rie.git



More information about the debian-science-commits mailing list