Set up model environment
Set up the model environment
You have to do this only once.
But before you set up the model environment on Compute Canada clusters, make sure you have set up the SSM environment. If you have not done this already, click here for instructions.
On the UQAM servers this has already been done during the creation of your account.
Set up the model environment:
- Allow 'ssh $TRUE_HOST' without typing password:
cd ~/.ssh
If the directory ~/.ssh does not exist execute the command:
ssh localhost
type in your password and once you are connected 'exit' again. You should now have the directory ~/.ssh.
Only if there is no(!) file 'id_rsa.pub' create it with:
ssh-keygen (press just 'Enter' whenever asked a question, 3 times)
then
cat id_rsa.pub >> authorized_keys
chmod 644 ~/.ssh/authorized_keys - Add keys to your ~/.ssh/config to not get kicked out from a session:
cat >> ~/.ssh/config << EOF
ForwardX11 no
stricthostkeychecking=no
ServerAliveInterval=15
ServerAliveCountMax=3
TCPKeepAlive=yes
UserKnownHostsFile=/dev/null
EOF
chmod 644 ~/.ssh/config - Create a "host" with the name of the Compute Canada machine you are working on, pointing to 'localhost'
For example for Beluga create the following entry in your ~/.ssh/config (put lower case names):
cat >> ~/.ssh/config << EOF
#
Host beluga
Hostname localhost
EOF - Set ‘umask 022’
On newer Compute Canada clusters, like Cedar and Beluga, by default, everybody within the same group can modify and remove your data under the project space. To prevent this from happening set:
umask 022
If you did step 1) above, this command will already be in your ~/.profile.d/.group_profile but you should add it to your file:
~/.profile.d/.batch_profile
Create the file if you do not have it. - Set the core allocation name you want to use
Create a file in your HOME called:
~/.Account
This file has to contain the project name under which you want to run, nothing else. For users having their account via:
René Laprise or Julie Theriault this is:
rrg-laprise
Francesco Pausata this is:
rrg-pausata
For example:
$ cat ~/.Account
rrg-laprise - Create “storage_model”
When creating your executables the object files, extracted decks and executables will be put in a directory called ${storage_model}. A link will automatically be added to this place from the directory in which you create the executables.
The variable “storage_model“ must be set to a directory in which you have space (therefore not under your home). Because of the small quota for the number of files under the project spaces and because these files are rather small, set this variable to a place under the default (def-professor) space. For example:
export storage_model=~/projects/def-professor/${USER}/Storage_Model
You need to replace ‘professor’ by the name of you professor.
You will then also have to create this directory:
mkdir -p ~/projects/def-professor/${USER}/Storage_Model
You actually need to export the variable “storage_model“ in your two profiles:
~/.profile.d/.interactive_profile
~/.profile.d/.batch_profile
Then you need to create a symbolic link:
ln -s ~/.profile.d/.batch_profile ~/.profile.d/.ssh_profile - Create MODEL_EXEC_RUN and listings
Create the following directories/links in your home which must be links to a place outside your home:
~/MODEL_EXEC_RUN/${TRUE_HOST}
~/listings/${TRUE_HOST}
Unfortunately, the quota for the number of files of the project spaces on Beluga is very small. Therefore, please, link these two directories to your scratch space:
mkdir -p /scratch/${USER}/EXECDIR ~/MODEL_EXEC_RUN
ln -s /scratch/${USER}/EXECDIR ~/MODEL_EXEC_RUN/${TRUE_HOST}
mkdir -p /scratch/${USER}/Listings ~/listings
ln -s /scratch/${USER}/Listings ~/listings/${TRUE_HOST}
Since this is “scratch” space, all files in the above directories will get deleted. Read more about Compute Canada’s scratch policy on the web:
https://docs.computecanada.ca/wiki/Scratch_purging_policy
- Create directories for running CRCM5:
This is different depending on the machine on which you are.
3.1 Create directory/link for the execution directory (where the model will be running):
mkdir ~/MODEL_EXEC_RUN
On guillimin:
For people working for or having their account via Pierre Gauthier your project space is:
PROJECT_SPACE=/sf1/escer/gauthier
If you are with Laxmi Sushamayour project space is:
PROJECT_SPACE=/gs/project/ugh-612-aa
If you are with René Laprise or Julie Theriault your project space is:
PROJECT_SPACE=/gs/project/bgx-133-aa
If you are with another PI, ask your PI for your project space.
On the UQAM servers set "PROJECT_SPACE" to the directory assigned to you by Katja or Nadjet.
Then create the following directory and symbolic link:
mkdir -p ${PROJECT_SPACE}/${USER}/EXECDIR
ln -s ${PROJECT_SPACE}/${USER}/EXECDIR ~/MODEL_EXEC_RUN/${TRUE_HOST}
3.2 Create directory/link for the listings:
While the model is running, all listing go into ~/listings/${TRUE_HOST}.
But at the end of each job all listings get zipped and transfered to arch mach in your archdir as specified in your 'configexp.dot.cfg'. Unless, of course, something went wrong...
mkdir -p ${PROJECT_SPACE}/${USER}/Listings ~/listings
ln -s ${PROJECT_SPACE}/${USER}/Listings ~/listings/${TRUE_HOST}
The following you only have to do on guillimin: - Set project name of which to use the core allocation:
You will have to create a file in your HOME on guillimin which is called:
${HOME}/.CLUMEQ_accnt
This file has to contain 1 variable called 'RAPid', set to the RAPid of the project under which you want to submit your job.
For people working for or having their account via Pierre Gauthier you will have to set in the above file:
RAPid=xgk-345-aa
If you are with Laxmi Sushama set:
RAPid=ugh-612-ac
or if you are with René Laprise or Julie Theriault you will have to set:
RAPid=bgx-133-ab
If you are with another PI, ask your PI for the "job accounting number".
Have a look at my file if you like:
~winger/.CLUMEQ_accnt