From UABgrid Documentation
MATLAB (matrix laboratory) is a numerical computing environment and fourth-generation programming language. Developed by Mathworks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages, including C, C++, and Fortran. An additional package, Simulink, adds graphical multi-domain simulation and Model-Based Design for dynamic and embedded systems.
MATLAB can be used on personal computers and powerful server systems, including the Cheaha compute cluster. With the addition of the Parallel Computing Toolbox, the language can be extended with parallel implementations for common computational functions, including for-loop unrolling. Additionally this toolbox supports offloading computationally intensive workloads to Cheaha the campus compute cluster.
In January 2011, UAB acquired a site license for MATLAB that allows faculty, staff, post-docs, and graduate students to use MATLAB, Simulink, and 42 toolboxes (including the parallel toolbox) for research activities on campus and personal systems. Additionally, from January 2012 MATLAB is available to students on campus and personal computer systems.
Using Mathworks software available under the UAB campus license on your computer involves download and install steps common to all software packages and an authorization step that grants you the rights to use the software under the campus agreement. While straight forward, there are several authorization scenarios designed to support a variety of user communities. In an effort to simplify the software installation and get you working with MATLAB as quickly as possible, we detail three installation scenarios to help you decide the best configuration for your needs. Most campus MatLab users can choose to follow the Simplified MATLAB Install.
MATLAB on Your Desktop
Updating MATLAB on Desktop
If you have been running MATLAB on your desktop during 2011, one can click 'Help', then 'Licensing', and finally 'Update Current Licenses'. This will remedy the license expiration message without having to update to a new copy of MATLAB.
Simplified MATLAB Install
NOTE:These steps are common to all install scenarios and are detailed in Downloading and Installing MATLAB.
- Create an account at the Mathworks site using your campus @uab.edu email address.
- Request an activation key.
- Associate your Mathworks account with the campus-wide MATLAB license using your activation key.
- Download the software from the mathworks download site and install MATLAB
- Activate the software using the activation scenario that best suits your particular needs.
Installation for Various Activation Scenarios
NOTE: Most on-campus users are encouraged to use the Simplified MATLAB Install option for activation unless there are special circumstances that require the alternative activation scenarios.
- Simplified MATLAB Install - This is the recommended install when MATLAB will be used on computers that remain connected to the campus network. This installation requires MatLab software to be installed on your computer and provides a simple 2-line file to activate the software. This option is highly recommend.
- Matlab Designated Computer Install - This option is recommended for mobile computing systems which may not have network access when MATLAB is being used. This install type authorizes an individual computer to run MATLAB, allowing MATLAB to run regardless of where the computer is located.
- Matlab Network Concurrent User Install - This installation is only recommended for system administrators who already manage a lab or departmental installation of MATLAB and who would like to continue to provide this service for their user community. This install type may also be practical if there are special additional license needs that will apply to multiple computers running MATLAB. Note, all MATLAB toolboxes actively used at UAB are currently covered under the UAB campus license.
MATLAB is a self-supported application at UAB. A UAB MATLAB users peer support forum is available. Subscription options are described below in MATLAB Support.
MATLAB on Cheaha
MATLAB is pre-installed on the Cheaha research computing system. This allows users to run MATLAB directly on the cluster without any need to install software. MATLAB jobs can also be submitted to Cheaha directly from your desktop, however, this requires additional configuration described in MatLab DCS.
Integration with Desktop MATLAB
Accessing the additional compute power of Cheaha from your desktop MATLAB install is recommended for most users because it combines the familiar MATLAB user experience with cluster computing power. However, additional steps are required to configure a desktop MATLAB installation to access worker nodes on the Cheaha cluster via the Distributed Computing Server (DCS) platform. Please see MatLab DCS for configuration information.
Using Batch Submit from the Desktop Instead of matlabpool Jobs
It is not possible to use matlabpool jobs on the cluster from your desktop due to firewall restrictions. Instead, desktop MATLAB users should use the batch submit options described in the MatLab DCS configuration to submit their jobs to the cluster. Matlabpool jobs are possible when running MATLAB directly on the cluster as described in matlabpool from the head node .
Direct Use on the Cluster
Using MATLAB directly on the cluster is recommended only for people comfortable accessing systems via a command line environment (eg. secure shell SSH). SSH access to Cheaha supports X Windows and VNC sessions for displaying a full graphical MATLAB development environment on client desktops with an X Windows servers or VNC client applications installed. For more information please see MatLab CLI. Matlabpool jobs are possible when running MATLAB directly in this environment as described in matlabpool from the head node .
On-line Tutorials and Learning Resources
- Getting Started
- Recorded Webinars, select a topic and complete the request form.
- Interactive Tutorials for Students and Faculty
- Example Code, News, Blogs, Teaching Materials
MATLAB Support / Mailing List
As with any application or computer language, learning to use MATLAB to analyze data or to develop or modify MATLAB applications is an individual responsibility. There is ample application documentation available from the Mathworks website, potential outreach to colleagues who also use MATLAB, and options for consultation with Mathworks. Mathworks also host on-campus training seminars several times a year and provides many on-line learning tutorials.
Installation support for MATLAB at UAB is provided by your local IT support organization and the Docs wiki.
Your first and best option for application-specific questions on MATLAB is to refer to the on-line MATLAB documentation. The Mathworks site also provides a a support matrix and an on-line knowledge base.
UAB MATLAB Wiki
The MATLAB page on the Docs wiki is the starting point for installing MATLAB at UAB and, optionally, configuring it to use cluster computing. All users are encouraged to contribute to the MATLAB knowledge in this wiki, especially if you see areas where improvements are needed. Remember, this knowledge base is only as good as the people who contribute to it.
Contributing to the wiki is as easy as clicking the login link on the top-right of the page and signing in with your UAB BlazerID. If you are unsure about making an edit, you can make suggestions for improvement on the page's Discussion tab or discuss the proposed improvement in the MATLAB user group.
UAB MATLAB User Group
At UAB, MATLAB installation support is provided by your local IT support group. Support for application specific questions is available from peers in your research group. We realize that some people are not as familiar with MATLAB as others. For this reason, we have established a MATLAB user forum (mailing list) where users of MATLAB at UAB can help answer each others questions.
This is a network of volunteers sharing their knowledge with peers. You are encouraged to reach out to this community for questions on using MATLAB by
- Joining the MATLAB user group - alternately send an email to firstname.lastname@example.org with the following text in the body of the email subscribe matlab-user
- After joining the group, you can email questions to the group via email@example.com
UAB MATLAB announce mailing list
To receive information about UAB's MATLAB license and announcements please subscribe to the matlab-annc mailing list by
- Joining the MATLAB announce mailing list - alternately send an email to firstname.lastname@example.org with the following text in the body of the email subscribe matlab-annc
UAB Mathworks Site License
UAB has acquired a university wide site license for MATLAB and Simulink software. This license includes all Mathworks Inc. products in use at UAB, with the exception of the Distributed Computing Server (DCS) which must be licensed separately. This new site license also makes available several new toolboxes and blocksets not previously licensed by UAB.
This site license is known as the Mathworks Inc. Total Academic Headcount (TAH) license or Mathworks TAH. Mathworks TAH will make it easier for everyone in the UAB community to use MATLAB, MATLAB Toolboxes (extensions) and Simulink software. Specifically, it authorizes use of MATLAB on university owned machines for all faculty, staff and students. Faculty and staff are also entitled to install the software on personally owned computers.
The TAH allows unlimited use MATLAB, Simlink and the 42 MATLAB Toolboxes in both research and teaching activities. Faculty and staff can install the software on computers located off-campus, however, students may only use Mathworks software on UAB owned computers computers located on-campus.
UAB was the first university in Alabama to implement a Mathworks TAH license.
Parallel Computing Extensions
MATLAB language extensions to support parallel processing are available via the Parallel Computing Toolbox. This is one of the 42 toolboxes available under the UAB TAH license. The Parallel Computing Toolbox enables MATLAB to make use of the multi-core processors found on many computers in order to speed the execution of code sections that can execute in parallel. This toolbox supports the use of up to 8 cores on a single computer systems through the use of worker threads the spread the execution of code across multiple cores.
Additional parallelism can be supported by adding more worker threads via a secondary software platform known as the Distributed Computing Server (DCS). The DCS runs on a compute cluster and can provide many more worker threads to increase parallelism. UAB IT Research Computing has licensed a 128 worker DCS installation for the Cheaha compute cluster. The Parallel Computing Toolbox can be configured to access this license from desktop MATLAB installations. Please see MatLab DCS for configuration details.