IMPORTANT INFORMATION ABOUT BASSI
Before logging into bassi, please change your initial password at the NIM
website. Although bassi will allow you to login with the initial password,
the initial password expires after 24 hours on NIM, and you will not be able to login to bassi. After three unsuccessful
login attempts, your account will be disabled until you call NERSC and ask them to clear your login
failures.
Lab 4 - 9/15/08
Today's lab session is intended to allow you to get comfortable with using bassi, start programming and get some
timing data. We will extend last week's circuit satisfiability problem to more inputs, and see
how execution time varies according to the number of inputs and the number of tasks per node.
Primary Tasks
- Login to bassi.
- Copy sat24.c
and iterate.csh to your home directory. Note that
since these files need to be copied to your bassi account, you may simply
want to do a wget with the
url of the files here.
- Compile sat24.c.
- Run the iterate.csh shell script. Note: DO NOT submit
iterate.csh though llsubmit, simply execute it at the shell prompt.
Secondary Tasks
- Extend sat.c to 20 and 24 inputs. (Do not spend more
than 10-15 minutes on this task)
- Comment out print statements and add timing code. (Do not spend more than
10-15 minutes on this task)
- Compile the code.
- Study the iterate.csh script. It is a shell script that first
creates a batch job file, and then submits it using llsubmit. It actually
does this in a loop so that many jobs are submitted. In future you will
need to modify it for your own jobs. There are three places that you will
need to do this: you will need to change the number of processors per node
parameter (i.e., the foreach ppn loop); you will need to change the
executable that is specified at the bottom of the job file being created;
and finally you may want to change the numer of iterations (reps) for the
progrma runs.
After you have timing data, plot the speedup.
Sample Codes