Difference between revisions of "SAS"

From UFRC
Jump to navigation Jump to search
(New page: ==Location== SAS is installed in /apps/sas/sas9.1 ==Commands== SAS has a number of options: * -work /location : This is the location of your work area. It is needed if it is not defined i...)
 
 
(35 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==Location==
+
__NOTOC__
SAS is installed in /apps/sas/sas9.1
+
__NOEDITSECTION__
==Commands==
+
[[Category:Software]][[Category:Statistics]][[Category:Data Science]]
 +
<!-- ########  Template Configuration ######## -->
 +
{|
 +
<!--Main settings - REQUIRED-->
 +
|{{#vardefine:app|sas}}
 +
|{{#vardefine:url|http://www.sas.com/}}
 +
|{{#vardefine:exe|1}} <!--Present manual instructions for running the software -->
 +
|{{#vardefine:conf|}} <!--Enable config wiki page link - {{#vardefine:conf|1}} = ON/conf|}} = OFF-->
 +
|{{#vardefine:pbs|}} <!--Enable PBS script wiki page link-->
 +
|{{#vardefine:policy|}} <!--Enable policy section -->
 +
|{{#vardefine:testing|}} <!--Enable performance testing/profiling section -->
 +
|{{#vardefine:faq|}} <!--Enable FAQ section -->
 +
|{{#vardefine:citation|}} <!--Enable Reference/Citation section -->
 +
|}
 +
<!-- ########  Template Body ######## -->
 +
<!--Description-->
 +
{{#if: {{#var: url}}|
 +
{{App_Description|app={{#var:app}}|url={{#var:url}}|name={{#var:app}}}}|}}
 +
 
 +
SAS is a commercial integrated system for statistical analysis, data mining, and graphics as well as many enterprise oriented additional features. SAS cost and the breadth of SAS features means that both a significant monetary investment and a substantial time investment are required to master it. [http://support.sas.com/documentation/onlinedoc/stat/index.html#stat93 SAS 9.3 Documentation] is vast. For research purposes the [http://support.sas.com/documentation/cdl/en/statug/63962/HTML/default/viewer.htm#titlepage.htm SAS 9.3 User's Guide] is a thorough reference for the functions and procedures you may need to do the statistical analysis using SAS.
 +
<!--Modules-->
 +
==Environment Modules==
 +
Run <code>module spider {{#var:app}}</code> to find out what environment modules are available for this application.
 +
==System Variables==
 +
* HPC_{{uc:{{#var:app}}}}_DIR - installation directory
 +
<!--Additional-->
 +
{{#if: {{#var: exe}}|==Additional Information==
 +
===Commands===
 
SAS has a number of options:
 
SAS has a number of options:
  
* -work /location : This is the location of your work area. It is needed if it is not defined in your SAS initialization files.
 
 
* -nodms : This stops SAS from using its GUI capability and goes into a text only mode.
 
* -nodms : This stops SAS from using its GUI capability and goes into a text only mode.
* -filelocks none : This causes SAS to not use filelocking.
+
* -filelocks fail : This causes SAS to stop and print out an error when multiple sas processes try to use the same file.
==Possible Errors==
+
* -nonews: Prevents SAS from printing a useless header to the output.
* If the following error appears:
+
* -memsize xxxxM - [http://support.sas.com/documentation/cdl/en/hostunx/63053/HTML/default/viewer.htm#n09y5anvvpzrmnn0ztkyf59qgzvr.htm specifies the total amount of memory that is available to each SAS session, and places an enforced limit on the amount of virtual memory that SAS can dynamically allocate at any one time].
<pre>
+
* -realmemsize xxxxM  - sets the [http://support.sas.com/documentation/cdl/en/hostunx/63053/HTML/default/viewer.htm#p00ta2t9eibgofn19cmdlpdfgjnw.htm recommended upper limit on working memory for procedures that can use both memory and utility disk space, such as PROC SUMMARY and PROC SORT, so that they can avoid virtual memory thrashing].
ERROR: A lock is not available for #C00002.CORE.CATALOG, lock held by another
+
* -work $TMPDIR - the directory where SAS should store its temporary files. Using $TMPDIR will allow your program to run much faster and prevent any network-related file access issues that SAS is prone to run into.
      process.
+
* -sysin file : Designate a file for SAS to load as its input.
FATAL: Unable to initialize the options subsystem.
+
===Batch Submission===
ERROR:  (SASXKINI): PHASE 3 KERNEL INITIALIZATION FAILED.
+
To do a batch submission of a SAS script use the '''-sysin''' command line option and write all of your SAS commands in a file. In this way you can submit jobs to the batch queue system to run your jobs on the cluster.
UNABLE TO INITIALIZE THE SAS KERNEL
+
===-work directory===
</pre>
+
SAS is a mature product with a long history behind it. In a modern high-performance environment it means that additional actions need to be taken to mitigate potential issues stemming from SASs focus on filesystem I/O instead of using memory.
You will need to use the '''-filelocks none''' option as described above when starting SAS.
+
 
 +
{{Note|'''For users of PHI and FERPA:''' It is particularly important to set your working directory to be in your project's PHI/FERPA configured directory in <code>/blue</code> when working with SAS. Writing files to <code>/home</code> or <code>$TMPDIR</code> could expose restricted data to unauthorized users.|warn}}
 +
===Interactive Use===
 +
See [[GUI_Programs]] to learn how to run the Graphical SAS interface for short debugging sessions.
 +
|}}
 +
{{#if: {{#var: conf}}|==Configuration==
 +
See the [[{{PAGENAME}}_Configuration]] page for {{#var: app}} configuration details.|}}
 +
==SLURM Script Examples==
 +
<div class="mw-collapsible mw-collapsed" style="width:90%; padding: 5px; border: 1px solid gray;">
 +
''Expand to view script example.''
 +
<div class="mw-collapsible-content" style="padding: 5px;">
 
<pre>
 
<pre>
ERROR: Library WORK does not exist.
+
#!/bin/bash
FATAL: Unable to initialize the options subsystem.
+
#
ERROR:  (SASXKINI): PHASE 3 KERNEL INITIALIZATION FAILED.
+
#SBATCH --name=sas_job
UNABLE TO INITIALIZE THE SAS KERNEL
+
#SBATCH --output=sas_%j.out
</pre>
+
#SBATCH --mail-type=END,FAIL #Only email summary and failure reports
You need to designate where your work area is with the '''-work LOCATION''' directive.
+
#SBATCH --mail-user=your_email_address  # Where to send mail
<pre>
+
#SBATCH --ntasks=1                      # Run a single task
X11 connection rejected because of wrong authentication.
+
#SBATCH --cpus-per-task=1              # Run on a single cpu
Fatal I/O error
+
                                        #  --can change this for more cores
The network connection has been lost.
+
#SBATCH --mem=1gb                      # Memory limit
 
+
#SBATCH --time=01:00:00                # Run for up to one hour
Traceback
+
date;hostname;pwd
Traceback
 
  
 +
module load sas
  
No Traceback Available
+
sas -memsize 1024M -nodms -nonews -work $TMPDIR -filelocks none -sysin sas.inp
No Traceback Available
 
 
</pre>
 
</pre>
You apparently do not have X11 access to the node, and you will have to use it through a console mode using the '''-nodms''' directive.
+
</div>
 +
</div>
 +
{{#if: {{#var: policy}}|==Usage Policy==
 +
WRITE USAGE POLICY HERE (perhaps templates for a couple of main licensing schemes can be used)|}}
 +
{{#if: {{#var: testing}}|==Performance==
 +
WRITE PERFORMANCE TESTING RESULTS HERE|}}
 +
{{#if: {{#var: faq}}|==FAQ==
 +
*'''Q:''' **'''A:'''|}}

Latest revision as of 13:48, 15 September 2023

Description

sas website  

SAS is a commercial integrated system for statistical analysis, data mining, and graphics as well as many enterprise oriented additional features. SAS cost and the breadth of SAS features means that both a significant monetary investment and a substantial time investment are required to master it. SAS 9.3 Documentation is vast. For research purposes the SAS 9.3 User's Guide is a thorough reference for the functions and procedures you may need to do the statistical analysis using SAS.

Environment Modules

Run module spider sas to find out what environment modules are available for this application.

System Variables

  • HPC_SAS_DIR - installation directory

Additional Information

Commands

SAS has a number of options:

Batch Submission

To do a batch submission of a SAS script use the -sysin command line option and write all of your SAS commands in a file. In this way you can submit jobs to the batch queue system to run your jobs on the cluster.

-work directory

SAS is a mature product with a long history behind it. In a modern high-performance environment it means that additional actions need to be taken to mitigate potential issues stemming from SASs focus on filesystem I/O instead of using memory.

For users of PHI and FERPA: It is particularly important to set your working directory to be in your project's PHI/FERPA configured directory in /blue when working with SAS. Writing files to /home or $TMPDIR could expose restricted data to unauthorized users.

Interactive Use

See GUI_Programs to learn how to run the Graphical SAS interface for short debugging sessions.

SLURM Script Examples

Expand to view script example.

#!/bin/bash
#
#SBATCH --name=sas_job
#SBATCH --output=sas_%j.out
#SBATCH --mail-type=END,FAIL #Only email summary and failure reports
#SBATCH --mail-user=your_email_address  # Where to send mail	
#SBATCH --ntasks=1                      # Run a single task
#SBATCH --cpus-per-task=1               # Run on a single cpu
                                        #  --can change this for more cores
#SBATCH --mem=1gb                       # Memory limit
#SBATCH --time=01:00:00                 # Run for up to one hour
date;hostname;pwd

module load sas

sas -memsize 1024M -nodms -nonews -work $TMPDIR -filelocks none -sysin sas.inp