Difference: HowToGuides (1 vs. 16)

Revision 142011-04-06 - mavc

Line: 1 to 1
 

How-To Guides

Added:
>
>

Using R

Apr 6, 2011

Installing R and RServe

Running RServe

see http://rosuda.org/Rserve/doc.shtml

  1. Command line: R CMD Rserve --RS-conf <config file>
    • config file must have the following line: remote enable
 

Running ExperimentRunner

Mar 28, 2011
  1. If you have access, clone the git repository located at ssh://[name]@okanagan.cs.ubc.ca/ubc/cs/project/arrow/git/smac.git - the experiment runner is

Revision 132011-03-28 - mavc

Line: 1 to 1
 

How-To Guides

Running ExperimentRunner

Changed:
<
<
Jan 28, 2011
  1. Clone the git repository located at ssh://[name]@okanagan.cs.ubc.ca/ubc/cs/project/arrow/git/smac.git - the experiment runner is currently only located in the [smac working copy] branch. The files are also available from /ubc/cs/project/arrow/mavc/workspace/smac/
  2. You will need a directory with the following directories or links:
>
>
Mar 28, 2011
  1. If you have access, clone the git repository located at ssh://[name]@okanagan.cs.ubc.ca/ubc/cs/project/arrow/git/smac.git - the experiment runner is currently only located in the [smac working copy] branch. The files are temporarily available from /ubc/cs/project/arrow/mavc/halspace/
  2. You will want to have a directory with the following directories or links:
 
    • algorithms/ containing algorithm executables/wrappers.
    • features/ containing .csv instance feature files.
    • instances/ containing instances.
Added:
>
>
    • scenarios/ containing JSON scenario files.
 
    • targetalgs/ containing target algorithm wrappers.
Changed:
<
<
These are all available from /ubc/cs/project/arrow/mavc/workspace/smac/
>
>
    • These are temporarily available from /ubc/cs/project/arrow/mavc/halspace
 
  1. Set the db name.
    • If you used a MySQL Database, you will need to get the MySQL plugin from the HAL Website ssh://[name]@okanagan.cs.ubc.ca/ubc/cs/project/arrow/git/mysql-hal.git
Line: 22 to 23
 
    1. Running on Westgrid: See Running on Westgrid
  1. The Experiment Runner requires classes from HAL. You can grab HAL from ssh://[name]@okanagan.cs.ubc.ca/ubc/cs/project/arrow/git/hal.git
  2. Export jar to the directory structure, from right-click -> export -> Runnable Jar. This requires a Run Configuration, which you can
