Office: | Harney 406 |

Phone: | 415-422-6630 |

Fax: | 415-422-5800 |

Email: |
domain: usfca.edu, user: peter |

Mail: | Department of Computer Science |

University of San Francisco | |

San Francisco, CA 94117 | |

Office Hours: |
MW 4:45-5:45, F 12-1, and by appointment |

Fall 2017 Classes: |
Introduction to Parallel Computing |

Discrete Mathematics | |

Spring 2016 Classes: | Computer Architecture, Section 1 |

Linear Algebra and Probability, Section 1 | |

Fall 2015 Classes: | Discrete Mathematics, Section 1 |

Introduction to Parallel Computing, Section 1 | |

Introduction to Parallel Computing, Section 2 | |

Spring 2015 Classes: | Computer Architecture, Section 1 |

Linear Algebra and Probability, Section 2 | |

Fall 2014 Classes: | Introduction to Parallel Computing, Section 1 |

Introduction to Parallel Computing, Section 2 | |

Spring 2014 Classes: | Computer Architecture |

Parallel and Distributed Computing | |

Fall 2013 Classes: | Discrete Mathematics |

Introduction to Parallel Computing | |

Spring 2013: | Computer Architecture |

Fall 2012: | Discrete Mathematics |

Introduction to Parallel Computing |

My main research interest is in parallel computing. I've
been involved in the development of the
MPI Standard for message-passing,
and I've written a short
* User's Guide
to MPI*. My book *
Parallel Programming with MPI* is an elementary introduction
to programming parallel systems that use the MPI 1 library of
extensions to C and Fortran.
It is intended for use by students and professionals with
some knowledge of programming conventional, single-processor systems,
but who have little or no experience programming multiprocessor systems.

I've also worked in computational neuroscience, and my students and I have developed a collection of programs, Parallel Neurosys, for the simulation of large networks of biologically accurate neurons on parallel computers.

Most recently I've written a more general introduction to parallel
programming, *An Introduction to
Parallel Programming*. This is also an elementary
introduction to parallel programming, but in addition to MPI,
it introduces parallel programming in Pthreads and
OpenMP.

Here's a short
introductory talk on CUDA programming that I gave in the
Computer Science Colloquium at Sonoma State.
Here are the slides and
the source code for the talk.

**Software License**

Unless otherwise indicated all of the software on this site
(cs.usfca.edu/~peter)
is released under the BSD 2-Clause
License.

**USF Links**

USF Computer Science Department Home Page

USF Mathematics Department Home Page

USF Home Page