Skip to content

Commit

Permalink
make branches/tags/trunk
Browse files Browse the repository at this point in the history
  • Loading branch information
briceboyer committed Aug 9, 2014
0 parents commit c32fc3c
Show file tree
Hide file tree
Showing 212 changed files with 52,364 additions and 0 deletions.
4 changes: 4 additions & 0 deletions AUTHORS
@@ -0,0 +1,4 @@
Jean-Guillaume Dumas <Jean-Guillaume.Dumas@imag.fr>
Pascal Giorgi <pascal.giorgi@univ-perp.fr>
Cl�ment Pernet <Clement.Pernet@imag.fr>

339 changes: 339 additions & 0 deletions COPYING

Large diffs are not rendered by default.

502 changes: 502 additions & 0 deletions COPYING.LESSER

Large diffs are not rendered by default.

68 changes: 68 additions & 0 deletions ChangeLog
@@ -0,0 +1,68 @@
2011-15-04 v1.4.0
* Convert project to autotools (à la LinBox et Givaro)
2008-06-05 v1.3.3
* fix the design of specializations to modular<double> modular<float>
* give a proper name to ModularBalanced
* fix the bugs in the bound computations (Winograd recursion over the
finite field was too deep)
* prepare the interface for integrating compressed representation for
small finite fields
2007-09-28 v1.3.2
* add routines fgetrs and fgesv (cf LAPACK), for system solving.
supports rectangular, over/underdetermined systems.
2007-08-29 v1.3.1
* add the benchmark directory, for automatic benchmarking against GOTO
and ATLAS BLAS. Adapted from Pascal Giorgi's benchmark system.
2007-08-28 v1.3.0
* new version of ftrmm ftrsm: ftrsm based on a multicascade algorithm
reducing the number of modular reductions). Automated generation of each
of the 48 specializations
* several bug fixes
* add regression tests: testeur_fgemm, testeur_lqup and testeur_ftrsm
2007-07-05 v1.2.2
* add a transposed version of the LQUP decomposition routine
LUdivine
* fix many bugs in LUdivine
* new schedules for Winograd algorithm for matrix multiplication:
2 cases depending whether beta = 0 or not, taken form [Huss
Ledermann & Al. 96]
* add rowEchelon and ReducedRowEchelon routines + associated tests
2007-06-21 v1.2.1
* add the use of float BLAS, if the field caradinality is small enough
* improve genericity: gemm can be use over any field domain (not
requiring any conversion to a integral representation)
* add a variant of Winograd's algorithm with less temporaries for
the operation C = AxB
* add ColumnEchelon and ReducedColumnEchelon routines, using an
inplace algorithm, based on the LQUP decompositon of LUdivine
* add routines ftrtri (replacing invL), ftrtrm.
* fix bunch of memory leaks in the tests (not yet finished)
2007-03-13 v1.1.2
* change the genericity system for trsm to detect Field
implementations over double (compatibility with LinBox)
2007-03-11 v1.1.1
* complete preconditioning phase for the new Charpoly algorithm
* new Charpoly algorithm renamed CharpolyArithProg
* add exception for failure of the LasVegas algrithm
* default charpoly is now: 2 attempts to CharpolyArithProg, then LUKrylov

2007-02-27 v1.1.0
* change some naming conventions in the directories
* add a LQUP routine for small dimension (LUdivine_small) and the
cascading with LUdivine
* put the bound computations in the same file
* add dense_generator.C for the generation of random dense
matrices in tests
* add the new algorithm for characteristic polynomial (temporarily
named frobenius)

2006-08-11 v1.0.1
* add the field implementation modular-positive.h, especially for
p=2
* add a the flag 'balanced' to the finite fields modular<double>,
to switch to the apropriate bound computation (fgemm and trsm)
* fix a bug in LUDivine LQUP elimination (initialisation of the
permutation P for N=1 in the terminal case)
* fix a bug in the determination of the number of recursive levels
of Winograd Algorithm.

11 changes: 11 additions & 0 deletions INSTALL
@@ -0,0 +1,11 @@
If you have blas available :
make ; make install ;
should install FFLAS-FFPACK.

If you need to compile tests, you'll probably need Givaro too.

The test directory is under big reconstruction, and so is the benchmark/.

Any help in documenting, coding is wellcome !

