From Documentation
Jump to: navigation, search
(Example Code)
 
(75 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
{{StillNeeded|goblin}}
 +
 
{{Software
 
{{Software
 
|package_name=MAPLE
 
|package_name=MAPLE
Line 4: Line 6:
 
|package_idnumber=126
 
|package_idnumber=126
 
}}
 
}}
 +
==Introduction==
  
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 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==
+
==Western University Site License==
  
Maple 15 is available exclusively on two systems: <b>goblin.sharcnet.ca</b> and <b>kraken.sharcnet.ca</b>.
+
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.
  
First load module
+
=== Version Selection ===
  
  module load maple
+
  module load maple/16
  
For testing the interactive environment, login to goblin.sharcnet.ca. At the command line, type
+
===Graphical Usage===
 +
 
 +
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:
 +
 
 +
xmaple
 +
 
 +
===Interactive Usage===
 +
 
 +
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:
  
 
  maple
 
  maple
  
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.
+
====Example====
  
To run Maple code on <b>kraken</b> (recommended), submit jobs using the following command
+
<pre>
 +
[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
 +
</pre>
 +
 
 +
===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==
 +
 
 +
The following is a Maple code checking prime numbers (prime2.mpl)
 +
 
 +
<pre>
 +
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();
 +
</pre>
 +
 
 +
==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
  
For running multicore jobs, please contact the local staff [https://www.sharcnet.ca/my/contact/directory] for details.
+
ulimit -u 100
  
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 this fails, contact the system administrators.
  
==University of Waterloo==
+
===Grid Computing Toolbox===
  
Please check with local staff[https://www.sharcnet.ca/my/contact/directory].
+
For Maple coding issues please go to Maplesoft website for help.
  
==Brock University==
+
==References==
  
Please contact SHARCNET staff[https://www.sharcnet.ca/my/contact/directory].
+
* 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