dph-base-0.6.1.1: Data Parallel Haskell common config and debugging functions.

Safe HaskellSafe-Infered

Data.Array.Parallel.Base.TracePrim

Description

When tracePrimEnabled, DPH programs will print out what flat array primitives they're using at runtime. See tracePrim for details.

Synopsis

Documentation

tracePrim :: TracePrim -> a -> aSource

Print tracing information to console.

This function is used to wrap the calls to DPH primitives defined in dph-prim-par:Data.Array.Parallel.Unlifted

Tracing is only enabled when tracePrimEnabled is True. otherwise it's a no-op.

data TracePrim Source

Records information about the use of a flat array primitive.

These are the operator names that the vectoriser introduces.

The actual implementation of each operator varies depending on what DPH primitive library is being used.

We only trace operators that are at least O(n) in complexity.

Constructors

TraceReplicate 

Fields

traceCount :: Int
 
TraceRepeat 
TraceIndex 
TraceExtract 
TraceDrop 
TracePermute 

Fields

traceSrcLength :: Int
 
TraceBPermuteDft 

Fields

traceSrcLength :: Int
 
TraceBPermute 

Fields

traceSrcLength :: Int
 
TraceMBPermute 

Fields

traceSrcLength :: Int
 
TraceUpdate 
TraceAppend 

Fields

traceDstLength :: Int
 
TraceInterleave 

Fields

traceDstLength :: Int
 
TracePack 

Fields

traceSrcLength :: Int
 
TraceCombine 

Fields

traceSrcLength :: Int
 
TraceCombine2 

Fields

traceSrcLength :: Int
 
TraceMap 

Fields

traceSrcLength :: Int
 
TraceFilter 
TraceZipWith 
TraceFold 

Fields

traceSrcLength :: Int
 
TraceFold1 

Fields

traceSrcLength :: Int
 
TraceAnd 

Fields

traceSrcLength :: Int
 
TraceSum 

Fields

traceSrcLength :: Int
 
TraceScan 

Fields

traceSrcLength :: Int
 
TraceIndexed 

Fields

traceSrcLength :: Int
 
TraceEnumFromTo 

Fields

traceDstLength :: Int
 
TraceEnumFromThenTo 

Fields

traceDstLength :: Int
 
TraceEnumFromStepLen 

Fields

traceDstLength :: Int
 
TraceEnumFromStepLenEach 

Fields

traceDstLength :: Int
 
TraceMkSel2 

Fields

traceSrcLength :: Int
 
TraceTagsSel2 

Fields

traceDstLength :: Int
 
TraceIndicesSel2 

Fields

traceDstLength :: Int
 
TraceElementsSel2_0 

Fields

traceSrcLength :: Int
 
TraceElementsSel2_1 

Fields

traceSrcLength :: Int
 
TraceMkSelRep2 

Fields

traceSrcLength :: Int
 
TraceIndicesSelRep2 

Fields

traceSrcLength :: Int
 
TraceElementsSelRep2_0 

Fields

traceSrcLength :: Int
 
TraceElementsSelRep2_1 

Fields

traceSrcLength :: Int
 
TraceReplicate_s 

Fields

traceSrcLength :: Int
 
TraceReplicate_rs 
TraceAppend_s 

Fields

traceDstLength :: Int
 
TraceFold_s 

Fields

traceSrcLength :: Int
 
TraceFold1_s 

Fields

traceSrcLength :: Int
 
TraceFold_r 

Fields

traceSrcLength :: Int
 
TraceSum_r 

Fields

traceSrcLength :: Int
 
TraceIndices_s 

Fields

traceDstLength :: Int
 

Instances