Skip to content

Adding multiple parameters in implementation.json

HF edited this page Mar 23, 2016 · 2 revisions

Single parameter

If a program only has one parameter, the configuration of "runner-arguments" is simple.

"runner-arguments": [
    { "expand": "/experiment/input-size" }
]

Multiple paramters

However, it is more common that a program may have more than one parameters. To make the configuration file clear, we introduce the "path" along side with expand to specify the designated parameters for the program. Here is an example below with two parameters: parameter1 and parameter2.

"runner-arguments": [
        {   
            "expand": "/experiment/input-size",
            "path": "/parameter1"
        },  
        {   
            "expand": "/experiment/input-size",
            "path": "/parameter2"
        }
    ],  

With additional data files

If there are data files in your program like this:

fileID = fopen('image.data', 'r');
...

The wu benchmark doesn't copy the data file, instead it simply passes the directory of data files. Therefore, it is recommended to change the constant string name to a variable which is prompted to a parameter later. In the example below, we could change 'image.data' to image_file which becomes a new parameter in there example. To see the complete example, please check Ostrich2/pagerank.

"runner-arguments": [
        {   
            "expand": "/experiment/input-size",
            "path": "/nb-pages"
        },  
        {   
            "expand": "/experiment/input-size",
            "path": "/nb-iterations"
        },  
        {   
            "expand": "/experiment/input-size",
            "path": "/threshold"
        },  
        {   
            "expand": "/experiment/input-size",
            "path": "/divisor"
        },  
        { "file": "./pagerank.data"}
    ],  

Table of Contents

  • Introduction
    • Terminology | [Conventions](Benchmark Organization Conventions)
  • Installation
  • [Configuration](Add local platform information)
  • Contribution
    • [Add a new benchmark](Adding a new benchmark and implementation to an existing suite)
    • [Configure implementation.json](Adding multiple parameters in implementation.json)
    • [Add a new compiler](Adding a new compiler) // To-do
    • [Add a new implementation](Adding a new implementation) // To-do
  • Development // To-do
    • [Work with commands](Work with commands)
    • [Customize jobs](Customize jobs)

Clone this wiki locally