SAS (Statistical Analysis System) is a software suite developed by SAS Institute for advanced analytics, business intelligence, data management, and predictive analytics.  Further information can be found here.

Prior to using Grace you will need to register for an account.  We aim to setup all new accounts within 2 working days.

You will receive a confirmation email which will detail how to use Grace once your account has been created.

Accessing SAS

To load SAS to your environment please use module add SAS/9.3

Interactive SAS

To use the full SAS GUI, make sure PuTTY is configured for X11 forwarding and VcXsrv is running, and run: sas_en

To use the interactive line mode (command line interface) and not use the GUI run: sas_en –nodms

Some functions invoke a SAS message window even in full interactive line mode SAS session.  For full line mode use –noterminal flag, i.e.: sas_en -nodms –noterminal

Default SAS Configuration and Changing Configuration Settings

As of 6th March, the default SAS session configuration is as follows:

-MEMSIZE 2048M
-SORTSIZE 1024M
-CPUCOUNT 1
-NOTHREADS

This is to bring default SAS sessions in line with the standard Grace convention of 1 HPC slot = 1 CPU core and 2G of RAM. 

You can change the settings for every SAS session you open by creating a personal SAS configuration file sasv9.cfg in the root of your home directory, containing the settings you want updated.

Improving SAS Performance

The following configuration settings can improve SAS performance:

CPUCOUNT and THREADS

By default, SAS uses 1 CPU core, however as long as the appropriate resources are requested from LSF this can be increased to use multiple CPU cores, up to all the cores on the node. In conjunction with enabling THREADS, increasing the CPUCOUNT may provide performance improvements in the following functions: SORT, SUMMARY, MEANS, REPORT, TABULATE, and SQL

MEMSIZE and SORTSIZE

By default the memory allocation for a SAS session is 2GB.  As long as the appropriate resources are requested from LSF, this can be increased as required.  Please see the memory page for more details on requesting additional memory for tasks.

It is important when using CPUCOUNT or MEMSIZE to request the appropriate resources for the task.  For example, to use SAS with CPUCOUNT as 8, THREADS on and MEMSIZE of 10G you would make the following modifications to your submission script:

#!/bin/sh
#BSUB -q short
#BSUB -J SASJob
#BSUB -oo SAS-%J.out
#BSUB -eo SAS-%J.err
#BSUB –R "rusage[mem=10000]"
#BSUB –M 12000
#BSUB –n 8
#BSUB –R 'span[ptile=8]'


. /etc/profile

module add SAS/9.3
sas_en -memsize 10G -cpucount 8 -threads -noterminal SASjob.sas

You can request exclusive access to a host using the -x flag, which gives you access to all the CPU cores and memory on the host.