Materials Studio: Difference between revisions

Marked this version for translation
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.
Bureaucrats, cc_docs_admin, cc_staff
2,879

edits