Python Development on M2

HPC OnDemand Web Portal

HPC OnDemand provides an integrated, single access point for HPC resources on the ManeFrame II (M2) supercomputer.

Accessing the Portal

Access to the HPC OnDemand web portal requires an existing M2 account.

  1. Go to hpc.smu.edu.
  2. Sign in using your SMU ID and SMU password

JupyterLab

  1. Select “JupyterLab” from the “Interactive Apps” drop-down menu.
  2. Select options required for your JupyterLab instance. These options are the same as those requested via a standard Slurm script on M2. For today’s workshop, leave “Additional environment modules to load”, “Custom module paths”, and “Custom environment settings” blank, set “Partition” to “htc”, set “Number of hours” to 8, “Number of nodes” to 1, “Cores per node” to 1, “GPUs per node” to 0, and “Memory” to 4.
  3. Select “Launch”
  4. Wait for the job to start on M2. When the job starts a new button “Connect to JupyterLab” button will appear.
  5. Select “Connect to JupyterLab”
  6. The Jupyter Notebook graphical interface will be presented and running on the M2 resource requested.
  7. When finished using the JupyterLab instance, return to the “My Interactive Sessions” tab in your browser and select “Delete” and “Confirm”, when prompted, to cancel the job on M2.

Schedule

09:00 1. Running and Quitting How can I run Python programs?
09:15 2. Variables and Assignment How can I store data in programs?
09:35 3. Data Types and Type Conversion What kinds of data do programs store?
How can I convert one type to another?
09:55 4. Built-in Functions and Help How can I use built-in functions?
How can I find out what they do?
What kind of errors can occur in programs?
10:20 5. Morning Coffee Break
10:35 6. Libraries How can I use software that other people have written?
How can I find out what that software does?
10:55 7. Reading Tabular Data into DataFrames How can I read tabular data?
11:15 8. Pandas DataFrames How can I do statistical analysis of tabular data?
11:45 9. Plotting How can I plot my data?
How can I save my plot for publishing?
12:15 10. Lunch Break
13:45 11. Lists How can I store multiple values?
14:05 12. For Loops How can I make a program do many things?
14:30 13. Conditionals How can programs do different things for different data?
14:55 14. Looping Over Data Sets How can I process many data sets with a single command?
15:10 15. Afternoon Coffee Break
15:25 16. Writing Functions How can I create my own functions?
15:50 17. Variable Scope How do function calls actually work?
How can I determine where errors occurred?
16:10 18. Programming Style How can I make my programs more readable?
How do most programmers format their code?
How can programs check their own operation?
16:40 19. Wrap-Up What have we learned?
What else is out there and where do I find it?