12-759 Computational Optimization of Systems Governed by Partial Differential Equations

Carnegie Mellon University - Fall 2003
Professor Omar Ghattas

12-759 | setup | sundance | tutorial

Computing Environment Logistics

Below you will find the steps you need to take before start coding using Sundance. Without executing these steps, you will not be able to access Sundance and do your assigments.

Note: We assume you are somehow familiar with basic Unix/Linux (shells, environment variables, etc.), code development in Linux (currently, Sundance is only supported in Linux), and know a few other simple bits of Unix programming and usage (e.g., use of make). If you are not familiar with Unix/Linux, you might want to consider taking the Unix course offered online by Computing Services. Be assured: you will only need basic knowledge of Linux commands to accomplish your homeworks.

 

Computing in Linux

If you are new to Linux and Unix, computing services offers an introductory online course, called Using Unix, as part of their Online Classes. It is available through your web browser and you can teach yourself the essential commands you will need while working on the class assignments. The course has also a short introduction to Emacs, a major text editor available in all Linux/Unix machines on campus. If you are not familiar with Emacs and you plan to use it, that's a good chance to start learning it.

The course is available at www.cmu.edu/computing/education/networking/unix

Account setup

Because the Sundance library is installed in the CS realm in a non-public directory, to access it from your Andrew and/or CS account you will need to:

  • create a Protection Database ID in the CS cell (Andrew users only); and
  • set up a few environment variables (Andrew and CS users)

Only after you complete these two steps you will have access to Sundance.


1 - Creating your CS ID (Andrew users only)

First, check if you do have an ID in the CS cell database by typing the following in your command shell:

%> pts examine andrew_login@andrew.cmu.edu -cell cs.cmu.edu

where andrew_login is your Andrew account name. If you are registered, your output should be similar to the one below:

%> pts examine cunha@andrew.cmu.edu -cell cs.cmu.edu
Name: cunha@andrew.cmu.edu, id: 212794491, owner: system:administrators, creator: system:administrators, membership: 2, flags: S----, group quota: 0.

If this is what you get, jump to step 2. You are done with step 1. But if instead you get

%> pts examine cunha@andrew.cmu.edu -cell cs.cmu.edu
pts: User or group doesn't exist so couldn't look up id for cunha@andrew.cmu.edu

then you will need to create an ID in the CS cell. Login to an Andrew machine (e.g., linux.andrew.cmu.edu - this is your target platform) and type:

%> aklog cs.cmu.edu

You should have now an AFS ticket to CS. To check that, type

%> klist

aklog should also automatically create an ID for you in the CS cell. Use 'pts examine' as shown above to verify that your entry was accepted by the CS registry. If not, then try to force the creation using

%> pts createuser andrew_login@andrew.cmu.edu -cell cs.cmu.edu

Examine again and if you are still unable to create an entry, please email me the output of 'pts examine' and I will investigate the problem.

Once you have created a CS ID, you can now be added to the group allowed to access the Sundance repository. Send an email with your Andrew login entry to cunha@cmu.edu so I can include you. I can only add you to the group after you notify me.


2 - Setting Environmental Variables (Andrew and CS users)

Andrew users:

If you use csh or tcsh, set the environment variables SUNDANCE_PREFIX and TRILINOS_PREFIX in your .login or .cshrc (or .tcshrc) files, located at your root directory, as in

setenv SUNDANCE_PREFIX /afs/cs.cmu.edu/project/taos-15
setenv TRILINOS_PREFIX /afs/cs.cmu.edu/project/taos-15
so they are properly executed every time you login or start a new shell. If instead you use bash, add the following lines to your .login or .bashrc files
SUNDANCE_PREFIX=/afs/cs.cmu.edu/project/taos-15
TRILINOS_PREFIX=/afs/cs.cmu.edu/project/taos-15
export SUNDANCE_PREFIX
export TRILINOS_PREFIX

CS users:

The procedure is the same one as for Andrew users but you should use taos-16 instead of taos-15 in the instructions above.

Users disk space

Any executable that uses Sundance is pretty large, around 20M+ each. That's because Sundance comes with static libraries. You may easily exceed your Andrew disk quota after linking one single code or you may not even have enough disk space to build one single executable.

To overcome this quota problem, we created auxiliary disk space for users at /afs/cs.cmu.edu/project/taos-15/home so you could have extra disk space in case you run out at your Andrew account. Your space has your Andrew login name and is only accessible by you and the course administrators. To access it, all you need is to 'cd' to the directory with your login name:

%> cd /afs/cs/project/taos-15/home/andrew_login

Your account will be available to you until the end of the course. After that, it will be deleted. So, make sure you backup your disk space and data before we scratch it out.

VERY IMPORTANT: Use your disk space with discretion! There is no quota per user and all users share the same disk. If you leave many executables behind in your directory others will have no space left to work. The total disk partition is 400MB shared by all users and Sundance installation.

We ask you to remove your executables at the end of every working section. You can always create them again when you come back later.

Send comments and questions about this page to Alexandre Cunha