LARA

Setup

The grading infrastructure for the assignments on parallelism and concurrency will be hosted on larasrv13.epfl.ch. This website is only accessible on the EPFL network. If you ever need to access this website from outside EPFL, please use the VPN.

On this website, you will be asked to login using your GASPAR account. Once this is done, select “Parallelism and Concurrency” from the list of courses.
The first time you log in to the course, you will be asked to create a group (of 1…). To do so, simply follow the simple instructions on the website.

SSH keys

Authentication to the service works by using a SSH key. You will be asked to enter your public key in the web interface. If you do not already have a private/public key combination for your computer, follow these instructions. Note that you typically generate one key pair per computer that you use.

Linux & Mac OS X

From the command line, type the following command:

ssh-keygen -t rsa -b 2048

Type enter to save it in the default location.
Choose a passphrase, or type enter to ignore it.
If you choose to enter a passphrase, be sure to remember it!

Copying your public key to the server

Your public key is now stored in a file (typically, in ~/.ssh/id_rsa.pub). You will need to copy-paste the content of this file into the website. Make sure you copy your entire key, including the ssh-rsa prefix and the key identifier at the end.

Windows

To generate SSH keys on Windows, you must have Git Bash installed on your computer. This program comes with the git installation on Windows. If you don't have this program, please install git first.

Once you have git installed, open the Git Bash program, normally found in the start menu, and type the following command:

ssh-keygen -t rsa

The command will then ask for a location, which you can leave as the default. It will then also ask for a passphrase, which you may leave empty. If you don't, make sure to remember your passphrase!

Copying your public key to the server

You should now have a file called id_rsa.pub at the location you chose. You will need to copy-paste the content of this file into the website. Make sure you copy your entire key, including the ssh-rsa prefix and the key identifier at the end.

Git

Submitting code to the platform is done using git. If you are not familiar with git, do not worry, we will provide you with all the commands. First, please ensure that git is installed on your computer. On your command line:

git --version

Should return the version of git that is installed on your machine. The above command returns an error, you probably don't have git installed. Before proceeding, please install git.

Cloning the repository

To clone the repository, type the following command in the location you would like the repository folder to be located:

git clone git@larasrv13.epfl.ch:parcon2017-group??

Where ?? is your group number. You can find the complete URI in the web interface.

This command will create a folder named parcon-group??. This folder is your repository folder. Always issue the git commands for the repository in that folder. You can now move your terminal into it:

cd parcon2017-group??

Downloading the handout

You will find a link to the handout in the project description. Download it, extract it into your repository. Make sure that you do not create any subfolders during the extraction. For instance, if your repo is /home/user/myrepo and the handout has files: src, and build.sbt, extract it so that /home/user/myrepo/src is the location of src, and /home/user/myrepo/build.sbt is the location of build.sbt.

Once this is done, type the two following commands in the repository folder:

git add .
git commit -m "Initial Commit."

Those commands will make sure that the handout files you have just copied are registered in the repository.

Sending code to the server

To send code to the server, type the following command in the repository folder:

git push

Initially, for your first push, you may need to specify which remote and branch to push to. This is done using the following command:

git push origin master

If you want to upload a new version of your code to the server, you must first add your changes to the local repository. This is done using:

git commit -a -m "Informative message about what was done. You can change this!"

Running tests on the server

You can run tests on the server from the Tests tab on the website.

Submitting a deliverable

Once you have a working solution, you should deliver it for grading. To do so, click on the Deliverables tab on the website. Indicate the commit number of the solution you want to deliver. To obtain this number, type the following command in the repository folder:

git rev-parse HEAD

You can submit any number of times before the deadline. Only the last submission will count.

Note that if we will not grade any solution that was not delivered!