Bureaucrats, cc_docs_admin, cc_staff
2,879
edits
m (section headers to sentence case) |
(Marked this version for translation) |
||
Line 2: | Line 2: | ||
<translate> | <translate> | ||
<!--T:1--> | |||
Compute Canada does not have permission to install Materials Studio centrally on all clusters. However, if you do have valid Materials Studio licence(s) and software, below is a recipe will assist installing it in Compute Canada clusters in your account. | Compute Canada does not have permission to install Materials Studio centrally on all clusters. However, if you do have valid Materials Studio licence(s) and software, below is a recipe will assist installing it in Compute Canada clusters in your account. | ||
<!--T:2--> | |||
= Installing Materials Studio 2018 = {{Panel|title=Note|panelstyle=SideCallout|content=This recipe has been tested with Materials Studio 2018. }} | = Installing Materials Studio 2018 = {{Panel|title=Note|panelstyle=SideCallout|content=This recipe has been tested with Materials Studio 2018. }} | ||
If you have access to Materials Studio 2018, you will need two things to proceed. First, you must have the archive file that contains the installer. This file should be named <tt>MaterialsStudio2018.tgz</tt>. Second, you will must have the IP address / DNS name and the port of an already configured license server that you are going to use to connect to. | If you have access to Materials Studio 2018, you will need two things to proceed. First, you must have the archive file that contains the installer. This file should be named <tt>MaterialsStudio2018.tgz</tt>. Second, you will must have the IP address / DNS name and the port of an already configured license server that you are going to use to connect to. | ||
<!--T:3--> | |||
Once you have these, upload the <tt>MaterialsStudio2018.tgz</tt> file to your /home folder on the cluster you intend to use. Then, run the command {{Command|MS_LICENSE_SERVER{{=}}<port>@<server> eb MaterialsStudio-2018-dummy-dummy.eb --sourcepath{{=}}$HOME}} | Once you have these, upload the <tt>MaterialsStudio2018.tgz</tt> file to your /home folder on the cluster you intend to use. Then, run the command {{Command|MS_LICENSE_SERVER{{=}}<port>@<server> eb MaterialsStudio-2018-dummy-dummy.eb --sourcepath{{=}}$HOME}} | ||
<!--T:4--> | |||
Once this command has completed, log out from the cluster and log back in. You should then be able to load the module through: | Once this command has completed, log out from the cluster and log back in. You should then be able to load the module through: | ||
{{Command|module load materialsstudio/2018}} | {{Command|module load materialsstudio/2018}} | ||
<!--T:5--> | |||
In order to be able to access the license server from the compute nodes, you will need to [[Technical support|contact our technical support]] so that we can configure our firewall(s) to permit the software to connect to your licence server. | In order to be able to access the license server from the compute nodes, you will need to [[Technical support|contact our technical support]] so that we can configure our firewall(s) to permit the software to connect to your licence server. | ||
== Team installation == | == Team installation == <!--T:6--> | ||
If you are a PI holding the Materials Studio licence, you can install Materials Studio once so those working under you can use that installation. Since normally team work is stored in <code>/project</code> space, determine which project directory you want to use. Suppose it is <code>~/projects/A_DIRECTORY</code>, then you'll need to know these two values: | If you are a PI holding the Materials Studio licence, you can install Materials Studio once so those working under you can use that installation. Since normally team work is stored in <code>/project</code> space, determine which project directory you want to use. Suppose it is <code>~/projects/A_DIRECTORY</code>, then you'll need to know these two values: | ||
<!--T:7--> | |||
1. Determine the actual path of A_DIRECTORY as follows: {{Commands|PI_PROJECT_DIR{{=}}$(readlink -f ~/projects/A_DIRECTORY)|echo $PI_PROJECT_DIR}} | 1. Determine the actual path of A_DIRECTORY as follows: {{Commands|PI_PROJECT_DIR{{=}}$(readlink -f ~/projects/A_DIRECTORY)|echo $PI_PROJECT_DIR}} | ||
2. Determine the group of A_DIRECTORY as follows: {{Commands|PI_GROUP{{=}}$(stat -c%G $PI_PROJECT_DIR)|echo $PI_GROUP}} | 2. Determine the group of A_DIRECTORY as follows: {{Commands|PI_GROUP{{=}}$(stat -c%G $PI_PROJECT_DIR)|echo $PI_GROUP}} | ||
<!--T:8--> | |||
With these values known, install Materials Studio as follows: | With these values known, install Materials Studio as follows: | ||
<!--T:9--> | |||
# Change your default group to your team's <code>def-</code> group, e.g., {{Command|newgrp $PI_GROUP}} | # Change your default group to your team's <code>def-</code> group, e.g., {{Command|newgrp $PI_GROUP}} | ||
# Open the permissions of your project directory so your team can access it, e.g., {{Command|chmod g+rsx $PI_PROJECT_DIR}} | # Open the permissions of your project directory so your team can access it, e.g., {{Command|chmod g+rsx $PI_PROJECT_DIR}} | ||
Line 27: | Line 35: | ||
# Install the software, e.g., {{Command|MS_LICENSE_SERVER{{=}}<port>@<server> eb MaterialsStudio-2018-dummy-dummy.eb --installpath{{=}}$PI_PROJECT_DIR/MatStudio2018 --sourcepath{{=}}$HOME}} | # Install the software, e.g., {{Command|MS_LICENSE_SERVER{{=}}<port>@<server> eb MaterialsStudio-2018-dummy-dummy.eb --installpath{{=}}$PI_PROJECT_DIR/MatStudio2018 --sourcepath{{=}}$HOME}} | ||
<!--T:10--> | |||
Before the software can be run, the following must be run first: | Before the software can be run, the following must be run first: | ||
<!--T:11--> | |||
# Load the module information for the installed software, e.g., {{Command|module use $PI_PROJECT_DIR/MatStudio2018/modules/2017/Core/}} | # Load the module information for the installed software, e.g., {{Command|module use $PI_PROJECT_DIR/MatStudio2018/modules/2017/Core/}} | ||
#* Your team members may wish to add this to their <code>~/.bashrc</code> file. | #* Your team members may wish to add this to their <code>~/.bashrc</code> file. | ||
Line 34: | Line 44: | ||
# Optional: If you want files to be written readable by group members, change your default group to the team <code>def-</code> group, e.g., {{Command|newgrp $PI_GROUP}} | # Optional: If you want files to be written readable by group members, change your default group to the team <code>def-</code> group, e.g., {{Command|newgrp $PI_GROUP}} | ||
<!--T:12--> | |||
'''NOTE:''' In any scripts, etc. used, be sure to replace the above PI_GROUP and PI_PROJECT_DIR variables with what their values are. | '''NOTE:''' In any scripts, etc. used, be sure to replace the above PI_GROUP and PI_PROJECT_DIR variables with what their values are. | ||
= Examples of Slurm job submission scripts = | = Examples of Slurm job submission scripts = <!--T:13--> | ||
The examples below assume that you have installed Materials Studio 2018 according to the instructions above. | The examples below assume that you have installed Materials Studio 2018 according to the instructions above. | ||
{{File|contents= | {{File|contents= | ||
<!--T:14--> | |||
#!/bin/bash | #!/bin/bash | ||
#SBATCH --nodes=1 | #SBATCH --nodes=1 | ||
Line 46: | Line 58: | ||
#SBATCH --time=12:00:00 | #SBATCH --time=12:00:00 | ||
<!--T:15--> | |||
module load materialsstudio/2018 | module load materialsstudio/2018 | ||
<!--T:16--> | |||
# Create a list of nodes to be used for the job | # Create a list of nodes to be used for the job | ||
DSD_MachineList="machines.LINUX" | DSD_MachineList="machines.LINUX" | ||
Line 53: | Line 67: | ||
export DSD_MachineList | export DSD_MachineList | ||
<!--T:17--> | |||
# Job to run | # Job to run | ||
RunDMol3.sh -np $SLURM_CPUS_PER_TASK Brucite001f | RunDMol3.sh -np $SLURM_CPUS_PER_TASK Brucite001f | ||
Line 59: | Line 74: | ||
{{File|contents= | {{File|contents= | ||
<!--T:18--> | |||
#!/bin/bash | #!/bin/bash | ||
#SBATCH --nodes=1 | #SBATCH --nodes=1 | ||
Line 66: | Line 82: | ||
#SBATCH --time=0-12:00 | #SBATCH --time=0-12:00 | ||
<!--T:19--> | |||
module load materialsstudio/2018 | module load materialsstudio/2018 | ||
<!--T:20--> | |||
DSD_MachineList="mpd.hosts" | DSD_MachineList="mpd.hosts" | ||
slurm_hl2hl.py --format MPIHOSTLIST >$DSD_MachineList | slurm_hl2hl.py --format MPIHOSTLIST >$DSD_MachineList | ||
export DSD_MachineList | export DSD_MachineList | ||
<!--T:21--> | |||
RunCASTEP.sh -np $SLURM_CPUS_PER_TASK castepjob | RunCASTEP.sh -np $SLURM_CPUS_PER_TASK castepjob | ||
<!--T:22--> | |||
if [ -f castepjob_NMR.param ]; then | if [ -f castepjob_NMR.param ]; then | ||
cp castepjob.check castepjob_NMR.check | cp castepjob.check castepjob_NMR.check | ||
Line 80: | Line 100: | ||
}} | }} | ||
= Installing earlier versions of Materials Studio = | = Installing earlier versions of Materials Studio = <!--T:23--> | ||
<!--T:24--> | |||
If you require using an earlier version of Materials Studio than 2018, you will need to install in into a [[Singularity]] container. This involves: | If you require using an earlier version of Materials Studio than 2018, you will need to install in into a [[Singularity]] container. This involves: | ||
# Creating a Singularity container with a compatible distribution of Linux installed in it. | # Creating a Singularity container with a compatible distribution of Linux installed in it. |