Difference between revisions of "Getting Started"

From UFRC
Jump to navigation Jump to search
 
(211 intermediate revisions by 15 users not shown)
Line 1: Line 1:
{|align=right
+
[[Category:Essentials]]
  |__TOC__
+
Welcome to UF Research Computing! This page is intended to help new clients getting started on HiPerGator use.
  |}
 
==Getting an account==
 
To get an account at the UF HPC Center, you need to read the HPC Center [http://www.hpc.ufl.edu/users/accounts.php Policies] and then put a request in at our request page. That page is [http://www.hpc.ufl.edu/support/acctrqst/ located here].
 
  
==Login==
+
Note that new users are highly encouraged to take the [[New_user_training|New User Training]] course to familiarize themselves with using a supercomputer for research, save time, and avoid many beginner mistakes.
===Linux / Unix===
 
Open a terminal and run
 
ssh -Y <YOUR_USERNAME>@submit.hpc.ufl.edu
 
where <code><YOUR_USERNAME></code> is your HPC Center username, which was sent to you when you got your HPC Center account.
 
  
The command <code>ssh -Y <YOUR_USERNAME>@submit.hpc.ufl.edu</code> is what you would type in at a command prompt on your system.  After this, it asks you for a password, which you type in. After that, you are logged in and ready to work.  As a concrete example, if your HPC Center username is "smith", you would use the command <code>ssh smith@submit.hpc.ufl.edu</code> to log into the HPC Center.
 
  
The <code>-Y</code> option is used to indicate that X11 forwarding should be enabled on the connection. If your desktop supports an X Windows server, X11 forwarding will allow you to run X Windows clients on the HPC Center's interactive servers and view the display on your desktop. Otherwise, the <code>-Y</code> option is not necessary.
+
=From Zero to HiPerGator=
 +
===Initial Consult===
 +
If a face-to-face discussion about the group's needs is needed you can [https://outlook.office365.com/owa/calendar/UFITResearchComputingSupport@uflorida.onmicrosoft.com/bookings/ schedule an appointment] to [https://www.rc.ufl.edu/get-support/walk-in-support/ meet with one of the UF Research Computing Facilitators] face-to-face or virtually, or [https://support.rc.ufl.edu/ submit a support request to start the conversation].
  
===Windows===
 
Microsoft Windows does not come with a built-in SSH client. You have to download a client from the web. We recommend the following software:
 
* SSH client - [http://www.chiark.greenend.org.uk/~sgtatham/putty Putty]
 
** [[PuTTY|configuration instructions for UF HPC]]
 
* Graphical file transfer clients:
 
** [http://filezilla-project.org/download.php?type=client FileZilla]. See our [[FileZilla|tutorial on transferring files to UF HPC using FileZilla]].
 
** [http://winscp.net/eng/index.php WinSCP]
 
====X Windows for MS Windows====
 
For Windows users who would like to run [http://en.wikipedia.org/wiki/X_Window_System X Windows] applications, there are several X Windows servers available for the MS Windows operating system.
 
  
* [http://mobaxterm.mobatek.net/ MobaXterm]
+
For the initial interview we recommend prospective users to be ready to answer questions such as:
* [http://www.straightrunning.com/XmingNotes/ Xming] ([http://sourceforge.net/projects/xming/files/Xming/6.9.0.31/Xming-6-9-0-31-setup.exe/download download])
 
* [http://connectivity.opentext.com/products/exceed.aspx Xceed]
 
  
===MacOS===
+
* Does the data fall under FERPA, HIPAA, or another restricted classification?
For MacOS users, the connection instructions are very similar to those for Linux/Unix users.
+
* Explain in simple words what your research is about.
 +
* What file types will be processed initially?
 +
** Input files, average size of individual files, total amount of data in Gb/Tb, etc.
 +
* What software or pipeline is needed to process the files?
 +
Define success for you:
 +
* What is the expected output?
 +
** Expected results, output file types and individual file size, amount of data produced after processing in Gb/Tb.
 +
* Do you have any estimations on compute needs?
 +
* Are you or will you be working with external collaborators?
  
''Terminal'', the terminal emulation application under MacOS is located in Applications/Utilities.
+
===HiPerGator Accounts===
 +
====Sponsor Username and Group Creation====
 +
The group's sponsor has to be the first person to [https://www.rc.ufl.edu/access/account-request/ request a HiPerGator account] indicating that they are a new sponsor. In the process we will create their sponsored group.
  
Both [http://filezilla-project.org/download.php?type=client FileZilla] and [http://cyberduck.ch/ Cyberduck] are available for MacOS if you prefer a graphical interface for transferring files.
+
====User Account Creation====
 +
Group members will be able to [https://www.rc.ufl.edu/access/account-request/ submit HiPerGator account requests] indicating their PI as the sponsor. Once approved, their HPG Linux accounts will be created.
  
==Getting Help==
+
====Joining a Group====
If you are having problems connecting to the HPC system, please let the HPC Staff know by submitting a [http://support.hpc.ufl.edu Support Request Ticket].
+
Once their HPG username is created users must [https://support.rc.ufl.edu submit a request] to be added to a sponsor's group. Once the sponsor or an assigned manager replies to the request with approval, the user is added to the requested group. Accounts can only be added to groups with active resource allocations (see below for details).
  
==Interactive work under Linux==
+
[https://support.rc.ufl.edu Request to be added to a group]:
Once you are logged in to an HPC Center server, you will find yourself at a Linux command line prompt. That may be daunting at first. However, you only need to know a small subset of Linux commands to accomplish most tasks. See the [[Getting_Started_on_Linux]] tutorial for an introduction to the topics introduced below.
+
* Include the following in the Summary line: "Add [username] to [groupname] group".
 +
* Include the reason in the request's description.
 +
* If possible, add your sponsor's email to the ticket's CC list.
  
==The Basics==
+
===Trial Allocation===
While it is advantageous to have a working knowledge of the most common Linux commands, it is not a requirement. For the uninitiated, the following information may be useful as well as a good "Introduction to Using Linux" book.
+
We recommend that the group's sponsor [https://gravity.rc.ufl.edu/access/request-trial-allocation/ request a '''free''' trial allocation] for storage and computational resources to get the group started on HiPerGator. Group members can then use HiPerGator for the 3 month duration of the trial allocation to figure out what resources and applications they really need.
  
* [http://www.tutorialized.com/tutorial/Basic-Linux-Shell-commands/21596 Basic Linux Shell Commands]
+
===Purchasing Resources===
* [http://www.tldp.org/LDP/intro-linux/html/ Online Introduction]
+
After or while the group uses a trial allocation to determine the computational and storage resources it needs the group's sponsor can submit a purchase request for [https://gravity.rc.ufl.edu/access/purchase-request/hpg-hardware/ hardware (5-years)] or [https://gravity.rc.ufl.edu/access/purchase-request/hpg-service/ services (3-months to longer)] to invest into the resources to cover the group's HiPerGator use.
===Basic Commands===
 
{| border=1
 
|-
 
! Command !! Description
 
|-
 
| ls || List files in the current directory
 
|-
 
| cd || Change directory
 
|-
 
| more || View a file's contents
 
|-
 
| mkdir <dir> || Create a directory
 
|-
 
| cp file1 file2 || Copy a file
 
|-
 
| mv file1 file2 || Move (i.e. rename) a file
 
|-
 
| rm file || Delete a file
 
|-
 
| rmdir dir || Delete an ''empty'' directory
 
|}
 
  
===File System===
+
Some groups may have access to shared departmental allocations. In this case, instead of purchasing resources, group members can [https://support.rc.ufl.edu/ request] to be added to the departmental group to gain access to the shared resources.
We have a structured file system that is important to know about. Please read about it here: [[HPC File System]]
 
  
==Editing==
+
Some examples of departments with shared allocations include the [http://ufgi.ufl.edu/ Genetics Institute], [http://epi.ufl.edu/ Emerging Pathogens Institute], [https://stat.ufl.edu/ Statistics Department], [http://biostat.ufl.edu/ Biostatistics Department], [https://www.eng.ufl.edu/ccmt/ Center for Compressible Multiphase Turbulence (CCMT)], [https://chp.phhp.ufl.edu/research/affiliated-centers/center-for-cognitive-aging-memory-cam/ Cognitive Aging and Memory Clinical Translational Research Program (CAMCTRP)], [https://efrc.ufl.edu/ Center for Molecular Magnetic Quantum Materials], [https://www.phys.ufl.edu/ Physics Department], and [https://plantpath.ifas.ufl.edu/ Plant Pathology Department]. In addition, several research groups working on collaborative projects have shared allocations accessible to members of those projects.
Editing files on the cluster can be done through a couple of different methods...
 
===In-System Editors===
 
* '''vi''' - The visual editor (vi) is the traditonal Unix editor. However, it is not necessarily the most intuitive editor. That being the case, if you are unfamiliar with it, the following tutorial may be useful.
 
** [http://www.eng.hawaii.edu/Tutor/vi.html VI Tutorial]
 
** Another resource for vi is [[vi | right here]] on our wiki.
 
** There is also a vi tutorial, '''vimtutor'''. Once logged in, simply type "<code>vimtutor</code>" at the command line to start the tutorial.
 
* '''emacs''' - emacs is a much heavier duty editor, but again has the problem of having commands that are non-intuitive. Again, we have provided a link to a tutorial for this editor.
 
** [http://www2.lib.uchicago.edu/~keith//tcl-course/emacs-tutorial.html Emacs Tutorial]
 
* '''pico''' - While pico is not installed on the system, [[nano]] is installed, and is a clone of pico.
 
* '''nano''' - nano has a good amount of on-screen help to make it easier to use.
 
  
===External Editors===
+
'''At this point a group is established on HiPerGator and can continue their computational work. See below for more details on the basic use.'''
You can also use your favorite editor on your local machine and then transfer the files over to the HPC Cluster afterwards. One caveat to this is that with files created on Windows machines, very often extra characters get injected into text files which can cause major problems when it comes time to interpret the files. If this happens, there is a utility called <code>dos2unix</code> that you can use to remove the extra characters.
 
  
==Running Jobs==
+
=Using HiPerGator=
===General Scheduling===
+
To use HiPerGator or HiPerGator-AI you must have basic understanding the following concepts:
Jobs from faculty investors in the HPC Center are now favored over jobs from groups who did not invest in the HPC Center.
+
* Use the various [[HPG Interfaces]] to connect to the system.
 +
* See [[HPG Computation]] for an overview of running analyses on HiPerGator.
 +
* Read [[HPG Scheduling]] for an overview of managing resources in jobs.
 +
* Learn how to manage data on the filesystems in [[Storage]] and how to transfer it in or out in [[HPG Data Management]].
  
Job scheduling has been a big topic with the HPC committee in the last several months. The HPC Center staff has been directed by the committee to improve the quality of service of job scheduling for jobs coming from investors in the HPC Center. This means reducing the time spent in the queues and allowing jobs from the investors to capture the full share of the resources that they have paid for. The HPC committee recently adopted a document which spells out what they want.
+
Click on the buttons below to explore.
 +
<div style = 'text-align: center;'>
 +
[[Image:Interface.png|frameless|upright=1| link=HPG Interfaces]]
 +
[[Image:Computation.png|frameless|upright=1|link=HPG Computation]]
 +
[[Image:Scheduling.png|frameless|upright=1|link=HPG Scheduling]]
 +
[[Image:Storage.png|frameless|upright=1|link=HPG Data Management]]
 +
</div>
  
Jobs can be submitted on '''submit.hpc.ufl.edu'''.
+
=Getting help=
 
+
If you are having problems using the UFRC system, try our resources at [https://help.rc.ufl.edu/doc/Category:Help Help] or let our staff know by submitting a [http://support.rc.ufl.edu support request].
===Torque Scheduler===
 
The [http://www.clusterresources.com/pages/products/torque-resource-manager.php Torque Resource Manager] has been installed on the HPC cluster, and is slowly being switched over to from the PBS Pro scheduler as time goes on. The [[Maui]] scheduler is also running in this environment.
 
 
 
The Torque scheduler is installed on the cluster, and accepts the same commands as the PBS Pro scheduler with a couple of exceptions. Currently we are experimenting with these packages so that we can provide improved scheduling to HPC users. While we are still learning about Torque and [[Maui]], our experiences so far have been good and we are guardedly optimistic that Torque and Maui will end up being the resource manager and scheduler for the HPC Center sometime in the not-too-distant future.
 
 
 
Please note the following.
 
 
 
* If your job is single-threaded (1 cpu) and does not have heavy I/O requirements, it does not need to run on an infiniband-enabled node.  In that case, you should include the "gige" property in your PBS resource specification as follows
 
<pre>
 
#PBS  -l nodes=1:ppn=1
 
</pre>
 
* If you need to run an mpi-based application that has not been rebuilt for OpenMPI 1.2.0+Torque, please send us a note and we'll be happy to rebuild  what you need - first come, first serve.
 
* If you build your own MPI-based application executables, you should use the MPI compiler wrappers (mpif90, mpicc, mpiCC) in /opt/intel/ompi/1.2.0/bin.  These wrappers will automatically pull in the correct libraries.
 
* We will continue to tune the maui scheduler to provide fair and efficient scheduling according to the policies established by the HPC Committee and within the capabilities of the maui scheduler.    Keep in mind that these policies include priority and quality-of-service commitments to those faculty who have invested in the resources within the HPC Center.
 
 
 
 
 
 
 
====Trivial Example====
 
{|
 
|-valign="top"
 
|
 
<pre>
 
#! /bin/sh
 
#PBS -N testjob
 
#PBS -o testjob.out
 
#PBS -e testjob.err
 
#PBS -M <INSERT EMAIL HERE>
 
#PBS -r n
 
#PBS -l walltime=00:01:00
 
#PBS -l nodes=1:ppn=1
 
#PBS -l pmem=100mb
 
 
 
date
 
hostname
 
 
 
module load python
 
python -V
 
</pre>
 
||
 
To submit this job from [[submit.hpc.ufl.edu]], you would use the following command:
 
<pre>
 
$ qsub <your job script>
 
</pre>
 
To check the status of running jobs, you would use the following command:
 
<pre>
 
$ qstat [-u <username>]
 
</pre>
 
or [http://www.hpc.ufl.edu/ HPC] --> Utilization --> [http://www.hpc.ufl.edu/index2.php?body=queue2 Torque Queue Status]
 
|}
 
 
 
 
 
'''Notes: '''
 
* More [[Sample Scripts]] for more information on PBS scripts.
 
* See [[Modules]] for more information on using the installed software via the environment modules system.
 
 
 
====Notes on Batch Scripts====
 
* The script can handle only one set of directives. '''Do not submit a script that has more than one set of directives''' included in it, as this will cause the [[Moab]]/Torque system to reject the script with a ''qsub: Job rejected by all possible destinations'' error. This problem was first seen when a user complained about a script that was being rejected with this error. Upon further inspection of their script, it was found that the script had concatenated versions of itself in the same file.
 
 
 
* For more info on '''advanced directives''' see [[PBS_Directives]]
 
 
 
* For a more detailed explanation of what is going on in a [[Batch Script Explanation | batch script]]
 
====Troubleshooting Batch Scripts====
 
* Ensure that you are using the preferred MPI application launcher.  At the HPC Center, <code>mpiexec</code> is the recommended and preferred launcher.
 
 
 
==Compiling your own==
 
By default, when you first login to the system you have compilers setup for the Intel OpenMPI compilers. This gives you access to C, C++, F77 and F90 compilers in your path, as well as the mpicc and mpif90 compilers for OpenMPI applications. If you want to change this, you can use the modules system to select a different compiler suite and MPI implementation.
 

Latest revision as of 17:56, 19 August 2024

Welcome to UF Research Computing! This page is intended to help new clients getting started on HiPerGator use.

Note that new users are highly encouraged to take the New User Training course to familiarize themselves with using a supercomputer for research, save time, and avoid many beginner mistakes.


From Zero to HiPerGator

Initial Consult

If a face-to-face discussion about the group's needs is needed you can schedule an appointment to meet with one of the UF Research Computing Facilitators face-to-face or virtually, or submit a support request to start the conversation.


For the initial interview we recommend prospective users to be ready to answer questions such as:

  • Does the data fall under FERPA, HIPAA, or another restricted classification?
  • Explain in simple words what your research is about.
  • What file types will be processed initially?
    • Input files, average size of individual files, total amount of data in Gb/Tb, etc.
  • What software or pipeline is needed to process the files?

Define success for you:

  • What is the expected output?
    • Expected results, output file types and individual file size, amount of data produced after processing in Gb/Tb.
  • Do you have any estimations on compute needs?
  • Are you or will you be working with external collaborators?

HiPerGator Accounts

The group's sponsor has to be the first person to request a HiPerGator account indicating that they are a new sponsor. In the process we will create their sponsored group.

User Account Creation

Group members will be able to submit HiPerGator account requests indicating their PI as the sponsor. Once approved, their HPG Linux accounts will be created.

Joining a Group

Once their HPG username is created users must submit a request to be added to a sponsor's group. Once the sponsor or an assigned manager replies to the request with approval, the user is added to the requested group. Accounts can only be added to groups with active resource allocations (see below for details).

Request to be added to a group:

  • Include the following in the Summary line: "Add [username] to [groupname] group".
  • Include the reason in the request's description.
  • If possible, add your sponsor's email to the ticket's CC list.

Trial Allocation

We recommend that the group's sponsor request a free trial allocation for storage and computational resources to get the group started on HiPerGator. Group members can then use HiPerGator for the 3 month duration of the trial allocation to figure out what resources and applications they really need.

Purchasing Resources

After or while the group uses a trial allocation to determine the computational and storage resources it needs the group's sponsor can submit a purchase request for hardware (5-years) or services (3-months to longer) to invest into the resources to cover the group's HiPerGator use.

Some groups may have access to shared departmental allocations. In this case, instead of purchasing resources, group members can request to be added to the departmental group to gain access to the shared resources.

Some examples of departments with shared allocations include the Genetics Institute, Emerging Pathogens Institute, Statistics Department, Biostatistics Department, Center for Compressible Multiphase Turbulence (CCMT), Cognitive Aging and Memory Clinical Translational Research Program (CAMCTRP), Center for Molecular Magnetic Quantum Materials, Physics Department, and Plant Pathology Department. In addition, several research groups working on collaborative projects have shared allocations accessible to members of those projects.

At this point a group is established on HiPerGator and can continue their computational work. See below for more details on the basic use.

Using HiPerGator

To use HiPerGator or HiPerGator-AI you must have basic understanding the following concepts:

Click on the buttons below to explore.

Interface.png Computation.png Scheduling.png Storage.png

Getting help

If you are having problems using the UFRC system, try our resources at Help or let our staff know by submitting a support request.