Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Name

APPS/MATH/MCR-R2012AR2013A

Description

Matlab Compile Runtime

Status

Production

Last update

20122013-10-0225

USAGE

Due to licensing issues Matlab can't be directly use in the FGI environment. However, many Matlab codes can be translated to C coded executables. This executable can be used in FGI when the Matlab Compiler Runtime (MCR) is available. When Matlab code is executed this way it does not require license and thus large amounts of C converted Matlab codes can be executed simultaneously. 

MCR-R2012A R2013A Runtime Environment supports c-converted Matlab codes that have been created with the mcc command of Matlab version R2012A R2013A (other Matlab versions are not compatible with the Runtime Environment).This Matlab version is available for example in the hippu.csc.fi server of CSC. 

...

&
(executable=matlabrun.sh)
(jobname=matlab)
(stdout=std_1.out)
(stderr=std_1.err)
(walltime=4h)
(memory=1052)
(runtimeenvironment="APPS/MATH/MCR-R2012AR2013A")
(inputfiles=
( "testjob" "testjob" )
( "run_testjob.sh" "run_testjob.sh" )
)
(outputfiles=
  ( "matlabresults.txt" "matlabresults.txt" )
)

 In the command script ( matlabrun.sh) execution permissions must first be defined for the compiled command and execution script. After this the compiled Matlab code is launched using the execution script (run_testjob.sh). The location of the MCR library must be given as the first argument for execution script. When the MCR-R2012A R2013A Runtime Environment is used, this location is stored to environment variable: $MCRROOT. The possible arguments of the Matlab code are added to the execution command after this.

...

Modify the scripts as needed and save the main script in your ARC runtime directory as APPS/MATH/MRC-R2012AR2013A

As long as the interface requirements are satisfied, the implementation does not really matter. And some adaptation is needed anyway to accomodate accommodate differences in the cluster environment (batch queue systems, temporary directory location etc.)