From Documentation
Jump to: navigation, search
({{StillNeeded|goblin}})
(University Waterloo Site License: remove)
Line 9: Line 9:
  
 
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 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.
 
==University Waterloo Site License==
 
 
Maple 16 is available on <b>orca.sharcnet.ca</b> for use by researchers in the <b><i>uw_users</i></b> Sharcnet group.
 
 
=== Version Selection ===
 
 
module load maple/16
 
 
===Graphical Usage===
 
 
The Maple GUI should only be run on orca's development nodes (orc-dev1, orc-dev2, orc-dev3, orc-dev4).  To connect into orc-dev3 do the following:
 
 
ssh -X orca.sharcnet.ca
 
ssh orc-dev3 -X
 
 
Then load the maple module and run command:
 
 
xmaple
 
 
===Interactive Usage===
 
 
Login to a orca development node, load the maple module and run command:
 
 
maple
 
 
===Job Submission===
 
 
To run Maple code on <b>orca</b> load the maple module then run command:
 
 
sqsub -q serial [ -f bul ] -o mycode.log -r 2.5h --mpp=5G maple mycode.mpl
 
  
 
==Western University Site License==
 
==Western University Site License==

Revision as of 13:28, 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

Grid Computing Toolbox License (expired)

[ INFORMATION IN THIS SECTION IS OBSOLETE - A SITE LICENSE IS REQUIRED TO USE MAPLE ON SHARCNET SYSTEMS ]

A free trial license for MAPLE 16 and the Grid Computing Toolbox provided by Maplesoft is available on 'orca for all SHARCNET users. The usage instructions are

Version Selection

On orca:

module load maple/16

Once loaded the "which maple" command should return:

/opt/sharcnet/testing/maple/maple16/bin/maple

Job Submission

One in general shall run Maple code (and any code) as a "job" by submitting it to the batch job scheduler. The job scheduler will start your job at a later time once the resources requested, being the CPU(s) or memory size, become available and can be dedicated to your code.

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 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();

For more examples, login to any SHARCNET system and navigate to

/work/jemmyhu/maple/test/

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