From Documentation
Jump to: navigation, search
(Example Code)
 
(57 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
{{StillNeeded|goblin}}
 +
 
{{Software
 
{{Software
 
|package_name=MAPLE
 
|package_name=MAPLE
Line 6: Line 8:
 
==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.
+
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.
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.
+
  
==MAPLE 16 And Grid Computing Toolbox Trial license==
+
==Western University Site License==
  
For those who do not use Grid Computing Toolbox, please skip to the section of your institution site.
+
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.
  
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
+
=== Version Selection ===
=== 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 ===
+
  module load maple/16
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===
+
===Graphical Usage===
You can find the examples in
+
/work/jemmyhu/maple/test/
+
  
===GUI / Visualization===
+
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:
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===
+
xmaple
We do not know much about MAPLE Grid, for Maple coding issues, please go to Maplesoft website for help http://www.maplesoft.com/
+
  
==Western University Site==
+
===Interactive 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 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:
  
On both goblin and kraken, first load module
+
maple
  
module load maple
+
====Example====
  
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.
+
<pre>
 +
[roberpj@gb241:~] module load maple/16
  
To test the interactive environment, login to '''viz5-uwo.sharcnet.ca'''. At the command line, type
+
[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>
  
/opt/sharcnet/local/maple/'''<i>version</i>'''/bin/maple
+
===Job Submission===
  
where '''<i>version</i>''' refers to 15 or 16.
+
To run Maple code on <b>goblin</b> load the maple module then run command:
  
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.
+
sqsub -q serial [ -f bul ] -o mycode.log -r 2.5h --mpp=5G maple mycode.mpl
  
To run Maple code on <b>kraken</b> (recommended), submit jobs using the following command
+
==Example Code==
  
sqsub -q serial [ -f bul ] -o mycode.log -r 2.5h --mpp=5G maple mycode.mpl
+
The following is a Maple code checking prime numbers (prime2.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.
+
<pre>
 +
primeChecker := proc()
 +
  uses Grid;
 +
  local nn, thisNode, i, myVal, rslt, rply, t1, t2, b1;
  
If one encounters the error when invoking maple
+
  nn := NumNodes();
 +
  printf("NumNodes = %a\n", nn);
 +
  thisNode := MyNode();
 +
  printf("MyNode = %a\n", thisNode);
 +
  myVal := rand(1001..10001)();
 +
  printf("Value    %a\n", myVal);
  
'''Maple initialization error, maple: process limit must be at least 50'''
+
  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:
  
which indicates the number of user processes allowed on the system is less than 50, one needs to raise the process limit with command
+
#!ls /opt/sharcnet/openmpi/1.6.2/intel/lib/openmpi
  
ulimit -u 100
+
Grid:-Setup("mpi", 'mpidll'="mpi", 'mpiwrapper'="mpiwrapper" ):
 +
randomize(iolib(25)+kernelopts(pid)*10^11);
 +
seq( primeChecker(), i=1..10):
 +
#Grid:-Barrier();
 +
</pre>
  
or, if this fails, contact the system administrators.
+
==General Notes==
  
For running multicore jobs, please contact the local staff [https://www.sharcnet.ca/my/contact/directory] for details.
+
===Process Limit Error ===
  
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/].
+
If one encounters the following error when invoking maple
  
==University of Waterloo Site==
+
'''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==
  
 
* MAPLE homepage http://www.maplesoft.com
 
* MAPLE homepage 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