Accelerate mit Ausnahmen qualified import, Berechnung in Modul DCB.hs
This commit is contained in:
parent
a307457e16
commit
a4096b66ab
63
src/DCB.hs
Normal file
63
src/DCB.hs
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
-----------------------------------------------------------------------------
|
||||||
|
--
|
||||||
|
-- Module : DCB
|
||||||
|
-- Copyright :
|
||||||
|
-- License : AllRightsReserved
|
||||||
|
--
|
||||||
|
-- Maintainer :
|
||||||
|
-- Stability :
|
||||||
|
-- Portability :
|
||||||
|
--
|
||||||
|
-- |
|
||||||
|
--
|
||||||
|
-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
module DCB where
|
||||||
|
|
||||||
|
--import Stream hiding (map) --same as Data.Stream imported above?
|
||||||
|
import Data.Array.Accelerate (Z(..), DIM1, DIM2, DIM3, Scalar, Vector, (:.)(..), Array,
|
||||||
|
Int8, Int, Float, Double, Acc, Exp, Elt)
|
||||||
|
import qualified Data.Array.Accelerate as A
|
||||||
|
-- change to Data.Array.Accelerate.CUDA as I and link accelerate-cuda to use GPU instead of CPU
|
||||||
|
-- depends on accelerate-cuda package in cabal, which needs the installed CUDA-stuff form
|
||||||
|
-- nVidia (nvcc, header-files, ...) and the propriatary driver
|
||||||
|
import Data.Array.Accelerate.Interpreter as I
|
||||||
|
type Matrix e = Array DIM2 e
|
||||||
|
|
||||||
|
type Attr = Matrix Double
|
||||||
|
-- Adjecency-Matrix
|
||||||
|
type Adj = Matrix Int8
|
||||||
|
-- Vector of the Adjecency-Matrix
|
||||||
|
type AdjV = Vector Int8
|
||||||
|
newtype Constraints = Matrix Double
|
||||||
|
-- Graph consists of a Vector denoting which colums of the matrix represents wich originating
|
||||||
|
-- column in the global adjencency-matrix, the reduces adjencency-matrix of the graph, a
|
||||||
|
-- matrix of constraints and a scalar denoting the density
|
||||||
|
type Density = Scalar Float
|
||||||
|
|
||||||
|
-- Graph
|
||||||
|
type Graph = (Vector Int8, Adj, Constraints, Density)
|
||||||
|
|
||||||
|
-- Vector of Graphs
|
||||||
|
type MultiGraph e = (Vector Int8, Array DIM3 e, Constraints, Density)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
expand :: Acc (MultiGraph Int8)-> Acc Adj -> Acc Attr -> Acc (MultiGraph Int8)
|
||||||
|
expand g a att = undefined
|
||||||
|
|
||||||
|
-- constraint gets a Graph and an Attribute-Matrix and yields true, if the Graph still fulfills
|
||||||
|
-- all constraints defined via the Attribute-Matrix.
|
||||||
|
constraint :: Acc Graph -> Acc Attr -> Acc (Scalar Bool)
|
||||||
|
constraint g a = undefined
|
||||||
|
|
||||||
|
|
||||||
|
-- addPoint gets a graph and a tuple of an adjecancy-Vector with an int wich column of the
|
||||||
|
-- Adjacency-Matrix the Vector should represent to generate further Graphs
|
||||||
|
addPoint :: Acc Graph -> Acc (Adj, (Scalar Int)) -> Acc (MultiGraph Int8)
|
||||||
|
addPoint g a = undefined
|
||||||
|
|
||||||
|
|
||||||
|
-- addablePoints yields all valid addititonsto a Graph
|
||||||
|
addablePoints :: Acc Adj -> Acc Graph-> Acc (Vector Int8)
|
||||||
|
addablePoints a g = undefined
|
Loading…
Reference in New Issue
Block a user