Usage of Gadi#

We are extremely fortunate to have been given access to Gadi in this course. Please use the machine with respect. CPU time is also limited collectively over the entire group. This means a single user can exhaust all the time of the entire group. Thus please ensure your usage is no more than necessary. In particular, please also read carefully the usage policy of this precious resource here.

The biggest risk is when a batch job has no wall clock time limit set and gets `stuck’ (e.g. on an MPI messaging generated-deadlock). In order to avoid this, please:

  • Test that your code works correctly in the interactive node before submitting a batch job to the queue. 20 processes or less should be large enough to expose any bugs.
  • Ensure that you always set a modest time limit in your batch file, e.g. #PBS -l walltime=00:00:30 The above specifies a 30 seconds wall clock time limit (this is a very long time on a GHz machine!). For the purposes of the assignments and labs set this year, this should be plenty!

Access and usage of stugpu2.anu.edu.au (GPU Programming with CUDA)#

IMPORTANT: for Lab 6 and Assignment 2, we will use stugpu2.anu.edu.au, which you can access using your ANU id: ssh <uid>@stugpu2.anu.edu.au and password when prompted. Similarly to partch.anu.edu.au, it mounts your CS Linux Labs home directory. Note: due to firewall issues, you may need to connect via the ANU Global Protect VPN

Gitlab Usage#

Forking a copy of the assignment repo into your user space on GitLab#

  1. Go to the assignment’s GitLab project URL, e.g. https://gitlab.cecs.anu.edu.au/comp4300/2024/comp4300-assignment1
  2. Click Fork
  3. Go to your own version of the forked project, e.g. https://gitlab.cecs.anu.edu.au/u9999999/comp4300-assignment1, where u9999999 is your GitLab username (and ANU id).
  4. Check that the project is Private (it should be by default).
  5. If not, click on the project’s settings icon, select Edit Project, check Private on Visibility Level
  6. Click on project’s settings icon, select Members. You should see that comp4300-2024-s1-marker has automatically been added as a Maintainer (if not, add it!). If the marker account is not added, we cannot mark your assignment!

Note: the project settings icon should appear on the top right, below the GitLab settings icon (to right of Project …. Wiki tabs). If you can’t see the project settings icon, try widening the browser window or decreasing the browser font size.

Cloning a copy of your project to work on#

  • Set up your ssh keys from each computer you wish to clone from in the GitLab web interface. Instructions available here.
  • To this end, go to your GitLab user menu (top and far right) and click Settings.
  • On the sub-menu (on the left), select the (add ssh) key icon. Follow the directions from there. Note that the git command-line interface both identifies you and authenticates you by ssh key.
  • Log in to the desired machine and get a shell in the directory you want to check out your assignment.
  • Then do:
      git clone git@gitlab.cecs.anu.edu.au:u9999999/comp4300-assignment1
    

    where u9999999 is your GitLab username (and ANU id).

  • From here, you will be able to work on the assignment files.
  • For example, for Assignment 1, each time you want to register your progress, you would do:
    git add parAdvect.c ps-ass1Rep.pdf
    git commit
    git push
    
    • The git add command informs git which files to add to the next commit, the git commit creates a new commit, and the git push sends the commit changes to the remote GitLab project.
    • The git push command can be called as many times as desired (it will be a useful backup of your work).
    • The last push should be performed before the assignment deadline - this version of the files will be the one that is marked.
    • Finally, check your submission. Go to your own version of the forked project, e.g. https://gitlab.cecs.anu.edu.au/u9999999/comp4300-assignment1 and check that everything is fine there, e.g. that parAdvect.c and ps-ass1Rep.pdf are in fact the latest versions.

Cloning your project on multiple machines#

  • You may find it useful to clone your GitLab project files on multiple machines, e.g. your own laptop and another computer from which you produce your report file.
  • The same clone command can be used in both machines to get the files from the GitLab’s remote repository.
  • However, before you update any of your assignment files on a given machine, it is highly recommended that you do a git pull to get updates from any git push on the other system. Otherwise, git might detect a conflict whenever it tries to automerge clashing changes performed in both machines to the same file (and conflict might be hard to resolve!).
bars search times arrow-up