futhark-0.20.0: An optimising compiler for a functional, array-oriented language.
Safe HaskellNone
LanguageHaskell2010

Futhark.Bench

Description

Facilities for handling Futhark benchmark results. A Futhark benchmark program is just like a Futhark test program.

Synopsis

Documentation

newtype RunResult Source #

The runtime of a single succesful run.

Constructors

RunResult 

Fields

Instances

Instances details
Eq RunResult Source # 
Instance details

Defined in Futhark.Bench

Show RunResult Source # 
Instance details

Defined in Futhark.Bench

ToJSON RunResult Source # 
Instance details

Defined in Futhark.Bench

FromJSON RunResult Source # 
Instance details

Defined in Futhark.Bench

data DataResult Source #

The results for a single named dataset is either an error message, or runtime measurements, the number of bytes used, and the stderr that was produced.

Instances

Instances details
Eq DataResult Source # 
Instance details

Defined in Futhark.Bench

Show DataResult Source # 
Instance details

Defined in Futhark.Bench

data BenchResult Source #

The results for all datasets for some benchmark program.

Instances

Instances details
Eq BenchResult Source # 
Instance details

Defined in Futhark.Bench

Show BenchResult Source # 
Instance details

Defined in Futhark.Bench

data Result Source #

Constructors

Result 

Instances

Instances details
Eq Result Source # 
Instance details

Defined in Futhark.Bench

Methods

(==) :: Result -> Result -> Bool #

(/=) :: Result -> Result -> Bool #

Show Result Source # 
Instance details

Defined in Futhark.Bench

ToJSON Result Source # 
Instance details

Defined in Futhark.Bench

FromJSON Result Source # 
Instance details

Defined in Futhark.Bench

encodeBenchResults :: [BenchResult] -> ByteString Source #

Transform benchmark results to a JSON bytestring.

decodeBenchResults :: ByteString -> Either String [BenchResult] Source #

Decode benchmark results from a JSON bytestring.

binaryName :: FilePath -> FilePath Source #

The name we use for compiled programs.

benchmarkDataset :: Server -> RunOptions -> FutharkExe -> FilePath -> Text -> Values -> Maybe Success -> FilePath -> IO (Either Text ([RunResult], Text)) Source #

Run the benchmark program on the indicated dataset.

data RunOptions Source #

How to run a benchmark.

Constructors

RunOptions 

Fields

prepareBenchmarkProgram :: MonadIO m => Maybe Int -> CompileOptions -> FilePath -> [InputOutputs] -> m (Either (String, Maybe ByteString) ()) Source #

Compile and produce reference datasets.

data CompileOptions Source #

How to compile a benchmark.