Any faculty, staff or student at Princeton can use the computing resources operated by Research Computing. Here's what you need to do:
1. Get a Princeton computer account
All Princeton faculty, staff and students are automatically assigned a computer account (netID) and e-mail address. Any non-Princeton user must be sponsored by a Princeton faculty or staff member for a Research Computer User (RCU) account.
2. Enable Unix shell access
Next you need to enable “Unix shell access” for your netID. The process is described in a knowledgebase article titled, Unix: How do I enable/change the default Unix shell on my account?
3. Decide which system to use
Research Computing operates several different systems, which are described on the Available Systems web page. If you are not sure which system would be best for you, read the document, Which System to Use.
4. Request access to the system
To use Nobel or Adroit, simply fill out the Nobel request form or the Adroit request form. Access to the other, larger clusters is granted on the basis of proposals from faculty members. Information about the proposal process is on the Request Access to our Systems web page. To add new participants to an existing project, the sponsoring faculty member simply sends e-mail to firstname.lastname@example.org.
5. Connect from wireless or off campus
Access to Research Computing systems is allowed from any campus wired or wireless network except the puvisitor wireless network. If you encounter difficulties then see this page.
6. Connect to the system from your computer
To connect to any of the Research Computing systems use SSH and login with your netID. Users of Apple Macintosh and Unix/Linux need only open a terminal window and type the “ssh” command followed by their netID and the name of the system they want to use. For example, the user "aturing" would connect to adroit by opening a terminal window and running:
Users of MS Windows systems must first install an SSH client program. The OIT Tech Clinic recommends MobaXterm, which combines SSH, SFTP, and X-Windows capabilities. Another option is PuTTY which is also supported by OIT.
After you have connected, you will be prompted for your password. Then you will be prompted to enter Linux commands. The following example shows "aturing" logging into the Adroit system:
Last login: Tue Oct 3 12:07:27 2019 from 18.104.22.168
If you are not familiar with high-performance computing and Linux, materials from the Research Computing workshop, Getting Started with the HPC Clusters, are available online.
7. Locate or create the program that you want to run
If you want to run an existing program
Many commonly used research applications are already installed on the Research Computing clusters. A list of available licensed software is on the Research Computing web site. On Nobel, you run the program directly, by typing the appropriate command after the Linux prompt. On other systems, you must create a “script file” containing the commands needed to run the program and “submit” the job script to the SLURM scheduler. An example of creating and running a Matlab job is in the documents, How to run MATLAB jobs on the TIGRESS clusters and Your First SLURM Script to Run MATLAB.
If you want to run a program that you create yourself
The process for creating, compiling and running a program in C, C++ or Fortran is described in the documents, Compiling and Running MPI Jobs, and How to Build a Program using Intel MKL. You can create the program source on your own computer and transfer it to the cluster, or you can use one of the editing programs provided on the cluster.
8. Create and submit a script file to run your program
A SLURM script file is just a text file that begins with a few lines containing directives for the SLURM scheduler followed by the Unix commands to run your program. You can create the file with any editor that can create plain text files. You submit the job by issuing the SBATCH command followed by the name of the script file. For more instructions on using SLURM, see Introducing SLURM
Storing your data and programs
All of the large clusters are connected to a very large, fast storage system named /tigress. It provides long-term, backed up storage for all cluster users. In addition, each cluster has small, fast, locally connected storage. Local storage is divided into a home directory where you can store program files, job scripts, etc., and a scratch directory that you use for reading and writing data during a program run. For more information about the options for data storage, see "Where should I store my files?" on the Research Computing web site.
Transferring data between computers
To transfer small amounts of data between computers, you can use sftp or scp. The knowledgebase article on ssh and sftp explains how to install and use these programs on a Mac or Windows PC.
Use the Globus data transfer network to transfer large data files between Princeton computers and also to/from computers at other institutions. For more information about Globus, see Globus Data Transfer at Princeton on the Research Computing web site.
Many tools and techniques are available for visualizing data. For general visualization questions, send e-mail to email@example.com or come to the Thursday afternoon help session where specialized visualization assistance is available. For help with visualization of geographic data, often referred to as Geographical Information Systems (GIS), refer to the Getting Started with Geographic Information Systems document on the Research Computing web site.
For More Information
Answers to common questions about use of Research Computing systems can be found in the FAQ section of the Research Computing web site and on the AskRC web site. You can also send questions to cses@Princeton.EDU or come to one of the Help Sessions on Tuesday from 10:00 - 11:00 and Thursday from 2:00 - 3:00 in 347 Lewis Library.