Difference: HowToGuides (12 vs. 13)

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/
 
 
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