Maple
Obsah
Description
Maple is a general-purpose computer algebra system -- an enviroment for sympolic computations, solving scientific and engeneering problems, mathematic research, and/or data visualization, thus allowing a creation of technical publications.
Usage
The following usage examples are specialized on and tested with the newest Maple version available (Maple 16); their application on the older versions is possible, but might not work.
Once submitting a job, which is intended to perform Maple computations, it is necessary to provide the scheduler with a requirement for available Maple license (thus, the job will be started just once a license becomes available). This requirement is specified by setting the maple job's property, as shown on the following examples (for another license reservation options see the #License reservation section below).
Interactive use
- Provide the scheduling system with a requirement for the number of available nodes/cores and Maple licenses:
qsub -I -l select=1:ncpus=X:... -l maple=1 # requires 1 license, 1 node having X cores
- Initialize the Maple environment ("module add maple") and run the command:
- maple ... for interactive text environment
- xmaple ... for interactive graphical environment
- if the interactive graphical environment is required, it is necessary to have a connection to an X-server, see the page X-Window for details
Batch use
Create a job startup script, which initially performs an intialization of the modules subsystem, followed by an initialization of the Maple environment. After that, the script might perform the Maple computations intended:
#!/bin/sh
# initialize the Maple
module add maple
# perform Maple computations
maple < mymaplefile.{txt,mpl}
Subsequently, submit the script together with your requirements for the number of available nodes/cores and Maple licenses:
qsub -l select=1:ncpus=X:... -l maple=1 myScript.sh # requires 1 license, 1 node having X cores
Integrating Maple with Matlab
The installed Maple Toolbox for Matlab allows two-way integration between Maple and Matlab environments -- the toolbox thus allows to combine the Maple's symbolic computations with Matlab's numeric computations. See more information about the toolbox at Maple official site.
Usage example (interactive job):
- ask the scheduling system for an interactive job
qsub -I -l select=1:ncpus=X:... -l maple=1 # X ... the number of required cores
- initialize the matlab module
module add matlab
- start the Matlab having the Maple symbolic toolbox enabled
matlab-sym-maple
- write the following set of commands into the Matlab worksheet:
maple % starts the Maple (might take some time)
syms x y % initializes symbolic variables
cos(sqrt(x^2-y^2))/x^2
setmaple('h',ans) % allows the result to be accessible from the Maple
- an access to the resulting formula (h variable) from the Maple environment can be checked by typing the h into the Maple worksheet and pressing Enter -- the Matlab formula should be shown.
For more detail (e.g., a batch toolbox usage), please visit the Matlab section of this Wiki or visit the Maple official pages.
A very useful videopresentation illustrating the toolbox usage together with its capabilities can be found here.
Documentation
- The documentation is available at the Maple official site or locally in the Maple directory.
Licenses
- Maple 2017.1: 15 floating liceses
- Maple 16: 30 floating liceses
- Maple 15: 30 floating liceses
- Maple 11: 1 floating liceses
- Maple 10: 1 floating liceses
- Maple 5: unlimited number of licenses, but limited to the use from the Supercomputing Centre Brno nodes
Supported platforms
Linux, SGI IRIX (various versions)
Program administrator
Tomáš Rebok (rebok at ics.muni.cz)
Homepage
URL: http://www.maplesoft.com/products/maple/index.aspx
License reservations
As mentioned above, the Maple application is available in different versions:
- when using a floating license (Maple 10, 11, 15 and 16), it is necessary to ask the scheduling system for a license reservation via the job submission attributes. Currently, there are for types of Maple licenses available via the scheduling system attributes:
- maple Maple 16, 15
- maple11 Maple 11
- maple10 Maple 10
- maple10p Maple 10+ i.e., whichever is free
- since the Maple 5 has its license limited to a location, it is necessary to start the Maple from the appropriate nodes
Maple 16
The Maple 16 is able to use just more computational threads (i.e., cores on a single node).
It is necessary to ask for a floating license. Thus, the job submission (requiring a single computational node) should be performed as follows:
qsub -l select=1:ncpus=4:mem=16gb -l maple=1 ...
i.e., the job is asking for four cores on a single 64-bit node, 16GB of memory and a single Maple 16 license.
Maple 15
The Maple 15 is able to use both more computational threads (i.e., cores on a single node) and more distributed nodes (once the Grid toolbox becomes availabe -- see above).
It is necessary to ask for a floating license. Thus, the job submission (requiring a single computational node) should be performed as follows:
qsub -l select=1:ncpus=4:mem=16gb -l maple=1 ...
i.e., the job is asking for four cores on a single 64-bit node, 16GB of memory and a single Maple 15 license.
Maple 11
Maple 11 is able to use more computing threads (cores) on a single node. The list of parallelized internal functions is limited (primarily matrix functions with floats), however, it is possible to create own parallelized applications.
It is necessary to ask for a floating license. The job submission will thus look like as follows:
qsub -l select=1:ncpus=4:mem=16gb -l maple11=1 ...
i.e., the job is asking for four cores on a single 64-bit node, 16GB of memory and a single Maple 11 license.
Maple 10
The purchased Maple 10 is able to use just a single processor (on a single node). It is necessary to ask for a floating license. The job submission will thus look like as follows:
qsub -l select=1:ncpus=4:mem=16gb -l maple10=1 ...
i.e., the job is asking for a single core on a single 64-bit node, 16GB of memory and a single Maple 10 license.
Maple 10 or 11
If it's not important, which version (10 or 11) will perform the computation, it is possible to ask for a "maple10p" license, which will result in reserving any of the available ones (for Maple 10 or 11). In such a case, the "maple" command has to be used for invoking Maple -- the command will start Maple 10, if a license for Maple 10 is available, or Maple 11, if a license for Maple 11 is available. (The command line options are exactly the same as for the original "maple" command.).
In such a case, the job submission will look like as follows:
qsub -l select=1:ncpus=4:mem=16gb -l maple10p=1 tenplus.sh
and the file tenplus.sh looks as follows:
#!/bin/sh
# initialize the maple-10 module
module add maple-10
#run the maple
maple10p <inputdata
Maple 5
A historical version, primarily used because of its unlimited licenses (limited just to the use on Brno nodes). Once submitting a job, it is necessary to ask for a node located in Brno (there's no need to ask for a license reservation):
qsub -l select=1:ncpus=4:mem=16gb -l place=brno...