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

  1. Login to bassi.
  2. 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.
  3. Compile sat24.c.
  4. Run the iterate.csh shell script. Note: DO NOT submit iterate.csh though llsubmit, simply execute it at the shell prompt.

Secondary Tasks

  1. Extend sat.c to 20 and 24 inputs. (Do not spend more than 10-15 minutes on this task)
  2. Comment out print statements and add timing code. (Do not spend more than 10-15 minutes on this task)
  3. Compile the code.
  4. 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