-- The FFLAS-FFPACK team.
68 changes: 68 additions & 0 deletions Makefile.am
@@ -0,0 +1,68 @@
# Copyright (c) 2011 FFLAS-FFPACK
# written by BB <bboyer@imag.fr>
# adapted from LinBox configuration
#
# ========LICENCE========
# This file is part of the library FFLAS-FFPACK.
#
# FFLAS-FFPACK is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
# ========LICENCE========
#/


ACLOCAL_AMFLAGS = -I macros

SUBDIRS=fflas-ffpack tests doc benchmarks macros optimiser


# include_HEADERS=fflas-ffpack-config.h
#!@todo add examples dir XXX

docs:doc/fflas-ffpack-html/index.html

doc/fflas-ffpack-html/index.html:
(cd doc; make docs)

docs_dev:doc/fflas-ffpack-dev-html/index.html

doc/fflas-ffpack-dev-html/index.html:
(cd doc; make docs_dev)

# examples:
# (cd examples; make examples)

benchmarks:
(cd benchmarks; make benchmarks)

uninstall-hook:
(test -d "$(includedir)/fflas-ffpack" && rm -rf \
"$(mandir)/man1" \
"$(mandir)" \
"$(includedir)/fflas-ffpack/fflas" \
"$(includedir)/fflas-ffpack/fflas/fflas_fgemm" \
"$(includedir)/fflas-ffpack/ffpack" \
"$(includedir)/fflas-ffpack/field" \
"$(includedir)/fflas-ffpack/utils" \
"$(includedir)/fflas-ffpack/" \
"$(datarootdir)/" \
) || true

.PHONY:examples benchmarks

bin_SCRIPTS=fflas-ffpack-config

VERSION=2.0.0

# EXTRA_DIST=incremente-versions
1 change: 1 addition & 0 deletions NEWS
@@ -0,0 +1 @@
no news is good news
29 changes: 29 additions & 0 deletions README
@@ -0,0 +1,29 @@
****** FFLAS-FFPACK : Finite Field Linear Algebra Subroutines/Package ******

Version 1.3.3

PURPOSE:

The FFLAS-FFPACK library provides functionalities for dense linear algebra
over word size prime finite field.

INSTALLATION:

see INSTALL

AVAILABILITY: from www-ljk.imag.fr/membres/Jean-Guillaume.Dumas/FFLAS/

REQUIREMENTS: A BLAS library: for ex. ATLAS (http://math-atlas.sourceforge.net/)

This library requires the GNU C++ compiler (gcc-3.0 or newer) or any
compiler supporting advanced template features.


==========================================================
The FFLAS-FFPACK website is www-ljk.imag.fr/membres/Jean-Guillaume.Dumas/FFLAS/

Please address your bug reports, suggestions and comments to
the discussion group http://groups.google.com/group/ffpack-devel

Last update : June 2008

36 changes: 36 additions & 0 deletions TODO
@@ -0,0 +1,36 @@
Repenser la structure de fgemm:
* plus de template, moins de tests
* templater DoubleDomain/FLoatDomain?
* plus rapide avec des petites matrices
* Meilleure strategie de calcul des parametres
* Automatic tuning des thresholds Float/Double

LUdivine
* Automatic tuning des thresholds gauss/LUdivine
* Plus de localite?

TRSM/TRMM
* Traitement automatique float/double depuis int
* Securiser les bornes t_update: quand winograd intervient
* remplacer BLAS-trsm par le code de reference de ATLAS

FTRTRI/FTRTRM
* generation automatique du code
* traitement des cas de base (seuil > 1)

Idee:
1/ Pourquoi templater FFLAS?
--> integration au sein de ATLAS (C et corps definitif)
2/ ameliorer les cas terminaux de ftrsm ftrmm: copier les ATL_reftrsm sur double et float
--> introduire un nouveau seuil dans trsm: celui ou on fait des boucles et pas de la recursivite
2/ Conversion des le debut vers modular double/float (evite les conv multiples)
3/ Implantations non template de fgemm, trsm, .... sur double
4/ Compilation des noyaux

A discuter en fonction du besoin d'un FFLAS generique


Verifier la validite avec modular<int> (sage r�vele des det faux)

Revoir la structure des bornes dans winograd: trop de reductions
modulaires quand il y a des etapes de wino dans le corps fini.

0 comments on commit c32fc3c

Please sign in to comment.