Difference between revisions of "Getting Started"

From UFRC
Jump to navigation Jump to search
(225 intermediate revisions by 18 users not shown)
Line 1: Line 1:
{|align=right
+
[[Category:Essentials]]
  |__TOC__
+
__NOTOC__
  |}
+
Welcome to UF Research Computing! This page is intended to help new clients get started on HiPerGator.
==Getting an account==
 
To get an account at the UF HPC Center, you need to read the UF HPC Center [http://www.hpc.ufl.edu/index.php?body=policies Policies] and then put a request in at our request page. That page is [http://www.hpc.ufl.edu/index.php?body=authuser located here].
 
  
==Logging In==
+
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.
To login to the cluster, you need an SSH client of some sort. If you are using a linux or unix based system, there is most likely one already available to you in a shell, and you can get to your account very quickly.
 
  
If you are having problems connecting to your account, please let the HPC Staff know by submitting a [http://bugzilla.hpc.ufl.edu Bugzilla Request].
+
=Introduction to Using HiPerGator=
===Linux / Unix===
 
The login host at the HPC Center is <code>submit.hpc.ufl.edu</code>.  Here is how you would go about logging in via a linux or unix account:
 
{|
 
|
 
<pre>
 
ssh -Y <YOUR_USERNAME>@submit.hpc.ufl.edu
 
</pre>
 
|}
 
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.
+
To use HiPerGator or HiPerGator-AI you need 4 basic parts, learn about them below!
 +
<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>
 +
==From Zero to HiPerGator==
 +
===Initial Consult===
 +
If a face-to-face discussion about the group's needs is needed you can [https://www.rc.ufl.edu/get-support/walk-in-support/ meet 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].  
  
The <code>-Y</code> flag is used to indicate that X11 should be tunneled to your local machine.
+
===HiPerGator Accounts===
 +
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.
  
===Windows===
+
Afterwards, 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 linux accounts will be created.
For Microsoft Windows, things are a bit trickier. Windows does not come with a built-in SSH client, and this makes things difficult. What you have to do is download a client from the Internet and install it, then use that client. We recommend the following:
 
* For a shell client, [http://www.chiark.greenend.org.uk/~sgtatham/putty Putty]
 
* For a file transfer client, [http://winscp.net/eng/index.php WinSCP]
 
Both of the above clients have documentation at their websites. Once you are logged in and have a prompt that resembles that in the Unix / Linux section above, you can continue with this tutorial.
 
  
===Macintosh===
+
===Trial Allocation===
For Macintosh users that are running OS X (those who are not running OS X are in a whole different category of user) the instructions are very similar to those of Linux.
+
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.
  
One thing that may be tough for a Macintosh user is finding a way in which to get to a command prompt in the first place so that they can use the linux-style commands. In order to get a command prompt, you need to start a terminal session. The terminal program on a Macintosh is located in Applications/Accessories. When a user starts this program, they start a terminal session whose prompt is located at that user's home directory.
+
===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 [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.
  
From there, you should be able to follow the [[Getting_Started#Linux_.2F_Unix | linux]] based instructions listed above.
+
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.  
  
If there is anyone out there that knows of a GUI application for Mac that makes the use of SCP easier, please let me know and I will include it here.
+
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.
  
==Changing your Password==
+
'''At this point a group is established on HiPerGator and can continue their computational work. See below for more details on the basic use.'''
The passwords assigned to users at the HPC Center expire every six months. If you receive a message stating that it is about to expire, you can reset it. In order to change your password to something perhaps a little easier to remember than the password supplied, which typically looks like a line of static, you can do the following:
 
<pre>
 
$ passwd
 
Changing password for user <YOUR USERNAME>.
 
Enter login(LDAP) password:
 
New UNIX password:
 
Retype new UNIX password:
 
LDAP password information changed for <YOUR USERNAME>
 
passwd: all authentication tokens updated successfully.
 
</pre>
 
The above asks for your old password, then asks for your new password a total of two times. This makes sure that you are entering your new password correctly.
 
  
Your HPC password should be '''no longer than 16 characters'''. If your proposed password is too long, you will get a response like the following:
+
==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].
<pre>
 
$ passwd
 
Changing password for user <YOUR USERNAME>.
 
Enter login(LDAP) password:
 
New UNIX password:
 
Retype new UNIX password:
 
LDAP password information update failed: Can't contact LDAP server
 
 
 
passwd: Authentication service cannot retrieve authentication info
 
</pre>
 
 
 
'''If your HPC password expires, you can [http://www.hpc.ufl.edu/support/reset reset your password] on the HPC website using your Gatorlink username and password.
 
'''
 
 
 
==Looking Around==
 
We expect the users of the HPC Center cluster to already have a working knowledge of the linux operating system, so we are not going to go into detail here on using the operating system. Below are some links to webpages that describe a lot of this, however:
 
* [http://www.tutorialized.com/tutorial/Basic-Linux-Shell-commands/21596 Basic Linux Shell Commands]
 
===Basic Commands===
 
{| border=1
 
|-
 
! Command !! Description
 
|-
 
| ls || List files in the current directory
 
|-
 
| cd || Change directory
 
|-
 
| more || View a file
 
|-
 
| mkdir <dir> || Make a directory
 
|-
 
| cp file1 file2 || Copy a file
 
|-
 
| mv file1 file2 || Move/Rename a file
 
|-
 
| rm file || Remove a file
 
|-
 
| rmdir dir || Remove an ''empty'' directory
 
|}
 
 
 
===File System===
 
We have a structured file system that is important to know about. Please read about it here: [[HPC File System]]
 
 
 
==Editing==
 
Editing files on the cluster can be done through a couple of different methods...
 
===In-System Editors===
 
* '''vi''' - vi is the basic editor for a number of people. Using the editor is not necessarily intuitive, so we have provided a link to a tutorial.
 
** [http://www.eng.hawaii.edu/Tutor/vi.html VI Tutorial]
 
** There is also a VI tutorial on the system that you can use, called '''vimtutor'''. Once logged in, simply type the following on the command line and it will take you on a tutorial for VI:
 
<pre>
 
$ vimtutor
 
</pre>
 
* '''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===
 
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==
 
===General Scheduling===
 
Jobs from faculty investors in the HPC Center are now favored over jobs from groups who did not invest in the HPC Center.
 
 
 
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.
 
 
 
Jobs can be submitted on '''submit.hpc.ufl.edu'''.
 
 
 
===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
 
</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]
 
|}
 
 
 
 
 
'''More information on PBS scripts can be seen with our [[Sample Scripts]].'''
 
 
 
====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 proper MPI execution command for your software. If your software is compiled for MVAPICH, you should be using ''mpiexec''. If it is compiled for OpenMPI, you should be using ''mpirun''.
 
 
 
==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 a selector program on the cluster called "mpi-selector". The command specification for this is as follows:
 
<pre>
 
/usr/bin/mpi-selector options:
 
 
 
Options for MPI implementations:
 
 
 
--register <name>    Register an MPI implementation with the central
 
                      mpi-selector database.  Requires use of the
 
                      --source-dir option.
 
--source-dir <dir>    Used with --register, indicating that <dir> is
 
                      where mpivars.sh and mpivars.csh can be found.
 
--unregister <name>  Remove an MPI implementation list from the
 
                      central mpi-selector database.
 
 
 
Options for system adminsitrators:
 
 
 
--system              When used with the --set and --unset options,
 
                      act on the system-wide defaults (vs. the
 
                      per-user defaults).  When used with --query, only
 
                      show the site-wide default (if there is one).
 
--user                When used with the --set and --unset options,
 
                      act on the per-user defaults (vs. the
 
                      site-wide defaults).  When used with --query, only
 
                      show the per-user default (if there is one).
 
 
 
Options for users:
 
 
 
--list                Show a list of the currently registered MPI
 
                      implementations.
 
--set <name>          Set <name> to be the default MPI selection.
 
--unset              Remove the default MPI selection.
 
--query              Shows the current default MPI selection.
 
--yes                Assume the answer is "yes" to any question.
 
--no                  Assume the answer is "no" to any question.
 
--verbose            Be verbose about actions.
 
--silent              Print nothing (not even warnings or errors;
 
                      overrides --verbose)
 
--version            Display the version of /usr/bin/mpi-selector.
 
</pre>
 

Revision as of 19:28, 15 April 2023


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

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.

Introduction to Using HiPerGator

To use HiPerGator or HiPerGator-AI you need 4 basic parts, learn about them below!

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

From Zero to HiPerGator

Initial Consult

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

HiPerGator Accounts

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.

Afterwards, group members will be able to submit HiPerGator account requests indicating their PI as the sponsor. Once approved, their linux accounts will be created.

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.

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.