Publications

If you are new to Research Computing, we advise you to begin by reading the extensive user guides available on the support page.

The additional publications listed below are meant to serve as references for those who need to delve deeper into specific topics.

Using UNIX

Sams Teach Yourself UNIX in 24 Hours (4th Edition), ISBN 0672328143

This is an excellent tutorial for learning UNIX from the ground up that covers the UNIX command line, managing disk usage, shell scripting, communication tools, and Perl programming. It’s highly recommended for individuals new to the UNIX command-line environment.

Unix in a Nutshell (4th Edition), ISBN 0596100299

This reference guide for UNIX and UNIX-like systems including Linux, Solaris and Mac OS X, covers basic UNIX commands, shells, text editors, and some programming tools. It’s a good choice for individuals using multiple UNIX systems (including those using Mac OS X).

Programming under UNIX

These texts cover basic programming language concepts and UNIX programming tools. They are not specific to parallel programming.

 

The C/UNIX Programmer’s Guide, ISBN 0967059607

This is a beginner to intermediate text about all aspects of programming in the UNIX environment, including basic UNIX use, the C programming language, UNIX programming tools, UNIX libraries, and an introduction to C++.

Advanced Programming in the UNIX Environment (2nd edition), ISBN 0321525949

This is an advanced text on programming under UNIX which covers process control and communication, threads, signals, network programming, terminal I/O, and database concepts.

FORTRAN 90/95 for Scientists and Engineers, ISBN 0070119384

This introductory text on Fortran 90 and Fortran 95 programming is a good choice for researchers who want to focus on mastering Fortran.

Computing for Scientists: Principles of Programming with Fortran 90 and C++, ISBN 0471955965

This introductory text on scientific programming that contrasts Fortran and C++ is a good choice for researchers doing projects using both languages.

MPI Programming (Distributed Parallel)

These texts are specific to parallel programming, and assume knowledge of basic programming concepts and programming tools.

Parallel Programming with MPI, ISBN 1-55860-339-5

This is an excellent introduction to parallel programming concepts and MPI; the book focuses on MPI programming in C.

0123742609 978-0123742605

A tutorial approach to show students how to develop effective parallel programs with MPI, Pthreads, and OpenMP

Using MPI, ISBN 0-262-57132-3

Here is another good introductory resource that contains less background information on parallel programming, but has examples in MPI programs in Fortran, C and C++.

MPI – The Complete Reference, ISBN 0-262-69215-5

This detailed reference on the MPI interface is aimed at advanced MPI programmers who want a deeper understanding of MPI and its use.

Sourcebook of Parallel Computing, ISBN 1-55860-871-0

This text provides an extensive discussion of various techniques and systems available for a variety of parallel programming tasks as well as the theory behind them.

OpenMP Programming (Shared Memory Parallel)

These texts are specific to parallel programming, and assume knowledge of basic programming concepts and programming tools.

0123742609 978-0123742605

A tutorial approach to show students how to develop effective parallel programs with MPI, Pthreads, and OpenMP.

Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation) 0262533022 978-0262533027

A comprehensive overview of OpenMP, the standard application programming interface for shared memory parallel computing–a reference for students and professionals. Includes examples in C and Fortran.