Skip Navigation

Holland Computing Center

Merritt - Frequently Asked Questions

Table of Contents:

  1. What is Merritt?
  2. How do I get an account on Merritt?
  3. What software is available on Merritt?
  4. How do I run applications on Merritt?
  5. What queues are available on Merritt?
  6. Can I just run applications from the command line and avoid the batch scheduler(PBS)?
  7. How can I run parallel applications(MPI) on Merritt?
  8. What compilers are supported on MERRITT?
  9. When I use the Intel C/C++ compiler, I'm getting unresolved references to OpenMP functions, what should I do?
  10. When I use Intel compilers, I'm getting errors like 'Unaligned access to mem_location', is there a fix for this?

What is Merritt?

Merritt is the newest addition to the general computing resources offered by the Holland Computing Center. UNL faculty (and their students) can receive accounts on the computer to run research applications. Merritt has 64 1.3Ghz Itanium processors available. It's significant offering is an enormous amount of shared memory (512GB). A complete listing of Merritt's hardware is located here
Top

How do I get an account on Merritt?

You can get an account on Merritt by filling out our New User Request Form. New accounts are normally created within one business day. You will be notified by e-mail when your account is available.
Top

What software is available on Merritt?

We keep a current list of available software here. You are allowed to compile your own source code. If you need help with compiling or would like to request the installation of any generally available applications please contact us.
Top

How do I run applications on Merritt?

We use the same batch scheduler on Merritt that we do on PrairieFire (PBS). To use it, you need to create a submission script that could look like this:

##### BEGIN SUBMIT SCRIPT ######
#PBS -N name_of_job_for_your_reference
#PBS -l select=X:mem=NNNNmb,walltime=HHH:MM:SS (see below)
#PBS -S /bin/shell_of_choice (/bin/bash)
#PBS -q queue_job_is_meant_to_run_on (see below)
#PBS -m mail_options (see below)
#PBS -o /path/to/output/file
#PBS -e /path/to/error/file
#PBS -j join_output_options (see below)

source /path/to/file/containing/environment_setup
cd /path/to/where/input/file/is
command input_file
##### END SUBMIT SCRIPT #####


Notes:
  • -l indicates the requested resources. For example, to ask for 16 processors with 64GB RAM for 24 hours, use syntax like this: select=16:mem=64000mb,walltime=24:00:00
    • Note: 'mem' is optional, if you do not specify it, PBS will attempt to allocate 2GB of RAM for your job's use
  • the invididual queues and their resource limitations are addressed in the next FAQ entry
  • -m specifies when PBS should e-mail notifications to you (sent to your account on Merritt with forward set to the e-mail you originally gave us when you created the account), available options are:
    • b = when the job begins
    • e = when the job ends
    • a = when (if) the job aborts
    • n = do not send any e-mail
  • -j indicates if normal and error output from the application should be joined into one file (for example: oe would indicate join output with normal output followed by error (STDERR) output.
Please refer to the PBS User's Guide for more detailed information.
Top

What queues are available on Merritt?

You can submit your jobs to one of two general queues (listed below with their limits):
  • SHORT - Max 72 hours, 24 processors, and 128GB memory
  • LONG - Max 336 hours, 32 processors, and 128GB memory
Top

Can I just run applications from the command line and avoid the batch scheduler (PBS)?

We have allocated 4 processors for the purpose of running very short jobs. This could include compiling and testing. Any application you run outside of the batch scheduler is subject to being killed if it runs for more than fifteen (15) minutes.
Top

How can I run parallel applications (MPI) on Merritt?

On Merritt, we support MPICH2 for MPI applications. If you need to compile source code containing MPI system calls, there are helper scripts to do so for various compilers. These are:
  • /util/opt/mpich2/1.0.7/intel/10.1.015/bin/mpicc (C)
  • /util/opt/mpich2/1.0.7/intel/10.1.015/bin/mpicxx (C++)
  • /util/opt/mpich2/1.0.7/intel/10.1.015/bin/mpif77 (Fortran77)
  • /util/opt/mpich2/1.0.7/intel/10.1.015/bin/mpif90 (Fortran90)
To execute MPICH2 linked programs from PBS, use the following command before your application in your submission script (these depend on the compiler you used because of library dependencies):
  • pbsrun.mpich2

In order to use MPICH2, you need a file called .mpd.conf in your homedir. This should contain one line that looks like this:

  • MPD_SECRETWORD=make_up_a_passphrase

Top

What compilers are supported on Merritt?

Intel compilers will most often create code that is most optimized for Merritt's architecture, therefore we support that compiler. In order to use the Intel compilers, please issue the following commands to initialize it's needed environmental variables:

  • For BASH shell:
    • source /util/comp/intel/cc/10.1.015/bin/iccvars.sh
    • source /util/comp/intel/fc/10.1.015/bin/ifortvars.sh
  • For C shell:
    • source /util/comp/intel/cc/10.1.015/bin/iccvars.csh
    • source /util/comp/intel/fc/10.1.015/bin/ifortvars.csh
Top

When I use the Intel C/C++ compiler, I'm getting unresolved references to OpenMP functions, what should I do?

If you are getting these errors, try passing these flags to the Intel C/C++ compiler: -openmp -mp
Top

When I use Intel compilers, I get errors messages such as 'unaligned access to memory_location', is there a fix?

If you are getting these types of errors, try using this compiler switch: -lalign all
Top