38,757
edits
(Updating to match new version of source page) |
(Updating to match new version of source page) |
||
Line 4: | Line 4: | ||
[https://www.3ds.com/products-services/simulia/products/abaqus/ Abaqus FEA] is a software suite for finite element analysis and computer-aided engineering. | [https://www.3ds.com/products-services/simulia/products/abaqus/ Abaqus FEA] is a software suite for finite element analysis and computer-aided engineering. | ||
= Using your own license = | = Using your own license = | ||
Abaqus software modules are available on our clusters; however, you must provide your own license. To configure your account on a cluster, log in and create a file named <code>$HOME/.licenses/abaqus.lic</code> containing the following two lines which support versions 202X and 6.14.1 respectively. Next, replace <code>port@server</code> with the flexlm port number and server IP address (or fully qualified hostname) of your Abaqus license server. | Abaqus software modules are available on our clusters; however, you must provide your own license. To configure your account on a cluster, log in and create a file named <code>$HOME/.licenses/abaqus.lic</code> containing the following two lines which support versions 202X and 6.14.1 respectively. Next, replace <code>port@server</code> with the flexlm port number and server IP address (or fully qualified hostname) of your Abaqus license server. | ||
Line 20: | Line 20: | ||
You will then be sent a list of cluster IP addresses so that your administrator can open the local server firewall to allow connections from the cluster on both ports. Please note that a special license agreement must generally be negotiated and signed by SIMULIA and your institution before a local license may be used remotely on Alliance hardware. | You will then be sent a list of cluster IP addresses so that your administrator can open the local server firewall to allow connections from the cluster on both ports. Please note that a special license agreement must generally be negotiated and signed by SIMULIA and your institution before a local license may be used remotely on Alliance hardware. | ||
= Cluster job submission = | = Cluster job submission = | ||
Below are prototype Slurm scripts for submitting thread and mpi-based parallel simulations to single or multiple compute nodes. Most users will find it sufficient to use one of the <b>project directory scripts</b> provided in the <i>Single node computing</i> sections. The optional <code>memory=</code> argument found in the last line of the scripts is intended for larger memory or problematic jobs where 3072MB offset value may require tuning. A listing of all Abaqus command line arguments can be obtained by loading an Abaqus module and running: <code>abaqus -help | less</code>. | Below are prototype Slurm scripts for submitting thread and mpi-based parallel simulations to single or multiple compute nodes. Most users will find it sufficient to use one of the <b>project directory scripts</b> provided in the <i>Single node computing</i> sections. The optional <code>memory=</code> argument found in the last line of the scripts is intended for larger memory or problematic jobs where 3072MB offset value may require tuning. A listing of all Abaqus command line arguments can be obtained by loading an Abaqus module and running: <code>abaqus -help | less</code>. | ||
Line 27: | Line 27: | ||
Jobs that require large memory or larger compute resources (beyond that which a single compute node can provide) should use the mpi scripts in the <b>multiple node sections</b> below to distribute computing over arbitrary node ranges determined automatically by the scheduler. Short scaling test jobs should be run to determine wall-clock times (and memory requirements) as a function of the number of cores (2, 4, 8, etc.) to determine the optimal number before running any long jobs. | Jobs that require large memory or larger compute resources (beyond that which a single compute node can provide) should use the mpi scripts in the <b>multiple node sections</b> below to distribute computing over arbitrary node ranges determined automatically by the scheduler. Short scaling test jobs should be run to determine wall-clock times (and memory requirements) as a function of the number of cores (2, 4, 8, etc.) to determine the optimal number before running any long jobs. | ||
== Standard analysis == | == Standard analysis == | ||
Abaqus solvers support thread-based and mpi-based parallelization. Scripts for each type are provided below for running Standard Analysis type jobs on Single or Multiple nodes respectively. Scripts to perform multiple node job restarts are not currently provided. | Abaqus solvers support thread-based and mpi-based parallelization. Scripts for each type are provided below for running Standard Analysis type jobs on Single or Multiple nodes respectively. Scripts to perform multiple node job restarts are not currently provided. | ||
Line 176: | Line 176: | ||
</tabs> | </tabs> | ||
=== Multiple node computing === | === Multiple node computing === | ||
Users with large memory or compute needs (and correspondingly large licenses) can use the following script to perform mpi-based computing over an arbitrary range of nodes ideally left to the scheduler to automatically determine. A companion template script to perform restart multi-node jobs is not currently provided due to additional limitations when they can be used. | Users with large memory or compute needs (and correspondingly large licenses) can use the following script to perform mpi-based computing over an arbitrary range of nodes ideally left to the scheduler to automatically determine. A companion template script to perform restart multi-node jobs is not currently provided due to additional limitations when they can be used. | ||
Line 212: | Line 212: | ||
}} | }} | ||
== Explicit analysis == | == Explicit analysis == | ||
Abaqus solvers support thread-based and mpi-based parallelization. Scripts for each type are provided below for running explicit analysis type jobs on single or multiple nodes respectively. Template scripts to perform multi-node job restarts are not currently provided pending further testing. | Abaqus solvers support thread-based and mpi-based parallelization. Scripts for each type are provided below for running explicit analysis type jobs on single or multiple nodes respectively. Template scripts to perform multi-node job restarts are not currently provided pending further testing. | ||
Line 415: | Line 415: | ||
Abaqus/2020 can be run interactively in graphical mode on a cluster or gra-vdi using VNC by following these steps: | Abaqus/2020 can be run interactively in graphical mode on a cluster or gra-vdi using VNC by following these steps: | ||
== On a cluster == | == On a cluster == | ||
# Connect to a compute node (3hr salloc time limit) with [https://docs.computecanada.ca/wiki/VNC#Compute_Nodes TigerVNC] | # Connect to a compute node (3hr salloc time limit) with [https://docs.computecanada.ca/wiki/VNC#Compute_Nodes TigerVNC] | ||
# Open a new terminal window and enter one of the following:<br><code>module load StdEnv/2016 abaqus/6.14.1</code>, or,<br><code>module load StdEnv/2016 abaqus/2020</code>, or,<br><code>module load StdEnv/2020 abaqus/2021</code> | # Open a new terminal window and enter one of the following:<br><code>module load StdEnv/2016 abaqus/6.14.1</code>, or,<br><code>module load StdEnv/2016 abaqus/2020</code>, or,<br><code>module load StdEnv/2020 abaqus/2021</code> | ||
# <code>abaqus cae -mesa</code><br><br> | # <code>abaqus cae -mesa</code><br><br> | ||
== On gra-vdi == | == On gra-vdi == | ||
# Connect to gra-vdi (24hr abaqus runtime limit) with [https://docs.computecanada.ca/wiki/VNC#VDI_Nodes TigerVNC] | # Connect to gra-vdi (24hr abaqus runtime limit) with [https://docs.computecanada.ca/wiki/VNC#VDI_Nodes TigerVNC] | ||
# Open a new terminal window and enter one of the following:<br><code>module load CcEnv StdEnv/2016 abaqus/6.14.1</code>, or,<br><code>module load CcEnv StdEnv/2016 abaqus/2020</code>, or,<br><code>module load CcEnv StdEnv/2020 abaqus/2021</code> | # Open a new terminal window and enter one of the following:<br><code>module load CcEnv StdEnv/2016 abaqus/6.14.1</code>, or,<br><code>module load CcEnv StdEnv/2016 abaqus/2020</code>, or,<br><code>module load CcEnv StdEnv/2020 abaqus/2021</code> | ||
Line 451: | Line 451: | ||
</source> | </source> | ||
= Site-specific use = | = Site-specific use = | ||
== SHARCNET license == | == SHARCNET license == | ||
SHARCNET provides a small but free license consisting of 2 cae and 35 execute tokens where usage limits are imposed 10 tokens/user and 15 tokens/group. For groups that have purchased dedicated tokens, the free token usage limits are added to their reservation. The free tokens are available on a first come first serve basis and mainly intended for testing and light usage before deciding whether or not to purchase dedicated tokens. The costs for dedicated tokens are approximately CAD$110 per compute token and CAD$400 per GUI token: submit a ticket to request an official quote. The license can be used by any Alliance researcher, but only on SHARCNET hardware. Groups that purchase dedicated tokens to run on the SHARCNET license server may likewise only use them on SHARCNET hardware including gra-vdi (for running Abaqus in full graphical mode) and Graham or Dusky clusters (for submitting compute batch jobs to the queue). Before you can use the license you must contact [[Technical support]] and request access. In your email 1) mention that it is for use on SHARCNET systems and 2) include a copy/paste of the following <code>License Agreement</code> statement with your full name and username entered in the indicated locations. Please note that every user must do this it cannot be done one time only for a group; this includes PIs who have purchased their own dedicated tokens. | SHARCNET provides a small but free license consisting of 2 cae and 35 execute tokens where usage limits are imposed 10 tokens/user and 15 tokens/group. For groups that have purchased dedicated tokens, the free token usage limits are added to their reservation. The free tokens are available on a first come first serve basis and mainly intended for testing and light usage before deciding whether or not to purchase dedicated tokens. The costs for dedicated tokens are approximately CAD$110 per compute token and CAD$400 per GUI token: submit a ticket to request an official quote. The license can be used by any Alliance researcher, but only on SHARCNET hardware. Groups that purchase dedicated tokens to run on the SHARCNET license server may likewise only use them on SHARCNET hardware including gra-vdi (for running Abaqus in full graphical mode) and Graham or Dusky clusters (for submitting compute batch jobs to the queue). Before you can use the license you must contact [[Technical support]] and request access. In your email 1) mention that it is for use on SHARCNET systems and 2) include a copy/paste of the following <code>License Agreement</code> statement with your full name and username entered in the indicated locations. Please note that every user must do this it cannot be done one time only for a group; this includes PIs who have purchased their own dedicated tokens. | ||
Line 516: | Line 516: | ||
<b>o Specify job resources</b> | <b>o Specify job resources</b> | ||
To ensure optimal usage of both your Abaqus tokens and our resources, it's important to carefully specify the required memory and ncpus in your Slurm script. The values can be determined by submitting a few short test jobs to the queue then checking their utilization. For <b>completed</b> jobs use <code>seff JobNumber</code> to show the total <i>Memory Utilized</i> and <i>Memory Efficiency</i>. If the <i>Memory Efficiency</i> is less than ~90%, decrease the value of the <code>#SBATCH --mem=</code> setting in your Slurm script accordingly. Notice that the <code>seff JobNumber</code> command also shows the total <i>CPU (time) Utilized</i> and <i>CPU Efficiency</i>. If the <i>CPU Efficiency</i> is less than ~90%, perform scaling tests to determine the optimal number of CPUs for optimal performance and then update the value of <code>#SBATCH --cpus-per-task=</code> in your Slurm script. For <b>running</b> jobs, use the <code>srun --jobid=29821580 --pty top -d 5 -u $USER</code> command to watch the %CPU, %MEM and RES for each Abaqus parent process on the compute node. The %CPU and %MEM columns display the percent usage relative to the total available on the node while the RES column shows the per process resident memory size (in human readable format for values over 1GB). Further information regarding how to [ | To ensure optimal usage of both your Abaqus tokens and our resources, it's important to carefully specify the required memory and ncpus in your Slurm script. The values can be determined by submitting a few short test jobs to the queue then checking their utilization. For <b>completed</b> jobs use <code>seff JobNumber</code> to show the total <i>Memory Utilized</i> and <i>Memory Efficiency</i>. If the <i>Memory Efficiency</i> is less than ~90%, decrease the value of the <code>#SBATCH --mem=</code> setting in your Slurm script accordingly. Notice that the <code>seff JobNumber</code> command also shows the total <i>CPU (time) Utilized</i> and <i>CPU Efficiency</i>. If the <i>CPU Efficiency</i> is less than ~90%, perform scaling tests to determine the optimal number of CPUs for optimal performance and then update the value of <code>#SBATCH --cpus-per-task=</code> in your Slurm script. For <b>running</b> jobs, use the <code>srun --jobid=29821580 --pty top -d 5 -u $USER</code> command to watch the %CPU, %MEM and RES for each Abaqus parent process on the compute node. The %CPU and %MEM columns display the percent usage relative to the total available on the node while the RES column shows the per process resident memory size (in human readable format for values over 1GB). Further information regarding how to [[Running jobs#Monitoring_jobs|monitor jobs]] is available on our documentation wiki | ||
<b>o Core token mapping</b> | <b>o Core token mapping</b> | ||
Line 538: | Line 538: | ||
Once configured, submit your job as described in the <i>Cluster job submission</i> section above. If there are any problems submit a problem ticket to [[Technical support|technical support]]. Specify that you are using the Abaqus Western license on dusky and provide the failed job number along with a paste of any error messages as applicable. | Once configured, submit your job as described in the <i>Cluster job submission</i> section above. If there are any problems submit a problem ticket to [[Technical support|technical support]]. Specify that you are using the Abaqus Western license on dusky and provide the failed job number along with a paste of any error messages as applicable. | ||
= Online documentation = | = Online documentation = | ||
The full Abaqus documentation (latest version) can be accessed on gra-vdi as shown in the following steps. | The full Abaqus documentation (latest version) can be accessed on gra-vdi as shown in the following steps. | ||