skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: MCR Container Tools

Abstract

MathWorks' MATLAB is widely used in academia and industry for prototyping, data analysis, data processing, etc. Many users compile their programs using the MATLAB Compiler to run on workstations/computing clusters via the free MATLAB Compiler Runtime (MCR). The MCR facilitates the execution of code calling Application Programming Interfaces (API) functions from both base MATLAB and MATLAB toolboxes. In a Linux environment, a sizable number of third-party runtime dependencies (i.e. shared libraries) are necessary. Unfortunately, to the MTLAB community's knowledge, these dependencies are not documented, leaving system administrators and/or end-users to find/install the necessary libraries either as runtime errors resulting from them missing or by inspecting the header information of Executable and Linkable Format (ELF) libraries of the MCR to determine which ones are missing from the system. To address various shortcomings, Docker Images based on Community Enterprise Operating System (CentOS) 7, a derivative of Redhat Enterprise Linux (RHEL) 7, containing recent (2015-2017) MCR releases and their dependencies were created. These images, along with a provided sample Docker Compose YAML Script, can be used to create a simulated computing cluster where MATLAB Compiler created binaries can be executed using a sample Slurm Workload Manager script.

Authors:
; ;
Publication Date:
Research Org.:
Oak Ridge National Lab. (ORNL), Oak Ridge, TN (United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
1429980
Report Number(s):
MCR Container Tools; 005644WKSTN00
DOE Contract Number:  
AC05-00OR22725
Resource Type:
Software
Software Revision:
00
Software Package Number:
005644
Software CPU:
WKSTN
Open Source:
Yes
Source Code Available:
Yes
Country of Publication:
United States

Citation Formats

Haas, Nicholas Q, Gillen, Robert E, and Karnowski, Thomas P. MCR Container Tools. Computer software. https://www.osti.gov//servlets/purl/1429980. Vers. 00. USDOE. 1 Jan. 2018. Web.
Haas, Nicholas Q, Gillen, Robert E, & Karnowski, Thomas P. (2018, January 1). MCR Container Tools (Version 00) [Computer software]. https://www.osti.gov//servlets/purl/1429980.
Haas, Nicholas Q, Gillen, Robert E, and Karnowski, Thomas P. MCR Container Tools. Computer software. Version 00. January 1, 2018. https://www.osti.gov//servlets/purl/1429980.
@misc{osti_1429980,
title = {MCR Container Tools, Version 00},
author = {Haas, Nicholas Q and Gillen, Robert E and Karnowski, Thomas P},
abstractNote = {MathWorks' MATLAB is widely used in academia and industry for prototyping, data analysis, data processing, etc. Many users compile their programs using the MATLAB Compiler to run on workstations/computing clusters via the free MATLAB Compiler Runtime (MCR). The MCR facilitates the execution of code calling Application Programming Interfaces (API) functions from both base MATLAB and MATLAB toolboxes. In a Linux environment, a sizable number of third-party runtime dependencies (i.e. shared libraries) are necessary. Unfortunately, to the MTLAB community's knowledge, these dependencies are not documented, leaving system administrators and/or end-users to find/install the necessary libraries either as runtime errors resulting from them missing or by inspecting the header information of Executable and Linkable Format (ELF) libraries of the MCR to determine which ones are missing from the system. To address various shortcomings, Docker Images based on Community Enterprise Operating System (CentOS) 7, a derivative of Redhat Enterprise Linux (RHEL) 7, containing recent (2015-2017) MCR releases and their dependencies were created. These images, along with a provided sample Docker Compose YAML Script, can be used to create a simulated computing cluster where MATLAB Compiler created binaries can be executed using a sample Slurm Workload Manager script.},
url = {https://www.osti.gov//servlets/purl/1429980},
doi = {},
year = {2018},
month = {1},
note =
}