Changed:
<
<
create by running ExperimentRunner.java from Eclipse. Alternatively, run it from Eclipse.
  1. Run the .jar with the command java -Xmx[##] -jar experimentrunner.jar
    • [##] Set this to a reasonable number (e.g. -Xmx512m or -Xmx1g)
>
>
create by running CmdLineExperimentRunner.java from Eclipse. Alternatively, run it from Eclipse with the appropriate Run Configuration.
  1. Run the .jar with the command java -jar .jar [options]. Running with no options provided will print a usage statement.
 

Running Locally

Added:
>
>
  • The MCR library must be on the java library path.
    • With bash: export LD_LIBRARY_PATH = /cs/local/lib/pkg/matlab-7.10/runtime/glnxa64/ (or the appropriate path for your installation).
    • With csh : setenv LD_LIBRARY_PATH /cs/local/lib/pkg/matlab-7.10/runtime/glnx86/
  • Note that the MCR is version-dependent. It will not work with alternate versions of matlab.
 

Running on Arrow

Changed:
<
<
  • Some considerations for running on Arrow
    1. Using the correct SSHExecutionManager for the HAL environment.
>
>
  • We don't support this directly. See Frank's script /ubc/cs/project/arrow/hutter/hal/runOnCluster.rb for an example of how to do this.
 

Running on Westgrid

  • There are some special considerations for running on Westgrid
Changed:
<
<
    1. Installing Ruby (for ParamILS and wrapper scripts)
    2. Installing MCR (for SMAC)
    3. Setting up Directory Structure
>
>
    1. Installing ruby (for ParamILS and wrapper scripts)
    2. Installing MCR (for SMAC). The MCR installer can be located in the following locations:
      1. /cs/local/lib/pkg/matlab-7.10/toolbox/compiler/deploy/glnx86/MCRInstaller.bin
      2. /cs/local/lib/pkg/matlab-7.10/toolbox/compiler/deploy/glnxa64/MCRInstaller.bin
    3. Setting up Directory Structure - see above.
  • Mathworks recommends the following for linux:
			*		 setenv LD_LIBRARY_PATH  
								<MCR_ROOT>/bin/glnx86:
								<MCR_ROOT>/sys/os/glnx86:
								<MCR_ROOT>/sys/java/jre/glnx86/jre1.4.2/lib/i386/client:
								<MCR_ROOT>/sys/java/jre/glnx86/jre1.4.2/lib/i386:
								<MCR_ROOT>/sys/opengl/lib/glnx86:${LD_LIBRARY_PATH}

			*		 setenv XAPPLRESDIR <MCR_ROOT>/X11/app-defaults
 

Monitoring with Hal

Changed:
<
<
  1. Start HAL with the command * java -jar hal.jar *. This will create a Hal.json file.
>
>
  1. Start HAL with the command java -jar hal.jar. This will create a hal.json file.
 
  1. Modify the JSON file and change the database name if necessary.
  2. Add the necessary plugins to the plugins/ folder.
    1. MySQL:
Deleted:
<
<
    1. ROAR:
 
    1. SMAC:
  1. After you start HAL with the right database, you can monitor your jobs through http://localhost:8080/hal/

Westgrid Quick Start

Added:
>
>

Getting a Westgrid account

Getting files onto Westrid

Submitting jobs to Westgrid

 

Matlab Builder JA Quick Start

See attached user guide
Line: 90 to 106
  Pass by reference is available with the MWJavaObjectRef wrapper, a subclass of MWArray.
Changed:
<
<

HAL quick start guide

version 1.0b4 Nov. 29, 2010

NOTE: this quite is very much a work-in-progress. If you have any isses that aren't covered here, or any other comments or questions, please contact us at cnell@csDELETEthisTEXT.ubc.ca

Super quick start (linux only):

- download full HAL 1.0 zip distribution; install using below instructions. - download sample experiment package; import using the HAL 1.0 interface - try configuring, analysing the provided sample algorithm (SPEAR)

HAL"> Installing HAL

- download the full zip package - extract the zip to a working directory - double click the HAL_.jar file OR type "java -jar HAL_.jar" to start the webserver - navigate to http://<machine address>:8080/hal (e.g. http://127.0.0.1:8080/hal) to get the UI

Basic configuration

- after first start of HAL, a file called HAL.json will be created. Basic configuration settings can be modified by editing this file - RECOMMENDED: if you have a MySQL server, use it instead of the default SQLite database. To do so, edit the HAL.json file; change: "database":"jdbc:sqlite:hal.db" to something like "database":"jdbc:mysql://@<mysql.server.url>:/hal_db"

Plugin installation

- to install a new HAL plugin, copy the plugin .jar file into the /plugins/ folder and restart HAL.

Defining an algorithm

To add a new algorithm for use in HAL, use the "Define a new algorithm" wizard:

Algorithm specification

- The name+version combination must be unique in the database. - Supported instance tag sets are used to restrict which algorithms can be run on particular instances. A tag set such as {cnf, 3sat} marks the algorithm as compatible with any instance with both "cnf" and "3sat" tags. An algorithm can have multiple instance tag sets; at least one of them must be satisfied by an instance in order for it to be considered compatible. If no tags are specified, the HAL will assume the algorithm is compatible with all instances. - Advanced properties: deterministic: stgraightforward; note that if your algorithm has a seed as an input, mark it as NOT determinsitic, and explicitly identify the seed parameter (below). - Advanced properties: exportable: An algorithm is exportable if and only if HAL can compress the entire directory tree rooted at the executable file, exctract it on a different machine, and the algorithm will work on that second machine. - Advanced properties: cutoff-independence: Set this to true if the algorithm's behaviour will not change if cutoff inputs are changed but all other inputs remain the same. HAL uses this property to decide whether it can infer cutoffs or completions from previously-performed runs. - Executable: should be the first command to run the algorithm; if the algorithm is an interpreted script this might be "python" or "ruby". Note that this path must exist ON THE SYSTEM RUNNING HAL, not the system running the browser that is interfacing with HAL (if the two differ). - Command-line argument string: see example. Note that all input variables (specified like $name$ in the command string) will need to be further defined in later steps. (NOTE: HAL does not currently support generating input files for target algorithms.) - Algorithm output specification. Format is the same as the command-line argument specification; and as in that case, all identified output variables will require further specification. HAL will use this string to parse outputs from the standard output and error streams of the algorithm during execution.

Identify configurable parameters:

- a configurable parameter is a parameter whose value may be tuned by a configurator to optimize performance; all "other" settings will be left unchanged

Specify configurable parameter domains

- for every input parameter marked as configurable, the domain of valid values must be specified. - conditionalities between parameters can be specified, where conditionality refers to "activation" of parameters. For example, parameter X can be marked as active only if parameter Y takes some particular value. - prohibited parameter configurations can similarly be specified.

3.4: as 3.3, for "other" input settings

3.5: as 3.3, for output variables

Instance set specification

To specify an instance set, use the Create New InstanceDistribution wizard: - distirbution name must be unique - tags are used to filter compatible algorithms (see 3.1 above) - An instance is exportable if it is fully-defined by a single file - The directory path must be valid on the system runnign HAL, not the system running the web browser
>
>

Javadoc Location

  • Javadocs for JavaBuilder are located: here, after registering for a free account.
  • You can read Mathwork's DMCA notice that took down mirrors of the site here.
 
Added:
>
>

Turning off display.

  • Sometimes, you might see a message about the display. The matlab display can be turned off with the "-nodisplay" option: MWApplication.initializeApplication(MWMCROption.NODISPLAY);
 
Deleted:
<
<
---
 
Deleted:
<
<

Experiment specification

- Metrics: PAR1 and PAR10 rely on HAL-measured CPU time; Reported PAR1 and PAR10 rely on algorithm-reported CPU time
 
Added:
>
>

HAL quick start guide

see http://hal.cs.ubc.ca/
 

Revision 122011-02-05 - mavc

Line: 1 to 1
 

How-To Guides

Line: 6 to 6
 

Running ExperimentRunner

Jan 28, 2011
  1. Clone the git repository located at ssh://[name]@okanagan.cs.ubc.ca/ubc/cs/project/arrow/git/smac.git - the experiment runner is
Changed:
<
<
currently only located in the [smac working copy] branch.
>
>
currently only located in the [smac working copy] branch. The files are also available from /ubc/cs/project/arrow/mavc/workspace/smac/
 
  1. You will need a directory with the following directories or links:
Changed:
<
<
    • algorithms/ containing
>
>
    • algorithms/ containing algorithm executables/wrappers.
 
    • features/ containing .csv instance feature files.
    • instances/ containing instances.
    • targetalgs/ containing target algorithm wrappers.
Changed:
<
<
>
>
These are all available from /ubc/cs/project/arrow/mavc/workspace/smac/
 
  1. Set the db name.
    • If you used a MySQL Database, you will need to get the MySQL plugin from the HAL Website ssh://[name]@okanagan.cs.ubc.ca/ubc/cs/project/arrow/git/mysql-hal.git
Line: 17 to 16
 
  1. Set the db name.
    • If you used a MySQL Database, you will need to get the MySQL plugin from the HAL Website ssh://[name]@okanagan.cs.ubc.ca/ubc/cs/project/arrow/git/mysql-hal.git
Deleted:
<
<
 
Changed:
<
<
    1. Running locally:
    2. Running on Arrow:
    3. Running on Westgrid:

  1. The Experiment Runner requires classes from HAL. You can grab HAL from
>
>
    1. Running locally: See Running Locally
    2. Running on Arrow: See Running on Arrow
    3. Running on Westgrid: See Running on Westgrid
  1. The Experiment Runner requires classes from HAL. You can grab HAL from ssh://[name]@okanagan.cs.ubc.ca/ubc/cs/project/arrow/git/hal.git
 
  1. Export jar to the directory structure, from right-click -> export -> Runnable Jar. This requires a Run Configuration, which you can
Changed:
<
<
create by running ExperimentRunner.java from Eclipse.
>
>
create by running ExperimentRunner.java from Eclipse. Alternatively, run it from Eclipse.
 
  1. Run the .jar with the command java -Xmx[##] -jar experimentrunner.jar
    • [##] Set this to a reasonable number (e.g. -Xmx512m or -Xmx1g)
Added:
>
>
 

Running Locally

Added:
>
>
 

Running on Arrow

Added:
>
>
  • Some considerations for running on Arrow
    1. Using the correct SSHExecutionManager for the HAL environment.

 

Running on Westgrid

Added:
>
>
  • There are some special considerations for running on Westgrid
    1. Installing Ruby (for ParamILS and wrapper scripts)
    2. Installing MCR (for SMAC)
    3. Setting up Directory Structure
 

Monitoring with Hal

  1. Start HAL with the command * java -jar hal.jar *. This will create a Hal.json file.

Revision 112011-02-02 - mavc

Line: 1 to 1
 

How-To Guides

Running ExperimentRunner

Jan 28, 2011
Changed:
<
<
  1. Clone the git repository located at ssh://[name]@okanagan.cs.ubc.ca/ubc/cs/project/arrow/git/smac.git - the experiment runner is located in the [smac working copy] branch.
>
>
  1. Clone the git repository located at ssh://[name]@okanagan.cs.ubc.ca/ubc/cs/project/arrow/git/smac.git - the experiment runner is currently only located in the [smac working copy] branch.
 
  1. You will need a directory with the following directories or links:
    • algorithms/ containing

Revision 102011-01-28 - mavc

Line: 1 to 1
 

How-To Guides

Added:
>
>

Running ExperimentRunner

Jan 28, 2011
  1. Clone the git repository located at ssh://[name]@okanagan.cs.ubc.ca/ubc/cs/project/arrow/git/smac.git - the experiment runner is located in the [smac working copy] branch.

  1. You will need a directory with the following directories or links:
    • algorithms/ containing
    • features/ containing .csv instance feature files.
    • instances/ containing instances.
    • targetalgs/ containing target algorithm wrappers.

  1. Set the db name.
    • If you used a MySQL Database, you will need to get the MySQL plugin from the HAL Website ssh://[name]@okanagan.cs.ubc.ca/ubc/cs/project/arrow/git/mysql-hal.git

    1. Running locally:
    2. Running on Arrow:
    3. Running on Westgrid:

  1. The Experiment Runner requires classes from HAL. You can grab HAL from

  1. Export jar to the directory structure, from right-click -> export -> Runnable Jar. This requires a Run Configuration, which you can create by running ExperimentRunner.java from Eclipse.

  1. Run the .jar with the command java -Xmx[##] -jar experimentrunner.jar
    • [##] Set this to a reasonable number (e.g. -Xmx512m or -Xmx1g)

Running Locally

Running on Arrow

Running on Westgrid

Monitoring with Hal

  1. Start HAL with the command * java -jar hal.jar *. This will create a Hal.json file.

  1. Modify the JSON file and change the database name if necessary.

  1. Add the necessary plugins to the plugins/ folder.
    1. MySQL:
    2. ROAR:
    3. SMAC:

  1. After you start HAL with the right database, you can monitor your jobs through http://localhost:8080/hal/
 

Westgrid Quick Start

Matlab Builder JA Quick Start

Revision 72011-01-13 - mavc

Line: 1 to 1
 

HAL-related tutorials

This page is the temporary home of HAL-related tutorials.

Deleted:
<
<

HA
<--unWikiWord-->
L WebUI Tutorial

HAL _WebUI"> Starting HAL WebUI

  • Start HAL by running HAL_[version].jar (java -jar HAL_[version].jar)
  • The WebUI is available from http://[machineaddress]:[port]/hal (e.g. http://localhost:8080/hal)

Installation and Configuration

Defining a New Algorithm

HAL obje"> Exporting and Importing HAL objects

 

Matlab Builder JA Quick Start

See attached user guide
Line: 129 to 118
 
META FILEATTACHMENT attr="" comment="Matlab Builder JA User Guide" date="1294351199" name="javabuilder.pdf" path="javabuilder.pdf" size="1436238" user="mavc" version="1.1"
META FILEATTACHMENT attr="h" comment="" date="1294354780" name="java_t1.png" path="java_t1.png" size="41903" user="mavc" version="1.1"
META FILEATTACHMENT attr="h" comment="Matlab Builder JA User Guide" date="1294355290" name="java_t2.png" path="java_t2.png" size="10105" user="mavc" version="1.1"
Added:
>
>
META TOPICMOVED by="mavc" date="1294956313" from="BETA.HALWebTutorial" to="BETA.HowToGuides"

Revision 62011-01-13 - mavc

Line: 1 to 1
 

HAL-related tutorials

This page is the temporary home of HAL-related tutorials.
Line: 6 to 6
 

HA
<--unWikiWord-->
L WebUI Tutorial

HAL _WebUI"> Starting HAL WebUI

Changed:
<
<
  • Start HAL by running HAL_[version].jar (java -jar HAL_[version].jar [-p #port(default 8080)])
>
>
  • Start HAL by running HAL_[version].jar (java -jar HAL_[version].jar)
 

Installation and Configuration

Defining a New Algorithm

Changed:
<
<

HAL objects"> Saving and Loading HAL objects

>
>

HAL obje"> Exporting and Importing HAL objects

 

Matlab Builder JA Quick Start

See attached user guide

Revision 52011-01-11 - mavc

Line: 1 to 1
 

HAL-related tutorials

This page is the temporary home of HAL-related tutorials.

Added:
>
>

HA
<--unWikiWord-->
L WebUI Tutorial

HAL _WebUI"> Starting HAL WebUI

  • Start HAL by running HAL_[version].jar (java -jar HAL_[version].jar [-p #port(default 8080)])
  • The WebUI is available from http://[machineaddress]:[port]/hal (e.g. http://localhost:8080/hal)

Installation and Configuration

Defining a New Algorithm

HAL objects"> Saving and Loading HAL objects

 

Matlab Builder JA Quick Start

See attached user guide

Hello World

Changed:
<
<
A trivial "Hello World" example is described below. We will describe how to call the following Matlab function from Java.
>
>
A "Hello World" example is described below. We will describe how to call the following Matlab function from Java.
 

function hello
% Hello world example

Line: 26 to 37
 

Calling code from Eclipse

  1. Add [project].jar and javabuilder.jar to the build path. The javabuilder.jar should be located in /toolbox/javabuilder/jar/javabuilder.jar inside your Matlab folder.
  2. Any code that calls code from these java classes must also import com.mathworks.toolbox.javabuilder.*.
Changed:
<
<
  1. Call the function like a normal Java method from an instance of the class. Conversion between Java and Matlab types may be handled either automatically or explicitly (see next section).

Passing Data

>
>
  1. Call the function like a normal Java method from an instance of the class. Conversion between Java and Matlab types may be handled either automatically or explicitly (see next section).

Data Types and Conversion

 Data conversion classes are available in the following hierarchy:
  • MWArray
    • MWNumericArray

Revision 42011-01-10 - mavc

Line: 1 to 1
 

HAL-related tutorials

This page is the temporary home of HAL-related tutorials.
Line: 27 to 27
 
  1. Add [project].jar and javabuilder.jar to the build path. The javabuilder.jar should be located in /toolbox/javabuilder/jar/javabuilder.jar inside your Matlab folder.
  2. Any code that calls code from these java classes must also import com.mathworks.toolbox.javabuilder.*.
  3. Call the function like a normal Java method from an instance of the class. Conversion between Java and Matlab types may be handled either automatically or explicitly (see next section).
Changed:
<
<

Data Type Conversion

Data and Figures

Programming Help

>
>

Passing Data

Data conversion classes are available in the following hierarchy:
  • MWArray
    • MWNumericArray
    • MWLogicalArray
    • MWCharArray
    • MWCellArray
    • MWStructArray

Matlab Builder will perform conversion from native types automatically, and constructors can be used with Java types and arrays.

Pass by reference is available with the MWJavaObjectRef wrapper, a subclass of MWArray.

 

HAL quick start guide

version 1.0b4 Nov. 29, 2010

Revision 22011-01-06 - mavc

Line: 1 to 1
Changed:
<
<

HAL quick start guide

>
>

HAL-related tutorials

This page will contain HAL-related tutorials.

Matlab Builder JA Quick Start

See attached user guide

Hello World

A trivial "Hello World" example is described below. We will describe how to call the following Matlab function from Java.

function hello
% Hello world example
% hello.m

fprintf(1, 'Hello World\n');

Exporting JAR

  1. MCR must be installed and its directory added to the system's path variable.
  2. Create a new deployment project by entering deploytool into the Matlab command window.
  3. In the Deployment Tool window, create the necessary classes by clicking [Add Class]. For each class, add the matlab function (*.m) files that belong to the class by selecting [Add files].Add classes and matlab functions
  4. Create the Java Package by selecting the build button. This will create src and distrib folders containing your [project].jar file. The name of the jar file may be specified from Settings.

Calling code from Eclipse

  1. Add [project].jar and javabuilder.jar to the build path. The javabuilder.jar should be located in /toolbox/javabuilder/jar/javabuilder.jar inside your Matlab folder.
  2. Any code that calls code from these java classes must also import com.mathworks.toolbox.javabuilder.*.
  3. Call the function like a normal Java method from an instance of the class. Conversion between Java and Matlab types may be handled either automatically or explicitly (see next section).

Data Type Conversion

Data and Figures

Programming Help

HAL quick start guide

 version 1.0b4 Nov. 29, 2010

NOTE: this quite is very much a work-in-progress. If you have any isses that aren't covered here, or any other comments or questions, please contact us at cnell@csDELETEthisTEXT.ubc.ca

Deleted:
<
<
 
Changed:
<
<

Super quick start (linux only):

>
>

Super quick start (linux only):

  - download full HAL 1.0 zip distribution; install using below instructions. - download sample experiment package; import using the HAL 1.0 interface - try configuring, analysing the provided sample algorithm (SPEAR)
Changed:
<
<

HAL"> Installing HAL

>
>

HAL"> Installing HAL

  - download the full zip package - extract the zip to a working directory - double click the HAL_.jar file OR type "java -jar HAL_.jar" to start the webserver - navigate to http://<machine address>:8080/hal (e.g. http://127.0.0.1:8080/hal) to get the UI
Changed:
<
<

Basic configuration

>
>

Basic configuration

  - after first start of HAL, a file called HAL.json will be created. Basic configuration settings can be modified by editing this file - RECOMMENDED: if you have a MySQL server, use it instead of the default SQLite database. To do so, edit the HAL.json file; change: "database":"jdbc:sqlite:hal.db" to something like "database":"jdbc:mysql://@<mysql.server.url>:/hal_db"
Changed:
<
<

Plugin installation

>
>

Plugin installation

  - to install a new HAL plugin, copy the plugin .jar file into the /plugins/ folder and restart HAL.
Changed:
<
<

Defining an algorithm

>
>

Defining an algorithm

 To add a new algorithm for use in HAL, use the "Define a new algorithm" wizard:
Changed:
<
<

Algorithm specification

>
>

Algorithm specification

  - The name+version combination must be unique in the database. - Supported instance tag sets are used to restrict which algorithms can be run on particular instances. A tag set such as {cnf, 3sat} marks the algorithm as compatible with any instance with both "cnf" and "3sat" tags. An algorithm can have multiple instance tag sets; at least one of them must be satisfied by an instance in order for it to be considered compatible. If no tags are specified, the HAL will assume the algorithm is compatible with all instances. - Advanced properties: deterministic: stgraightforward; note that if your algorithm has a seed as an input, mark it as NOT determinsitic, and explicitly identify the seed parameter (below).
Line: 44 to 74
 (NOTE: HAL does not currently support generating input files for target algorithms.) - Algorithm output specification. Format is the same as the command-line argument specification; and as in that case, all identified output variables will require further specification. HAL will use this string to parse outputs from the standard output and error streams of the algorithm during execution.

Changed:
<
<

Identify configurable parameters:

>
>

Identify configurable parameters:

  - a configurable parameter is a parameter whose value may be tuned by a configurator to optimize performance; all "other" settings will be left unchanged

Changed:
<
<

Specify configurable parameter domains

>
>

Specify configurable parameter domains

  - for every input parameter marked as configurable, the domain of valid values must be specified. - conditionalities between parameters can be specified, where conditionality refers to "activation" of parameters. For example, parameter X can be marked as active only if parameter Y takes some particular value. - prohibited parameter configurations can similarly be specified.
Line: 58 to 88
 3.5: as 3.3, for output variables

Changed:
<
<

Instance set specification

>
>

Instance set specification

 To specify an instance set, use the Create New InstanceDistribution wizard: - distirbution name must be unique - tags are used to filter compatible algorithms (see 3.1 above)
Line: 68 to 98
  ---

Changed:
<
<

Experiment specification

>
>

Experiment specification

  - Metrics: PAR1 and PAR10 rely on HAL-measured CPU time; Reported PAR1 and PAR10 rely on algorithm-reported CPU time

Added:
>
>
 
Added:
>
>
META FILEATTACHMENT attr="" comment="Matlab Builder JA User Guide" date="1294351199" name="javabuilder.pdf" path="javabuilder.pdf" size="1436238" user="mavc" version="1.1"
META FILEATTACHMENT attr="h" comment="" date="1294354780" name="java_t1.png" path="java_t1.png" size="41903" user="mavc" version="1.1"
META FILEATTACHMENT attr="h" comment="Matlab Builder JA User Guide" date="1294355290" name="java_t2.png" path="java_t2.png" size="10105" user="mavc" version="1.1"

Revision 12011-01-05 - mavc

Line: 1 to 1
Added:
>
>

HAL quick start guide

version 1.0b4 Nov. 29, 2010

NOTE: this quite is very much a work-in-progress. If you have any isses that aren't covered here, or any other comments or questions, please contact us at cnell@csDELETEthisTEXT.ubc.ca

Super quick start (linux only):

- download full HAL 1.0 zip distribution; install using below instructions. - download sample experiment package; import using the HAL 1.0 interface - try configuring, analysing the provided sample algorithm (SPEAR)

HAL"> Installing HAL

- download the full zip package - extract the zip to a working directory - double click the HAL_.jar file OR type "java -jar HAL_.jar" to start the webserver - navigate to http://<machine address>:8080/hal (e.g. http://127.0.0.1:8080/hal) to get the UI

Basic configuration

- after first start of HAL, a file called HAL.json will be created. Basic configuration settings can be modified by editing this file - RECOMMENDED: if you have a MySQL server, use it instead of the default SQLite database. To do so, edit the HAL.json file; change: "database":"jdbc:sqlite:hal.db" to something like "database":"jdbc:mysql://@<mysql.server.url>:/hal_db"

Plugin installation

- to install a new HAL plugin, copy the plugin .jar file into the /plugins/ folder and restart HAL.

Defining an algorithm

To add a new algorithm for use in HAL, use the "Define a new algorithm" wizard:

Algorithm specification

- The name+version combination must be unique in the database. - Supported instance tag sets are used to restrict which algorithms can be run on particular instances. A tag set such as {cnf, 3sat} marks the algorithm as compatible with any instance with both "cnf" and "3sat" tags. An algorithm can have multiple instance tag sets; at least one of them must be satisfied by an instance in order for it to be considered compatible. If no tags are specified, the HAL will assume the algorithm is compatible with all instances. - Advanced properties: deterministic: stgraightforward; note that if your algorithm has a seed as an input, mark it as NOT determinsitic, and explicitly identify the seed parameter (below). - Advanced properties: exportable: An algorithm is exportable if and only if HAL can compress the entire directory tree rooted at the executable file, exctract it on a different machine, and the algorithm will work on that second machine. - Advanced properties: cutoff-independence: Set this to true if the algorithm's behaviour will not change if cutoff inputs are changed but all other inputs remain the same. HAL uses this property to decide whether it can infer cutoffs or completions from previously-performed runs. - Executable: should be the first command to run the algorithm; if the algorithm is an interpreted script this might be "python" or "ruby". Note that this path must exist ON THE SYSTEM RUNNING HAL, not the system running the browser that is interfacing with HAL (if the two differ). - Command-line argument string: see example. Note that all input variables (specified like $name$ in the command string) will need to be further defined in later steps. (NOTE: HAL does not currently support generating input files for target algorithms.) - Algorithm output specification. Format is the same as the command-line argument specification; and as in that case, all identified output variables will require further specification. HAL will use this string to parse outputs from the standard output and error streams of the algorithm during execution.

Identify configurable parameters:

- a configurable parameter is a parameter whose value may be tuned by a configurator to optimize performance; all "other" settings will be left unchanged

Specify configurable parameter domains

- for every input parameter marked as configurable, the domain of valid values must be specified. - conditionalities between parameters can be specified, where conditionality refers to "activation" of parameters. For example, parameter X can be marked as active only if parameter Y takes some particular value. - prohibited parameter configurations can similarly be specified.

3.4: as 3.3, for "other" input settings

3.5: as 3.3, for output variables

Instance set specification

To specify an instance set, use the Create New InstanceDistribution wizard: - distirbution name must be unique - tags are used to filter compatible algorithms (see 3.1 above) - An instance is exportable if it is fully-defined by a single file - The directory path must be valid on the system runnign HAL, not the system running the web browser

---

Experiment specification

- Metrics: PAR1 and PAR10 rely on HAL-measured CPU time; Reported PAR1 and PAR10 rely on algorithm-reported CPU time

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback