Warning: Parameter 1 to wp_default_styles() expected to be a reference, value given in /www/vhosts/beagle.ci/wp-includes/plugin.php on line 601

Warning: Parameter 1 to wp_default_scripts() expected to be a reference, value given in /www/vhosts/beagle.ci/wp-includes/plugin.php on line 601
» Using Beagle2
Menu ▼

How to get an account on Beagle2?

To utilize Beagle2 for computations, all users need:

  • Account.
  • Need to be part of a project.
  • Need to tell us what software tools they need to perform their computations.

To obtain an account or request access to Beagle2

  • If you do not have a CI account, request one at https://accounts.ci.uchicago.edu/.
  • At the section “Resources/ Only select those resources you/they have been instructed to” select “Beagle”.

  • If you already have a CI account request access to Beagle2 via https://accounts.ci.uchicago.edu/ . You will need to:
    • Log in using your CI credentials
    • Select “Manage Accounts”
    • Select “Request Resource Access”
    • Select “Beagle Access to the Cray XE6, Beagle” and follow the instructions.

    You will need a sponsor who can be either a person from the CI (CI senior, fellow, faculty or staff) or the PI of an established project on Beagle2 (mainly the 11 people who participated into the Beagle2 grant application or Beagle2 Allocation PIs).

    Note: Make sure you select the “Make this my primary email” checkbox, or your correspondence will go to a newly created CI account. Please check your CI email account periodically or set it to forward emails to you from your Beagle2 home directory (following the instructions available from http://www.ci.uchicago.edu/wiki/bin/view/Resources/MailForwarding) otherwise you might miss shutdown and upgrades emails and therefore your work might be negatively affected.

    To be added to an existing project

  • You will need to be a member of a CI HPC project to run jobs. To request access to an existing HPC project at https://web.ci.uchicago.edu/hpc/projects/access.php
  • You will need to know the name of the PI and of the project you plan to join.
  • To log in use your CI credentials
  • Note: a list of projects and PIs is provided on the web site, but many PIs have multiple projects so you will need to know which one to choose.

    Also core users are made up of the co-PI’s who participated in the Beagle grant proposals and helped secure the NIH funding for the Beagle project. As such, there’s no process by which someone can become a core user.

    To request a new project

    You can request a new project at https://web.ci.uchicago.edu/hpc/projects/request.php

    You will need:

    • A title for your new project.
    • A short abstract and the name of the PI to complete the application.
    • Plans for storage needs and growth.
    Access to the Beagle2 supercomputer is managed by the University of Chicago through the:
    • Beagle2 Internal Advisory Committee
    • Beagle2 Resource Allocations Committee

    Beagle2 is dedicated to biomedical research and therefore to NIH-sponsored projects at the University of Chicago. However, some other projects will also be considered. Requests to utilize the facility should be arranged as described above.



    More detailed information is available on the Beagle2 Wiki and FAQ. Information Sources on Specific Topics:
    • Detailed information on Beagle2 SYSTEM SPECIFICATIONS
    • How to RUN projects on Beagle2
    • How to BUILD specific applications on Beagle2
    • How to ACKNOWLEDGE the use of Beagle2
    • GLOSSARY of terms
    • High performance computing RESOURCES
    • Document on CRAY systems, including the XE6
    • To run a batch job on Beagle2:

      1. Prepare a TORQUE script that specifies the application you want to run and the resources it will require.
      Note: Your application’s executable line must start with one of the application launch commands (aprun for ESM jobs; ccmrun for CCM jobs).
      2. Submit your job script using the TORQUE qsub command.
      3. Monitor your job’s progress using the TORQUE qstat command, the Moab showq command


    X Forwarding with Putty on Windows (for graphics user interfaces)

    Linux and Mac desktops and laptops have been able to run software remotely on Beagle2 login nodes while displaying the Graphical User Interface (GUI) locally. Windows does have a native X windows client. Therefore, in addition to a secure shell program (ssh) to establish the remote connection, Windows users need an X Server to handle the local display.


    Generating SSH key for Windows machine


    • Download installer putty-0.63-installer.exe from this page http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
    • Start > Putty >Putygen
    • In Putygen window click on generate and keep moving the mouse over the blank are of the screen in order to generate a very good private and public key
    • Make sure to enter in the same window key passphrase: something which would be easy for you to remember, like a proverb.
    • Click ‘save public key’
    • Click ‘save private key’
    • Go to https://accounts.ci.uchicago.edu/ , login and copy your new public key here in order to make it active on the system.

    Configuring Putty

    • Start menu Pytty > Putty
    • In destination field enter: login.beagle.ci.uchicago.edu
    • Switch Protocol to SSH
    • Type name of session in saved sessions
    • Click ‘Save’
    • Expand the ‘SSH’ tab from the ‘Category’ list
    • Choose ‘X11’ from ‘SSH’ list
    • Check ‘Enable X11 Forwarding’
    • Choose ‘Auth’ from ‘SSH’ list
    • Upload your private key
    • Choose ‘Session’ from ‘Category’ list
    • Click ‘Save’
    • Click ‘Open’
    • Login with your key passphrase
    • Close the shell

    Configuring Xming


    • Start Putty
    • Start Xming
    • Select your saved session
    • Load your session
    • Select ‘Open’
    • Login in your shell
    • You should now be able to run X applications (like Matlab) from the host on your local desktop


    Generating SSH keys for Linux/Mac machine

    • From your terminal enter:
    • $ ssh-keygen -t rsa -C “[your keys name]”

    • You should see:
    • Generating public/private rsa key pair.

      Enter file in which to save the key (/home/user/.ssh/id_rsa):

    • Press ‘Enter’ here to accept the default.
    • Enter passphrase (empty for no passphrase):

      Enter same passphrase again:

    • DO NOT just press enter to leave the passphrase empty. It is important that you use a strong passphrase for this key. If you do not use a passphrase, anyone who gets access to your key (such as if your laptop were stolen or your computer got a virus) could easily commit code as you — people who trust you could then run malicious code, compromising the servers.
    • Your identification has been saved in /home/user/.ssh/id_rsa.

      Your public key has been saved in /home/user/.ssh/id_rsa.pub.

      The key fingerprint is:

      7e:f5:7e:51:ec:3d:2c:36:02:9d:5b:89:4a:3a:b7:b5 Linux Key

    • To copy your key at the prompt type:
    • $ cat ~/.ssh/id_rsa.pub

    • Go to https://accounts.ci.uchicago.edu/ , login and copy your new public key here in order to make it active on the system.


    Guide for Optimal Performance on Beagle2

    • It is important to make a clear distinction between the resources requested (i.e. what is specified in the PBS directives at the top of your job script) and those actually used (i.e. the values passed to the aprun flags -n, -N, -d, -S). For more details go to Basics about job submission on Beagle2.
      1. The #PBS directives that appear at the top of a job script tell the job submission system how many compute nodes your job will require.
      2. The options given to the aprun command determines the resources your job actually uses.
      3. In order to make things clear, we recommend that mppwidth is always the least upper bound number of processes and is a multiple of 32, that mppnppn is never used.
    • If compiler optimization fails to improve performance significantly, the next step is code optimization. Use CrayPAT to profile your code and understand the performance bottlenecks.
    • Hybrid MPI-OpenMP programming may be an option to consider if each process in your code currently contains significant computational sections (e.g. loops) that may be more finely parallelised. Hybrid codes make use of MPI for inter-processor communication and OpenMP for intra-process communication, so that some or all cores within a node use multithreaded shared memory parallelism. The advantage of this approach is that the threads within a process can share much of the same data structures, thus providing more scope for cache optimization and also reducing off-node traffic. See Hybrid MPI-OpenMP script example.
    • It is possible to use all 24 cores within a node for shared memory OpenMP threads, but this may not be desirable, depending on how your code accesses memory. See Examples of PBS scripts for Beagle2 for more information on these aspects of running jobs.
    • Note: A single given compute node is always allocated to run a single user job; multiple jobs never share a compute node. If you want to run a couple of jobs on single nodes use our guide on Running Multiple Parallel Jobs Simultaneously or use Swift
    • It is possible to write to files in parallel over multiple physical disks, a technique called striping. In striping your data it is typically preferable to work with a small number of large files, rather than a large number of small files.
    • Please note that data generated by your applications on the LUSTRE file system is not backed up.



    User Support

    Specialists at the CI provide expertise in numerical methods, massively parallel supercomputing, code optimization, storage and visualization.  We provide principally two types of support:

    • System administrator
    • Catalyst group

    System Administrator
    The person who is in charge of installing, supporting, and maintaining software packages and in general of keeping Beagle2 productive, i.e., by managing operations and hardware. They are:

    And can be reached at beagle-support@lists.uchicago.edu

    Catalyst Group

    These are the people who are in charge of helping users with more general issues ranging from how to perform a specific type of simulation on Beagle2 to help tune and optimize code and packages. If you would like to explore how to take advantage of the potential performance increase available or would like dedicated help and advice on benchmarking, profiling or improving your code, please get in touch with us:

    The CI team run regular training courses on the topics discussed above, and more (see the Events page).
    Messages will be assigned to different groups depending upon the specific request and therefore clarity is crucial to a quick and satisfactory assignment.



    Ian Foster, the director of the Computation Institute at the University of Chicago and Argonne National Laboratory was the PI on the National Institutes of Health (NIH) National Center for Research Resources (NCRR) grant that funded the acquisition of Beagle. Paul Davé leads user services for the CI.

    The University of Chicago Division of Biological Sciences (BSD) funds Beagle2 support and operations activities.