packages feed

fpnla-examples-0.1: fpnla-examples.cabal

name:           fpnla-examples
version:        0.1
cabal-version:  >=1.8
build-type:     Simple
stability:      Experimental
author:         Pablo Perdomo, Mauro Blanco
synopsis:       Example implementations for FPNLA library
description:
    .
    This package provides many example implementations of the operations defined in package @fpnla@ using various data structures and algorithms.
    .
    IMPORTANT: Many algorithms are only partially implemented
    .
    The structures currently used are:
    .
    - @hmatrix@ <http://hackage.haskell.org/package/hmatrix>
    .
    - @vector@ <http://hackage.haskell.org/package/vector>
    .
    - @array@ <http://hackage.haskell.org/package/array>
    .
    - @repa arrays@ <http://hackage.haskell.org/package/repa>
    .
    - @accelerate arrays@ <http://hackage.haskell.org/package/accelerate>
    .
    - @array@ <http://hackage.haskell.org/package/array>
    .
    - Haskell lists <http://hackage.haskell.org/package/base-4.6.0.1/docs/Data-List.html>
    .
    Operations are parallelized using the @parallel@ framework (<http://hackage.haskell.org/package/parallel>), @Monad-Par@ (<http://hackage.haskell.org/package/monad-par>), @Repa@ (<http://hackage.haskell.org/package/repa>) and @Accelerate@ (<http://hackage.haskell.org/package/accelerate>). 
    .
tested-with:    GHC==7.6.3
maintainer:     Pablo Perdomo <pperdomo@fing.edu.uy>, Mauro Blanco <mblanco@fing.edu.uy>
license-file:   LICENSE
license:        BSD3
category:       Math, Parallelism

library
  hs-source-dirs:   src
  build-depends:    
                   base >= 4 && < 5,
                   deepseq >= 1.3.0.1,
                   accelerate >= 0.13.0.5,
                   fpnla,
                   array >= 0.4.0.1,
                   parallel >= 3.2.0.3,
                   hmatrix >= 0.14.1.0,
                   repa >= 3.2.3.3,
                   vector >= 0.10.0.1,
                   linear-algebra-cblas,
                   monad-par >= 0.3.4.2
  ghc-options:      -Wall -fno-warn-orphans -fno-warn-name-shadowing
  exposed-modules:  
                   FPNLA.Matrix.Instances.AccMatrix,
                   FPNLA.Matrix.Instances.ArrayMatrix,
                   FPNLA.Matrix.Instances.HMatrix,
                   FPNLA.Matrix.Instances.LLMatrixByCols,
                   FPNLA.Matrix.Instances.LLMatrixByRows,
                   FPNLA.Matrix.Instances.RepaMatrix,
                   FPNLA.Matrix.Instances.VectorMatrix,
                   FPNLA.Operations.BLAS.Strategies,
                   FPNLA.Operations.BLAS.Strategies.DOT.DefSeq,
                   FPNLA.Operations.BLAS.Strategies.DataTypes,
                   FPNLA.Operations.BLAS.Strategies.GEMM.Accelerate.DefPar,
                   FPNLA.Operations.BLAS.Strategies.GEMM.BlocksSeq,
                   FPNLA.Operations.BLAS.Strategies.GEMM.CBindSeq,
                   FPNLA.Operations.BLAS.Strategies.GEMM.DefSeq,
                   FPNLA.Operations.BLAS.Strategies.GEMM.MonadPar.BlocksPar,
                   FPNLA.Operations.BLAS.Strategies.GEMM.MonadPar.DefPar,
                   FPNLA.Operations.BLAS.Strategies.GEMM.MonadPar.StrassenMPar,
                   FPNLA.Operations.BLAS.Strategies.GEMM.MonadPar.StrassenPar,
                   FPNLA.Operations.BLAS.Strategies.GEMM.Strategies.BlocksPar,
                   FPNLA.Operations.BLAS.Strategies.GEMM.Strategies.DefPar,
                   FPNLA.Operations.BLAS.Strategies.GEMM.Strategies.StrassenPar,
                   FPNLA.Operations.BLAS.Strategies.GEMV,
                   FPNLA.Operations.BLAS.Strategies.SYRK.DefSeq,
                   FPNLA.Operations.BLAS.Strategies.SYRK.MonadPar.DefPar,
                   FPNLA.Operations.BLAS.Strategies.SYRK.Strategies.DefPar,
                   FPNLA.Operations.BLAS.Strategies.TRSM.BlocksByCols,
                   FPNLA.Operations.BLAS.Strategies.TRSM.BlocksByRows,
                   FPNLA.Operations.BLAS.Strategies.TRSM.CBindSeq,
                   FPNLA.Operations.BLAS.Strategies.TRSM.DefSeq,
                   FPNLA.Operations.BLAS.Strategies.TRSM.MonadPar.ColsPar,
                   FPNLA.Operations.BLAS.Strategies.TRSM.Strategies.ColsPar,
                   FPNLA.Operations.LAPACK.Strategies,
                   FPNLA.Operations.LAPACK.Strategies.DataTypes,
                   FPNLA.Operations.LAPACK.Strategies.POTRF.BlocksSeq,
                   FPNLA.Operations.LAPACK.Strategies.POTRF.DefSeq,
                   FPNLA.Operations.LAPACK.Strategies.POTRF.HMatrixBindSeq,
                   FPNLA.Operations.LAPACK.Strategies.POTRF.Repa.BlocksPar,
                   FPNLA.Operations.LAPACK.Strategies.POTRF.Repa.DefPar,
                   FPNLA.Operations.Utils,
                   FPNLA.Utils

test-suite test-fpnla-blas
  type:            exitcode-stdio-1.0
  ghc-options:     -Wall -rtsopts -fno-warn-orphans
  build-depends:   base >= 4, 
                   HUnit >= 1.2 && < 2, 
                   QuickCheck >= 2.4, 
                   test-framework >= 0.4.1, 
                   test-framework-quickcheck2, 
                   test-framework-hunit,
                   data-default,
                   tagged,
                   time,
                   random,
                   fpnla,
                   fpnla-examples,  
                   deepseq,
                   accelerate,
                   array,
                   parallel,
                   hmatrix,
                   repa,
                   vector,
                   linear-algebra-cblas,
                   monad-par
  hs-source-dirs:  src-test
  main-is:         TestBLAS.hs
  extra-lib-dirs:  /usr/lib
  other-modules:   TestBase

test-suite test-fpnla-lapack
  type:            exitcode-stdio-1.0
  ghc-options:     -Wall -rtsopts -fno-warn-orphans
  build-depends:   base >= 4, 
                   HUnit >= 1.2 && < 2, 
                   QuickCheck >= 2.4, 
                   test-framework >= 0.4.1, 
                   test-framework-quickcheck2, 
                   test-framework-hunit,
                   data-default,
                   tagged,
                   time,
                   random,
                   fpnla,
                   fpnla-examples,  
                   deepseq,
                   accelerate,
                   array,
                   parallel,
                   hmatrix,
                   repa,
                   vector,
                   linear-algebra-cblas,
                   monad-par
  hs-source-dirs:  src-test
  main-is:         TestLAPACK.hs
  extra-lib-dirs:  /usr/lib
  other-modules:   TestBase