futhark-0.25.27: An optimising compiler for a functional, array-oriented language.

Safe Haskell | Safe-Inferred
Language | GHC2021

Futhark.Profile

Description

Profiling information emitted by a running Futhark program.

Synopsis

- data ProfilingEvent = ProfilingEvent {
  - eventName :: Text
  - eventDuration :: Double
  - eventDescription :: Text
  }
- data ProfilingReport = ProfilingReport {
  - profilingEvents :: [ProfilingEvent]
  - profilingMemory :: Map Text Integer
  }
- profilingReportFromText :: Text -> Maybe ProfilingReport
- decodeProfilingReport :: ByteString -> Maybe ProfilingReport

# Documentation

data ProfilingEvent Source #

A thing that has occurred during execution.

Constructors

ProfilingEvent |

Fields

- eventName :: Text

  Short, single line.

- eventDuration :: Double

  In microseconds.

- eventDescription :: Text

  Long, may be multiple lines.

#### Instances

Instances details

FromJSON ProfilingEvent Source # |
Instance details Defined in Futhark.Profile Methods parseJSON :: Value -> Parser ProfilingEvent Source # parseJSONList :: Value -> Parser [ProfilingEvent] Source #
ToJSON ProfilingEvent Source # |
Instance details Defined in Futhark.Profile Methods toJSON :: ProfilingEvent -> Value Source # toEncoding :: ProfilingEvent -> Encoding Source # toJSONList :: [ProfilingEvent] -> Value Source # toEncodingList :: [ProfilingEvent] -> Encoding Source #
Show ProfilingEvent Source # |
Instance details Defined in Futhark.Profile Methods showsPrec :: Int -> ProfilingEvent -> ShowS Source # show :: ProfilingEvent -> String Source # showList :: [ProfilingEvent] -> ShowS Source #
Eq ProfilingEvent Source # |
Instance details Defined in Futhark.Profile Methods (==) :: ProfilingEvent -> ProfilingEvent -> Bool Source # (/=) :: ProfilingEvent -> ProfilingEvent -> Bool Source #
Ord ProfilingEvent Source # |

Instance details

Defined in Futhark.Profile

Methods

compare :: ProfilingEvent -> ProfilingEvent -> Ordering Source #

(<) :: ProfilingEvent -> ProfilingEvent -> Bool Source #

(<=) :: ProfilingEvent -> ProfilingEvent -> Bool Source #

(>) :: ProfilingEvent -> ProfilingEvent -> Bool Source #

(>=) :: ProfilingEvent -> ProfilingEvent -> Bool Source #

max :: ProfilingEvent -> ProfilingEvent -> ProfilingEvent Source #

min :: ProfilingEvent -> ProfilingEvent -> ProfilingEvent Source #

data ProfilingReport Source #

A profiling report contains all profiling information for a single benchmark (meaning a single invocation on an entry point on a specific dataset).

Constructors

ProfilingReport |

Fields

- profilingEvents :: [ProfilingEvent]
- profilingMemory :: Map Text Integer

  Mapping memory spaces to bytes.

#### Instances

Instances details

FromJSON ProfilingReport Source # |
Instance details Defined in Futhark.Profile Methods parseJSON :: Value -> Parser ProfilingReport Source # parseJSONList :: Value -> Parser [ProfilingReport] Source #
ToJSON ProfilingReport Source # |
Instance details Defined in Futhark.Profile Methods toJSON :: ProfilingReport -> Value Source # toEncoding :: ProfilingReport -> Encoding Source # toJSONList :: [ProfilingReport] -> Value Source # toEncodingList :: [ProfilingReport] -> Encoding Source #
Show ProfilingReport Source # |
Instance details Defined in Futhark.Profile Methods showsPrec :: Int -> ProfilingReport -> ShowS Source # show :: ProfilingReport -> String Source # showList :: [ProfilingReport] -> ShowS Source #
Eq ProfilingReport Source # |
Instance details Defined in Futhark.Profile Methods (==) :: ProfilingReport -> ProfilingReport -> Bool Source # (/=) :: ProfilingReport -> ProfilingReport -> Bool Source #
Ord ProfilingReport Source # |

Instance details

Defined in Futhark.Profile

Methods

compare :: ProfilingReport -> ProfilingReport -> Ordering Source #

(<) :: ProfilingReport -> ProfilingReport -> Bool Source #

(<=) :: ProfilingReport -> ProfilingReport -> Bool Source #

(>) :: ProfilingReport -> ProfilingReport -> Bool Source #

(>=) :: ProfilingReport -> ProfilingReport -> Bool Source #

max :: ProfilingReport -> ProfilingReport -> ProfilingReport Source #

min :: ProfilingReport -> ProfilingReport -> ProfilingReport Source #

profilingReportFromText :: Text -> Maybe ProfilingReport Source #

Read a profiling report from a text containing JSON.

decodeProfilingReport :: ByteString -> Maybe ProfilingReport Source #

Read a profiling report from a bytestring containing JSON.