Curie Quick Start Guide
- 1 Curie Quick Start Guide
- 1.1 Curie Usage Policies
- 1.2 Accessing Curie
- 1.3 Navigating Curie & Storage Quotas
- 1.4 The Batch System
- 1.5 Running A Program / Preparing a Job File
- 1.6 Submitting and Monitoring Jobs
- 1.7 Additional Topics
Curie Usage Policies
Access to Curie is granted with the condition that you will understand and adhere to all TAMU HPRC and Curie-specific policies.
General policies can be found on the HPRC Policies page.
Curie-specific policies can be found on the Curie Policies page.
For convenience, this topic has been summarized in a short video lesson, which you can view here. Otherwise, feel free to continue reading.
Most access to Curie is done via a secure shell session.
Users on Mac and Linux/Unix should use whatever SSH-capable terminal is available on their system.
The command to connect to Curie is as follows. Be sure to replace [NetID] with your TAMU NetID.
[user1@localhost ~]$ ssh NetID@curie.tamu.edu
Note: In this example [user1@localhost ~]$ represents the command prompt on your local machine.
Your login password is the same that used on Howdy. You will not see your password as your type it into the login prompt.
Off Campus Access
Please visit this page to find information on accessing Curie remotely.
For more detailed instructions on how to access our systems, please see the HPRC Access page.
When users first access Curie, they will be within their home directory. This directory has smaller storage quotas and should not be used for general purpose.
Users can navigate to their home directory with the following command:
[NetID@curie1 ~]$ cd /home/NetID
A User's scratch directory has more storage space than their home directory and is recommended for general purpose use. Users can navigate to their scratch directory with the following command:
[NetID@curie1 ~]$ cd /scratch/user/NetID
Users can navigate to scratch or home easily by using their respective environment variables.
Navigate to scratch with the following command:
[NetID@curie1 ~]$ cd $SCRATCH
Navigate to home with the following command:
[NetID@curie1 ~]$ cd $HOME
A user's scratch directory is restricted to 1TB/250,000 files of storage. This storage quota is expandable upon request.
A user's home directory is restricted to 10GB/10,000 files of storage. This storage quota is not expandable.
Users can see the current status of their storage quotas with:
[NetID@curie1 ~]$ showquota
If you need a storage quota increase, please contact us with justification and the expected length of time that you will need the quota increase.
The Batch System
The batch system is a load distribution implementation that ensures convenient and fair use of a shared resource. Submitting jobs to a batch system allows a user to reserve specific resources with minimal interference to other users. All users are required to submit resource-intensive processing to the compute nodes through the batch system - attempting to circumvent the batch system is not allowed.
On Curie, LSF is the batch system that provides job management. More information on LSF can be found in the Curie Batch page.
Running A Program / Preparing a Job File
In order to properly run a program on Curie, users will need to create a job file and submit a job.
The simple example job file below requests 1 core on 1 node with 2.5GB of RAM for 1.5 hour. Note that most nodes (>800) on Curie have 20 cores with 54GB of usable memory. Some nodes (~26) have 20 cores with 245GB of usable memory. A few special nodes have more cores and memory than this. Users are encouraged to ensure that their job requirements will fit within these restrictions.
Any modules that need to be loaded or executable commands will replace the "#First Executable Line" in this example.
##NECESSARY JOB SPECIFICATIONS #BSUB -J JobExample1 #Set the job name to "JobExample1" #BSUB -L /bin/bash #Uses the bash login shell to initialize the job's execution environment. #BSUB -W 1:30 #Set the wall clock limit to 1hr and 30min #BSUB -n 1 #Request 1 task #BSUB -R "span[ptile=1]" #Request 1 task/core per node #BSUB -R "rusage[mem=2560]" #Request 2560MB (2.5GB) per node #BSUB -M 2560 #Set the per process enforceable memory limit to 2560MB #BSUB -o Example1Out.%J #Send stdout/err to "Example1Out.[jobID]" #First Executable Line
Note: If your job file has been written on an older Mac or DOS workstation, you will need to use "dos2unix" to remove certain characters that interfere with parsing the script.
[NetID@curie1 ~]$ dos2unix MyJob.lsf
More information on job options can be found in the Building Job Files section of the Curie Batch page.
Submitting and Monitoring Jobs
Once a job file is ready, it is time to submit the job. Users can submit their jobs to LSF with the following command:
[NetID@curie1 ~]$ bsub < MyJob.lsf Verifying job submission parameters... Verifying project account... Account to charge: 000000000000 Balance (SUs): 5000.0000 SUs to charge: 1.5000 Job <0000000> is submitted to default queue <sn_short>.
After the job has been submitted, users are able to monitor their own jobs with several methods. To see the status of all of your jobs, use the following command:
[NetID@curie1 ~]$ bjobs JOBID STAT USER QUEUE JOB_NAME NEXEC_HOST SLOTS RUN_TIME TIME_LEFT 0000000 RUN NetID sn_short JobExample1 1 1 0 second(s) 1:30 L 0000001 PEND NetID sn_short JobExample1 1 1 0 second(s) 1:30 L
To see the status of one job, use the following command, where XXXXXXX is the JobID:
[NetID@curie1 ~]$ bjobs XXXXXXX JOBID STAT USER QUEUE JOB_NAME NEXEC_HOST SLOTS RUN_TIME TIME_LEFT XXXXXXX RUN NetID sn_short JobExample1 1 1 0 second(s) 1:30 L
To cancel a job, use the following command, where XXXXXXX is the JobID:
[NetID@curie1 ~]$ bkill XXXXXXX Job <XXXXXXX> is being terminated
Translating Curie/LSF <--> Terra/Slurm
The HPRC Batch Translation page contains information on converting between LSF, PBS, and Slurm.
Our staff has also written some example jobs for specific software. These software-specific examples can be seen on the Individual Software Pages where available.
Software on Curie is loaded using modules.
A list of the most popular software on our systems is available on the HPRC Available Software page.
To find most available software on Curie, use the following command:
[NetID@curie1 ~]$ module avail
To search for particular software by keyword, use:
[NetID@curie1 ~]$ module spider keyword
To load a module, use:
[NetID@curie1 ~]$ module load moduleName
To list all currently loaded modules, use:
[NetID@curie1 ~]$ module list
To remove all currently loaded modules, use:
[NetID@curie1 ~]$ module purge
If you need new software or an update, please contact us with your request.
There are restrictions on what software we can install. There is also regularly a queue of requested software installations.
Please account for delays in your installation request timeline.
Files can be transferred to Curie using the scp command or a file transfer program.
Our users most commonly utilize:
- WinSCP - Straightforward, legacy
- FileZilla Client - Easy to use, additional features, available on most platforms
- MobaXterm Graphical SFTP - Included with MobaXterm
Advice: while GUIs are acceptable for file transfers, the cp and scp commands are much quicker and may significantly benefit workflow.
Reliably Transferring Large Files
For files larger than several GB, users will want to consider the use of a more fault-tolerant utility such as rsync.
[NetID@curie1 ~]$ rsync -av [-z] localdir/ userid@remotesystem:/path/to/remotedir/
An rsync example can be seen on the Ada Fast Transfer page.