From Documentation
Jump to: navigation, search
(Job Submission)
(Example Code)
 
(58 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
{{StillNeeded|goblin}}
 +
 
{{Software
 
{{Software
 
|package_name=MAPLE
 
|package_name=MAPLE
Line 5: Line 7:
 
}}
 
}}
 
==Introduction==
 
==Introduction==
Maple is a sophisticated computer algebra system for symbolic and numerical computing. Maple Release 15 includes thread and grid toolboxes that support parallel processing on multicore systems and clusters.
 
The access to Maple is restricted to the institutions that have site licenses. The following instructions are institution specific. Please contact your home institution IT department for license information.
 
  
=Usage=
+
Maple is a sophisticated computer algebra system for symbolic and numerical computing. Maple Release 16 includes thread and grid toolboxes that support parallel processing on multicore systems and clusters.  Access to Maple software is restricted to users from institutions with a site licenses and sharcnet hardware, therefore the below instructions are institution specific.  Contact your home institution IT department for license information - for parallel processing on clusters a license supporting the Grid Computing Toolbox (GCT) is required.
==MAPLE 16 + Grid Computing Toolbox Trial license ==
+
A free trial license for MAPLE 16 and the Grid Computing Toolbox provided by Maplesoft is available on Sharcnet clusters, orca and hound, for all Sharcnet users. The usage instructions are
+
=== Path Setting ===
+
Add the following lines into your shell .bash_profile file (/home/yourid/.bash_profile)
+
#for MAPLE_16 and Grid Computing Toolbox
+
export PATH=/opt/sharcnet/testing/maple/maple16/bin:$PATH
+
logout, and login again to effect the setting. To confirm, type 'which maple' should display
+
[...:~] which maple
+
/opt/sharcnet/testing/maple/maple16/bin/maple
+
  
===Job Submission ===
+
==Western University Site License==
Prepare your Maple input file, name.mpl, in your /work directory, and submit the job from the input file directory.
+
For example, I have the input file 'l00.mpl', use sqsub command (--mpp is to reserve memory, see 'sqsub -h' for details)
+
sqsub --mpp=1g -r 1.0h -o l00.mpl.log maple l00.mpl
+
To run Grid, you need to code with Grid, assuming the input file is 'prime2.mpl', use 4 nodes each with 2 cpus (8 cpus in total) to run your job, the sqsub command will be
+
sqsub -q mpi -N 4 --ppn 2 --mpp=1g -r 1.0h -o prime2.mpl.log gridlaunch prime2.mpl
+
  
===Example Jobs===
+
Maple 16 is available on <b>goblin.sharcnet.ca</b> and several visualization workstations on Western's campus for use by researchers in the <b><i>uwo_users</i></b> Sharcnet group.
You can find the examples in
+
/work/jemmyhu/maple/test/
+
  
===GUI / Visualization===
+
=== Version Selection ===
MAPLE GUI can only be run on orca's development nodes (orc-dev1, orc-dev2, orc-dev3, orc-dev4). First login to orca, then ssh -Y to one of the development nodes. For Windows users, you need to turn on the X-Window application before login to orca.
+
[jemmyhu@orc-login2:~] ssh -Y orc-dev2
+
[jemmyhu@orc130:~/work/maple/test] xmaple
+
  
===General Notices===
+
  module load maple/16
We do not know much about MAPLE Grid, for Maple coding issues, please go to Maplesoft website for help
+
  www.maplesoft.com
+
  
==Western University Site==
+
===Graphical Usage===
  
Maple 15 and 16 are available on two large systems: <b>goblin.sharcnet.ca</b> and <b>kraken.sharcnet.ca</b>, as well as several visualization workstations on Western's campus.
+
Login to vdi-centos6.user.sharcnet.ca, viz10-uwo.sharcnet.ca or viz11-uwo.sharcnet.ca using <i>tigervnc</i> load the maple module then run command:
  
On both goblin and kraken, first load module
+
xmaple
  
module load maple
+
===Interactive Usage===
  
This will add the paths to the binaries and the libraries to the search paths, so that one can invoke maple anywhere without specifying the binary and library paths. The environments set by module will be inherited on the compute nodes when the jobs are dispatched there by the scheduler.
+
Login to goblin, or preferably vdi-centos6.user.sharcnet.ca, viz10-uwo.sharcnet.ca or viz11-uwo.sharcnet.ca using <i>ssh</i> load the maple module then run command:
  
To test the interactive environment, login to '''viz5-uwo.sharcnet.ca'''. At the command line, type
+
maple
  
/opt/sharcnet/local/maple/'''<i>version</i>'''/bin/maple
+
====Example====
  
where '''<i>version</i>''' refers to 15 or 16.
+
<pre>
 +
[roberpj@gb241:~] module load maple/16
  
Please keep in mind, however, that the interactive use of maple is strongly discouraged. Users are not expected to run any programmes on the login node except for compilation and editing files. User programms running out side the schedule on the login nodes will be terminated by the monito -rring system.
+
[roberpj@gb241:~] maple
 +
    |\^/|    Maple 16 (X86 64 LINUX)
 +
._|\|  |/|_. Copyright (c) Maplesoft, a division of Waterloo Maple Inc. 2012
 +
\  MAPLE  /  All rights reserved. Maple is a trademark of
 +
<____ ____>  Waterloo Maple Inc.
 +
      |      Type ? for help.
 +
> 2+2;
 +
                                                                                        4
 +
> quit
 +
</pre>
  
To run Maple code on <b>kraken</b> (recommended), submit jobs using the following command
+
===Job Submission===
 +
 
 +
To run Maple code on <b>goblin</b> load the maple module then run command:
  
 
  sqsub -q serial [ -f bul ] -o mycode.log -r 2.5h --mpp=5G maple mycode.mpl
 
  sqsub -q serial [ -f bul ] -o mycode.log -r 2.5h --mpp=5G maple mycode.mpl
  
where option <tt>-f bul</tt> specifies the destination cluster <b>bull</b> (mandatory for <b>kraken</b> only) <tt>-o mycode.log</tt> specifies the output file name, <tt>-r 2.5h</tt> specifies the run time estimate (this is mandatory) and <tt>--mpp=5G</tt> tells the scheduler you need 5GB memory to run the code, so that the scheduler will find the place where there is enough memory to accommodate your code.
+
==Example Code==
  
If one encounters the error when invoking maple
+
The following is a Maple code checking prime numbers (prime2.mpl)
  
'''Maple initialization error, maple: process limit must be at least 50'''
+
<pre>
 +
primeChecker := proc()
 +
  uses Grid;
 +
  local nn, thisNode, i, myVal, rslt, rply, t1, t2, b1;
  
which indicates the number of user processes allowed on the system is less than 50, one needs to raise the process limit with command
+
  nn := NumNodes();
 +
  printf("NumNodes = %a\n", nn);
 +
  thisNode := MyNode();
 +
  printf("MyNode = %a\n", thisNode);
 +
  myVal := rand(1001..10001)();
 +
  printf("Value    %a\n", myVal);
  
ulimit -u 100
+
  b1:= isprime(myVal);
 +
  rslt := [ ifactor(myVal), b1];
 +
  printf("Computed Result = %a\n", rslt);
 +
  if thisNode <> 0 then
 +
    printf("Node %d sending  %a\n",thisNode, rslt);
 +
    Send(0, rslt);
 +
    rply := NULL;
 +
  else
 +
    rply := rslt;
 +
    t1 := time[real]();
 +
    for i from 1 to (nn-1) do
 +
        printf("Node %d waiting for Receive\n",thisNode);
 +
        rslt := Receive(i);
 +
        printf("Received    %a\n", rslt);
 +
        rply := rply, rslt;
 +
        t2 := time[real]();
 +
        t1 := t2;
 +
    end do;
 +
    printf("Sample points = %a\n",[rply]);
 +
  end if;
 +
  printf("Node %d done, rply = %a \n",thisNode,[rply]);
 +
  return [rply];
 +
end proc:
  
or, if this fails, contact the system administrators.
+
#!ls /opt/sharcnet/openmpi/1.6.2/intel/lib/openmpi
  
For running multicore jobs, please contact the local staff [https://www.sharcnet.ca/my/contact/directory] for details.
+
Grid:-Setup("mpi", 'mpidll'="mpi", 'mpiwrapper'="mpiwrapper" ):
 +
randomize(iolib(25)+kernelopts(pid)*10^11);
 +
seq( primeChecker(), i=1..10):
 +
#Grid:-Barrier();
 +
</pre>
  
For parallel processing on clusters, one needs the Grid Computing Toolbox (GCT) license, which is sold separately. Currently The University of Western Ontario does not hold the license for GCT. Individuals who want to use Maple GCT must obtain their own license from MapleSoft [http://www.maplesoft.com/].
+
==General Notes==
  
==University of Waterloo Site==
+
===Process Limit Error ===
 +
 
 +
If one encounters the following error when invoking maple
 +
 
 +
'''Maple initialization error, maple: process limit must be at least 50'''
 +
 
 +
this indicates the number of user processes allowed on the system is less than 50, one needs to raise the process limit with command
 +
 
 +
ulimit -u 100
  
Please check with local staff[https://www.sharcnet.ca/my/contact/directory].
+
if this fails, contact the system administrators.
  
==Brock University Site==
+
===Grid Computing Toolbox===
  
Please contact SHARCNET staff[https://www.sharcnet.ca/my/contact/directory].
+
For Maple coding issues please go to Maplesoft website for help.
  
=References=
+
==References==
  
o MAPLE homepage<br>
+
* MAPLE homepage http://www.maplesoft.com
http://www.maplesoft.com
+

Latest revision as of 13:51, 15 May 2019

The content on this software page is still in use for running software on goblin . Do not delete.


MAPLE
Description: A sophisticated computer algebra system for symbolic and numerical computing
SHARCNET Package information: see MAPLE software page in web portal
Full list of SHARCNET supported software


Introduction

Maple is a sophisticated computer algebra system for symbolic and numerical computing. Maple Release 16 includes thread and grid toolboxes that support parallel processing on multicore systems and clusters. Access to Maple software is restricted to users from institutions with a site licenses and sharcnet hardware, therefore the below instructions are institution specific. Contact your home institution IT department for license information - for parallel processing on clusters a license supporting the Grid Computing Toolbox (GCT) is required.

Western University Site License

Maple 16 is available on goblin.sharcnet.ca and several visualization workstations on Western's campus for use by researchers in the uwo_users Sharcnet group.

Version Selection

module load maple/16

Graphical Usage

Login to vdi-centos6.user.sharcnet.ca, viz10-uwo.sharcnet.ca or viz11-uwo.sharcnet.ca using tigervnc load the maple module then run command:

xmaple

Interactive Usage

Login to goblin, or preferably vdi-centos6.user.sharcnet.ca, viz10-uwo.sharcnet.ca or viz11-uwo.sharcnet.ca using ssh load the maple module then run command:

maple

Example

[roberpj@gb241:~] module load maple/16

[roberpj@gb241:~] maple
    |\^/|     Maple 16 (X86 64 LINUX)
._|\|   |/|_. Copyright (c) Maplesoft, a division of Waterloo Maple Inc. 2012
 \  MAPLE  /  All rights reserved. Maple is a trademark of
 <____ ____>  Waterloo Maple Inc.
      |       Type ? for help.
> 2+2;
                                                                                        4
> quit

Job Submission

To run Maple code on goblin load the maple module then run command:

sqsub -q serial [ -f bul ] -o mycode.log -r 2.5h --mpp=5G maple mycode.mpl

Example Code

The following is a Maple code checking prime numbers (prime2.mpl)

primeChecker := proc()
  uses Grid;
  local nn, thisNode, i, myVal, rslt, rply, t1, t2, b1;

  nn := NumNodes();
  printf("NumNodes = %a\n", nn);
  thisNode := MyNode();
  printf("MyNode = %a\n", thisNode);
  myVal := rand(1001..10001)();
  printf("Value     %a\n", myVal);

  b1:= isprime(myVal);
  rslt := [ ifactor(myVal), b1];
  printf("Computed Result = %a\n", rslt);
  if thisNode <> 0 then
     printf("Node %d sending   %a\n",thisNode, rslt);
     Send(0, rslt);
     rply := NULL;
  else
     rply := rslt;
     t1 := time[real]();
     for i from 1 to (nn-1) do
        printf("Node %d waiting for Receive\n",thisNode);
        rslt := Receive(i);
        printf("Received     %a\n", rslt);
        rply := rply, rslt;
        t2 := time[real]();
        t1 := t2;
     end do;
     printf("Sample points = %a\n",[rply]);
  end if;
  printf("Node %d done, rply = %a \n",thisNode,[rply]);
  return [rply];
end proc:

#!ls /opt/sharcnet/openmpi/1.6.2/intel/lib/openmpi

Grid:-Setup("mpi", 'mpidll'="mpi", 'mpiwrapper'="mpiwrapper" ):
randomize(iolib(25)+kernelopts(pid)*10^11);
seq( primeChecker(), i=1..10):
#Grid:-Barrier();

General Notes

Process Limit Error

If one encounters the following error when invoking maple

Maple initialization error, maple: process limit must be at least 50

this indicates the number of user processes allowed on the system is less than 50, one needs to raise the process limit with command

ulimit -u 100

if this fails, contact the system administrators.

Grid Computing Toolbox

For Maple coding issues please go to Maplesoft website for help.

References