General Questions

Read this article.

Method 1: Please contact the admin and request them run update-alternatives as documented here.

Method 2: All gcc/g++ versions are installed in /usr/bin/. Following is an example on how you can use gcc-8 as gcc using a simple trick (without sudo).

gcc -v#You will see what the current gcc version is
mkdir ~/symlinks
cd ~/symlinks
ln -s /usr/bin/gcc-8 ./gcc #We are creating a symbolic link called gcc to gcc-8
export PATH="~/symlinks:$PATH" #We add the new gcc to the path (before the existing path)
cd ~
gcc -v #Now you get the gcc-8 when you run gcc command

If you are working on a heavy CPU bound computation, use Aiken. Kepler would be suitable if you are working on deep learning because of better GPUs and ready made datasets on the server.

Suggested solution: Labml is an all in one solution for conducting, logging and monitoring NN based experiments on mobile/remote PC.

  1. SSH into the server using your non-sudo user account.
  2. It is assumed that you are installing conda on your home directory ~/miniconda
    However, given how Peradeniya storage system works, you might have instructions to install it in some other project directory.
  3. Go to the miniconda/conda download webpage and copy the download link for the installer. For example, Miniconda3 Linux 64 bit installer on
    https://docs.conda.io/en/latest/miniconda.html is https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
  4. Run the following commands on the SSH shell. (Mind the spaces)
    Command Description
    Download the installer.
    Run the .sh bash installer.
    ENTER To continue with the installer
    Keep reading the agreement to the end
    yes To agree
    ~/miniconda Select an installation folder. This is just an example. You may use something that you see fit.
    no Do not run the init.
    Ideally, you should be able to. However, our multiple NFS (network file system) makes things very complicated.
    ~/miniconda/bin/conda init --user bash ~/miniconda/bin/conda init
    Here, we make sure we run the init from our new installation.
    This change is only for your user account
    This change is only for your ~/.bashrc
    --user This change is only for your user account.
    Logout and login to the SSH shell again
    source ~/.bashrc Once this is run, you should see (base) on your SSH prompt.
    which conda
    which python
    You can use these commands to verify if you are using the correct conda/python installations.
  5. This document is a good quick start guide for conda.
  6. When you log in through SSH later, if you don't see (base) in the prompt, you have to run source ~/.bashrc
  7. If you have any questions, you can reach out to the following people.
  8. If you have questions about anything, please try to ask them on the PeraCOM Discord #ask-for-help channel. That is helpful to the community as a whole. If you are not already on the discord, please ask for an invitation from e17154@eng.pdn.ac.lk and e16088@eng.pdn.ac.lk

Individual students have their storage as babbage.ce.pdn.ac.lk:/home/e14000 [Not really, but don't worry]. This storage is mounted to the same location to every other server (aiken, tesla, kepler, turing, new HP server) through network interfaces. However, you can request additional storage for your projects on individual servers. This storage is usually faster than babbage.

Make a post on #ask-for-helpon #PeraCOMDiscord with the following information.

  1. Which server do you need this folder to be created on?
  2. Project name (This should follow the cepdnaclk github repo naming convention. E.g. e14-co542-deep-learning, e15-4yp-object-detection, pg-deepselectnet).
  3. E numbers of the project group (this can be one or more students).If you are a postgrad student, your aiken/tesla username is your “e number”.
  4. Endorsing academic staff member (this can be the course coordinator or the project adviser).

We will create a unix group and a folder with chmod 770 permission on the server. We will update this information on the “Server groups, folders, and datasets” Google sheet on this web page.

Please note that every folder comes with an expiry date. Check the date on the Google sheet and make sure that your endorsing academic staff member sends a time extension request (e.g. “extend the expiration date of kepler:/e14-4yp-explainable-ml by 6 months”) to webmaster.github.ce@eng.pdn.ac.lk when it is close to the expiry date.