Skip to content
Jean-Guillaume Dumas edited this page Jun 26, 2019 · 13 revisions

Planning LinBoxODK

Priority: Dixon lifting

  • clean-up solutions/solve.h [SV1]
    • test-suite [SV2]
    • bench-suite [SV3]
  • [clean-up] Dixon lifting sequentiel [L1]
    • [new algo/ cleanup] solution Hadamard and limit num,den of solution of linear system [H1]
    • (Parallelization OMP, very low priority) [H1.1]
    • [cleanup] ratreconstruct [R1]

Dense

  • [new algo] implem Dixon-CRT-BLAS3 à la IML sequential (Chen-Storjohann) :
    • [D1a] plusieurs nombres premiers, regrouper les A*b dans Z pour utiliser fgemm
    • [D1b] LLL (lattice reduction) pour la reconstruction finale
  • [parallelization] Dixon-CRT-BLAS3 with OMP (paladin within [D1a] result) [D2]

Sparse

  • [parallelization] Dixon generic OMP (Wiedemann, sparseGauss) (lesser priority) [C1]
  • [algo] improve sparseGauss seq (move SPASM in LinBox) [C2]

Parallelization MPI

  • serialization -> done [M1]
  • communicator basé sur sérialization -> [M2]
  • [cleanup] finir la passe de cleanup sur solveCRAMPI [M3]
  • [parallelization] Cleanup faire marcher CRA-OMP [M4]
  • [parallelization] CRAMPI au niveau noeud (appel un autre algo seq ou OMP sur chaque noeud, par ex CRA-OMP ou Dixon-CRT-BLAS3) [M5]

Integration of parallel computation in Sage

  • exposer FFLAS-Paladin dans Sage fgemm, PLUQ, [SG1]
  • exposer LinBox parallel (OMP en priorité) dans SAge: ratsolve, (smith) [SG2]

Priorité moindre:

  • reduction simultanée de A mod p1,p2, .. pk + parallelization [MP1]
  • reconstruction CRT parallélisée [MP2]

Benchmarks

  • Reflechir à des use-case pour des dimensions types. [B1]
  • benchs et expe [B2]

Upcoming tasks

  • Alexis: [M1] [M2] [M3] [H1] [SV2] [SV1] [R1]
  • Zhu: [M3] [M4] [M5] [D2] [B1] [SV3]
  • Group (CP, JGD, AB, HZ): [L1] [D1]

Milestones:

  • T1: 05/12/2018 [M1,M2]
  • T2: 16/01/2019 [H1]
  • T3: 13/02/2019 [SV1,SV2,SV3] [M3, M4] [M5] [B1]
  • T4: 06/03/2019 [L1] [SG1]  
  • T5: 03/04/2019 [D1,D2] [SG2] ([MP1,MP2]) ([R1])
  • T6: 02/05/2019 [C1,C2] [B1] [B2]

Effective:

  • 27/03/2019:
    • DONE: [H1] [M1,M2,M3]
    • CANCEL: [M4,M5]
    • REVIEW: [SV1,SV2]
    • WIP: [SV3] [SG1] [B2]
    • TODO: [L1,R1] [D1,D2] [C1,C2] [SG2] [B1] ([MP1,MP2])
  • REORG ?
    • 03/04/2019 : [SV3] [SG1]
    • 02/05/2019 : [L1] [SG2]
    • 03/06/2019 : [R1] [D1a]
    • 01/07/2019 : [D2] [D1b]
    • 01/08/2019 : [B1,B2]
    • 31/08/2019 : [C1,C2]

-03/05/2019

  • 03/04/2019 : [SV3]
  • 02/05/2019 : [L1]
  • 03/06/2019 : [R1] [SG1] [D1a]
  • 01/07/2019 : [SG2] [D2] [D1b]
  • 01/08/2019 : [B1,B2]
  • 31/08/2019 : [C1,C2]

26/06/2019 Livrables ODK:

  • D5.9 LB parallel to Sage (supprimé et mergé dans 5.14)
  • D5.12 Releases
  • D5.14 Exact LinAlg on distrib. and heterogeneous: ex. Rat Solve
  • D3.11 HPC enabled Sage distrib.

DONE:

  • [SV1,SV2,SV3] Solve clean/test/bench --> Dense D5.14
  • [M1,M2,M3] CRAMPI --> D5.14
  • [L1,H1] Dixon/Hadamard --> D5.12
  • [SG1] pFFLAS dans Sage --> D3.11

WIP:

  • [D1a,D2] MultiMod --> D5.14
  • [R1] RatRecon --> D5.12
  • [B1,B2] use-case / bench/expé --> D5.14

CANCEL:

  • [M4,M5] CRAOMP, CRAHybrid
  • [C1,C2] SparseGauss
  • [SG2] par LB dans Sage
  • [MP1,MP2] par simul. reduc / par CRT recon

Planning été:

Zhu 👍

  • [B1,B2] sur [M1,M2,M3] et [M4,M5] : tout M à exposer/nettoyer/benchmark + courbes
  • courbes sur hpac + luke's : maximum de noeuds et coeurs
  • FFLAS-cuBLAS : revival --> macros m4, benchmark-fgemm avec le dgemm de cuBLAS + README

Alexis 👍

  • [B1,B2] sur [D1,D2] et [M5] : idem + comparaisons avec CRA sur SMP
Clone this wiki locally