To run Apps on Brainlife, you need to use resources. It is possible to use shared compute resources but because these resources are available to all BL users, users must often wait on the queue for requested tasks to get executed. To circumvent this issue, it is possible, if you have resource owner privilege, to register your own compute resources. To get more details, check out the Brainlife documentation.
Get the resource owner privilege
When you have an IU email address (ask Aina to create one for you), you can go there https://access.iu.edu/Accounts/Create, and follow the steps to create your IU account. Then request for slate
, slate-project
, bigred3
, carbonate
, and other accounts:
Then, you also have to request to enable ssh key login. To do so you have to agree to this form: https://hpceverywhere.iu.edu/forms/agree#/agree
Next step is to ask to the ICM IT team to enable the connection to a host outside the lab by creating a ticket (see Problem encountered when connecting via SSH to a UI remote server).
Finally, you can follow the steps described here: https://kb.iu.edu/d/aews to add you ssh public key to the authorized_keys
of the remote server.
To log in to the remote system (for instance carbonate
), use:
$ ssh <userID>@carbonate.uits.iu.edu
Configure resources
Once you are logged in the remote system:
Install Brainlife's default ABCD hooks:
git clone https://github.com/brain-life/abcd-spec
Add one of following to your remote ~/.bashrc
according to the account you have requested in the “Get the resource owner privilege” step:
For PBS and Slurm clusters
export PATH=~/abcd-spec/hooks/slurm:$PATH
For direct execution
export PATH=~/abcd-spec/hooks/direct:$PATH
2. Add common binaries in your .bashrc
:
export PATH=$PATH:/N/u/brlife/BigRed3/app/node-v12.13.0-linux-x64/bin export PATH=$PATH:/N/u/brlife/Carbonate/bin module load singularity 2>/dev/null export SINGULARITY_CACHEDIR=/N/slate/$USER/singularity export SINGULARITY_BINDPATH=/N/slate/$USER/scratch,/geode2/home export PATH=/N/u/brlife/Carbonate/abcd-spec/hooks/slurm:$PATH
3. Create directories:
$ mkdir /N/slate/<userid>/scratch $ mkdir /N/slate/<userid>/singularity
Register resources
To register your resource, go to the Resource page on BL, and click "Add New Account". If you don’t see that button, ask Soichi to update your BL account. A resource entry form should appear and you have to fill the following fields:
Name: enter the name of the resource, you can name your resource whatever you like, but you should make it clear that it's your personal resource - not shared
Hostname: the hostname of your compute resource (usually a login/submit host). For
Carbonate
, usecarbonate.uits.iu.edu
Username: username used to ssh to this resource
Workdir: directory used to stage and store generated datasets by Apps:
/N/slate/<userid>/scratch
SSH Public Key: copy the content of this key to your resource's
~/.ssh/authorized_keys
.
You can leave the rest of the fields empty for now.
Once you are finished with copying ssh key and make sure the workdir exists, click "Test" button to see if Brainlife can access your resource. You should see a green checkbox if everything is good.
Add Comment