futhark-0.17.1: 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 along the stderr that was produced.

Constructors

DataResult String (Either Text ([RunResult], Text)) 

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

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 :: RunOptions -> 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.