futhark-0.25.1: An optimising compiler for a functional, array-oriented language.
Safe HaskellSafe-Inferred
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
FromJSON RunResult Source # 
Instance details

Defined in Futhark.Bench

ToJSON RunResult Source # 
Instance details

Defined in Futhark.Bench

Show RunResult Source # 
Instance details

Defined in Futhark.Bench

Eq 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.

Constructors

DataResult Text (Either Text Result) 

Instances

Instances details
Show DataResult Source # 
Instance details

Defined in Futhark.Bench

Eq DataResult Source # 
Instance details

Defined in Futhark.Bench

data BenchResult Source #

The results for all datasets for some benchmark program.

Instances

Instances details
Show BenchResult Source # 
Instance details

Defined in Futhark.Bench

Eq BenchResult Source # 
Instance details

Defined in Futhark.Bench

data Result Source #

The measurements resulting from various successful runs of a benchmark (same dataset).

Constructors

Result 

Instances

Instances details
FromJSON Result Source # 
Instance details

Defined in Futhark.Bench

ToJSON Result Source # 
Instance details

Defined in Futhark.Bench

Show Result Source # 
Instance details

Defined in Futhark.Bench

Eq Result Source # 
Instance details

Defined in Futhark.Bench

Methods

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

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

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.