Matlab compiler что это
Перейти к содержимому

Matlab compiler что это

  • автор:

MathWorks MATLAB Compiler

MathWorks MATLAB Compiler – это специальный инструмент, позволяющий создавать независимые приложения в среде MATLAB. Обеспечивает преобразование программного MATLAB-кода, графики и интерфейса в независимые приложения, не требующие для исполнения присутствия платформы MATLAB.

MATLAB Compiler обеспечивает эквивалентное исполнение MATLAB-кода вне среды MATLAB при помощи упаковки всех необходимых функций и генерации исполняемого файла. MATLAB Compiler позволяет максимально просто создавать независимые приложения (.exe), компоненты и библиотеки (.dll), значительно сокращая время разработки приложений по сравнению с классическими языками программирования C/C++, Delphi, Java.
Ключевые характеристики MathWorks MATLAB Compiler:

  • Преобразование программного MATLAB-кода, графики и интерфейса в независимые приложения, не требующие для исполнения присутствия платформы MATLAB.
  • Создание и распространение независимых приложений, компонент и библиотек без дополнительных лицензионных отчислений.
  • Механизм, позволяющий использовать функции MATLAB в приложениях пользователя, разработанных на других языках.
  • Шифрование MATLAB-кода с целью закрытия его просмотра или редактирования.
  • MATLAB.
  • Не поддерживает Windows x64.
Санкт-Петербург
Москва
(812) 363-28-63
(499) 403-12-24
  • О нас
    • Обслуживание компьютеров
    • Имя компании
    • ИТ аутсорсинг 24/7
    • Персональный инженер неограниченные вызовы
    • Аудит ИТ инфраструктуры
    • Мониторинг состояния и ежемесячная отчетность
    • Система качества
    • Сильная команда
    • Партнерская программа
    • Методология обслуживания
    • Партнеры
    • Клиенты
    • Вакансии
    • Форум
    • Оценка текущего состояния
    • Абонентское обслуживание
    • Настройка и обслуживание рабочих станций и серверов
    • Сетевое оборудование
    • Услуги виртуализации
    • Размещение в дата-центр
    • Монтаж локальной сети
    • Аналоговая и IP телефония
    • Системы видеонаблюдения
    • Настройка и легализация ПО
    • Настройка 1С
    • Настройка Siemens
    • Настройка Cisco
    • IP АТС Avaya Asterisk
    • Диагностика, ремонт и сервисное обслуживание
    • Защита информации
    • Создание наполнение сайтов техническая поддержка
    • ИТ Аутстаффинг
    • Восстановление данных
    • Договор и SLA
    • ИТ-инфраструктура
    • Безопасность
    • Проектные работы
    • Интернет проекты
    • Экономим время
    • Контролируем качество
    • Дорожим репутацией
    • Используем деловые связи
    • Растем вместе с клиентом
    • Снижаем риски
    • Повышаем доверие
    • Контроль персонала
    • Хостинг в подарок
    • Обучение
    • Разовые IT-услуги
    • Техника в аренду
    • Анти-спам

    (812) 363-28-63

    Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

    (499) 403-12-24

    Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

    MATLAB Runtime

    Run compiled MATLAB applications or components without installing MATLAB

    The MATLAB Runtime is a standalone set of shared libraries that enables the execution of compiled MATLAB, Simulink applications, or components. When used together, MATLAB, MATLAB Compiler, Simulink Compiler, and the MATLAB Runtime enable you to create and distribute numerical applications, simulations, or software components quickly and securely.

    To download and install the MATLAB Runtime:

    Click the version and platform in the table below that corresponds to the application or component you are using. The version of the MATLAB Runtime is tied to the version of MATLAB.
    Note: You can find this information in the readme.txt file that accompanies the application or component.

    Save the MATLAB Runtime installer file on the computer on which you plan to run the application or component.

    Double click the installer and follow the instructions in the installation wizard.

    Apply Updates to R2016a-R2017a versions of MATLAB Runtime after installing the runtime

    Important security fixes are available for the R2016a, R2016b, and R2017a releases of the MATLAB Runtime. After installing the MATLAB Runtime for one of these releases, you should apply the latest Update by clicking on the appropriate Update link below. Note this applies only if your application uses MATLAB apps authored with MATLAB App Designer (.mlapp files). For more information see this bug report.

    R2017a (9.2) 64-bit | Update 64-bit | Update Intel 64-bit | Update
    R2016b (9.1) 64-bit | Update 64-bit | Update Intel 64-bit | Update
    R2016a (9.0.1) 1, 2 64-bit | Update 64-bit | Update Intel 64-bit | Update

    Open MATLAB and run the command mcrinstaller to locate MATLAB Runtime for redistribution with your compiled components.

    1. R2014a-2016a does not support macOS Sierra 10.12. If you choose to run any of these versions of the MATLAB Runtime on this unsupported macOS version, you might need to install a patch to fix an incompatibility issue. Learn more to determine if this incompatibility impacts you. MathWorks strongly recommends that you do not run any version of the MATLAB Runtime older than R2014a on macOS Sierra 10.12.
    2. MATLAB Runtime 9.0.1, for R2016a, is intended to work with MATLAB 9.0, which is also R2016a.
    3. MATLAB Runtime 9.0, for R2015b, is intended to work with MATLAB 8.6, which is also R2015b.
    4. Online versions of MATLAB Runtime are only available for releases after R2012a. Older releases of MATLAB Runtime were shipped with MATLAB Compiler. If you do not have MATLAB, please request the Runtime from the MATLAB Compiler user who created the deployed package.

    MATLAB Compiler

    MATLAB ® Compiler™ позволяет вам совместно использовать программы MATLAB как автономные приложения и веб-приложения. С MATLAB Compiler можно также группировать и развернуть программы MATLAB как MapReduce и большие применения данных Spark™ и как Microsoft ® Excel ® дополнения. Конечные пользователи могут запустить ваши приложения с бесплатным использованием с помощью MATLAB Runtime .

    Чтобы обеспечить основанный на браузере доступ к вашим веб-приложениям MATLAB, можно разместить их использующий версию разработки MATLAB Web App Server, включенного с MATLAB Compiler . Программы MATLAB могут быть упакованы в компоненты программного обеспечения для интеграции с другими языками программирования (с MATLAB Compiler SDK™ ). Крупномасштабное внедрение на корпоративных системах поддерживается через MATLAB Production Server™ .

    Запуск

    Изучите основы MATLAB Compiler

    Автономные приложения

    Создайте автономные приложения от функций MATLAB

    Дополнения Excel

    Создайте дополнения Microsoft Excel из функций MATLAB

    Приложения MapReduce в кластерах Hadoop

    Создайте и выполнитесь, упаковал приложения MapReduce MATLAB против Hadoop ® кластеры

    Приложения Spark

    Создайте и выполнитесь, скомпилированные приложения MATLAB против Spark включили кластеры Hadoop

    Веб-приложения

    Пакет приложения MATLAB для развертывания на MATLAB Web App Server

    MATLAB Runtime

    Запустите упакованные приложения MATLAB на компьютерах, на которых не установлен MATLAB

    MathWorks MATLAB

    Потребление электроэнергии

    Запуск графического пользовательского интерфейса производится с использованием технологии X Window, следующей командой:

    /opt/shared/matlab/r2013b/bin/matlab
    module load matlab/r2013b matlab

    Графический интерфейс должен запускаться только на узлах кластера, с помощью интерактиыного режима PBS (‘qsub -I -X …’), но не на интерфейсном сервере.

    Общие сведения

    Есть несколько вариантов запуска MATLAB-программ с использованием кластера:

    Запуск MATLAB-программ в пакетном режиме на отдельных узлах. Для этого в описании сценария запуска задачи необходимо вызвать MATLAB командой

    matlab -nodisplay -nodesktop -nojvm -nosplash -r "myfunc"

    при условии, что в текущей директории есть файл myfunc.m , в котором определена функция myfunc . В этом случае число одновременно запущенных расчетов ограничено числом имеющихся у нас лицензий. Можно запустить одновременно пять расчетов.

    Компиляция программ MATLAB в исполняемые файлы для запуска на любом числе компьютеров. Для этого используется компилятор Matlab Compiler. Для запуска этого компилятора требуется отдельная лицензия.

    Запуск в параллельном режиме с использованием распределенных массивов и тех функций ядра MATLAB, для которых существует параллельная реализация. Для этого необходимо создать массив, который будет передаваться в качестве аргумента функциям MATLAB как распределенный (distributed). Этот вариант потребует изменений в MATLAB-программе. Подробнее можно прочитать в документации к Parallel Computing Toolbox. В этом режиме можно использовать 16 и более параллельных процессов.

    Вызов функций matlab из C-программы. Подробнее об этом методе можно прочитать в документации к функции »mex».

    Пожалуй, самый простой способ, это способ, не требующий компиляции, т.е. способ № 1. О нём подробнее рассказано в следующем разделе.

    Запуск MATLAB-программ в пакетном режиме

    Простую программу на matlab можно запустить в пакетном режиме. В качестве примера возьмем такую программу:

    function myfunc A = rand(5); csvwrite('eig.txt',eig(A));

    Эта программа генерирует случайную квадратную матрицу, вычисляет вектор её собственных значений и записывает этот вектор в файл eig.txt .

    Запишем эту программу в файл myfunc.m ,
    в той же директории создадим файл для запуска расчета run_myfunc.sh следующего содержания:

    #!/bin/bash #PBS -l walltime=00:10:00 #PBS -l select=1:ncpus=1 cd $PBS_O_WORKDIR module load matlab/r2013b matlab -nodisplay -nodesktop -nojvm -nosplash -r "myfunc"

    через некоторое время после постановки расчета в очередь командой qsub run_myfunc.sh в этой же директории будет создан файл eig.txt , содержащий пять вещественных или комплексных чисел, вычисленных с одинарной точностью.

    MATLAB Compiler

    Документация:

    Ниже приведены ссылки на официальные страницы с описанием текущей версии MATLAB Compiler. Хотя там рассматривается более новая версия, чем установлена у нас, ссылки всё равно могут быть полезны:

    Каждый пользователь перед первым использованием MATLAB Compiler должен создать персональный файл с параметрами компиляции. Для этого на интерфейсном сервере нужно выполнить:

    module load matlab/r2013b mbuild -setup

    Команда выведет на экран:

    Options files control which compiler to use, the compiler and link command options, and the runtime libraries to link against. Using the 'mbuild -setup' command selects an options file that is placed in /mnt/storage/home/hpcuser/.matlab/R2013b and used by default for 'mbuild'. An options file in the current working directory or specified on the command line overrides the default options file in /mnt/storage/home/hpcuser/.matlab/R2013b. To override the default options file, use the 'mbuild -f' command (see 'mbuild -help' for more information). The options files available for mbuild are: 1: /mnt/storage/opt/shared/matlab/r2013b/bin/mbuildopts.sh : Build and link with MATLAB Compiler generated library via the system ANSI C/C++ compiler 0: Exit with no changes Enter the number of the compiler (0-1):

    Нужно ввести ‘1‘ и нажать кнопку Enter.

    В результате файл со стандартными настройками компиляции будет скопирован в домашнюю директорию пользователя в файл ‘~/.matlab/R2013b/mbuildopts.sh

    По умолчанию для компиляции используется системный компилятор GCC, но при необходимости файл с опциями может быть скорректирован пользователем.

    Для компиляции:
    Запустите интерактивную задачу (‘qsub -I -X …’) для получения доступа к узлу кластера.

    Запустите на узле MATLAB GUI , переключите вверху на закладку ‘APPS’ и нажмите на стрелочку справа от строки с иконками:

    В выпадающем списке в разделе ‘Application deployment’ нажмите на иконку ‘Application Compiler‘. В результате откроется окно приложения MATLAB Compiler.

    Нажмите на иконку ‘+’ справа от поля ‘Add main file‘, выберите файл MATLAB’а с кодом. Например, пусть это будет ‘myfunc.m’

    Нажмите на зелёную иконку ‘Package‘ справа.

    Когда компиляция завершится, откроется окно с тремя 3 директориями, содержащими 3 варианта скомпилированного приложения:

    for_redistribution
    for_redistribution_files_only
    for_testing

    Для запуска полученного исполняемого файла на компьютере без установленного MATLAB необходимо предварительно установить пакет MATLAB Compiler Runtime (MCR). Версия MCR должна совпадать с версией MATLAB, использованного при компиляции (в нашем случае, это ‘R2013b’).

    Все дистрибутивы MCR можно свободно скачать с официальной страницы: https://www.mathworks.com/products/compiler/mcr.html

    Дистрибутив MCR для Linux x64, соответствующий MATLAB R2013b, также можно взять на кластере — это файл ‘/opt/shared/matlab/r2013b/toolbox/compiler/deploy/glnxa64/MCRInstaller.zip’

    На нашем комплексе MCR уже установлен в директорию ‘/opt/shared/matlab/r2013b.mcr‘. При необходимости самостоятельно установить MCR выполните:

    unzip MCRInstaller.zip

    или, если дистрибутив скачан с сайта:

    unzip MCR_R2013b_glnxa64_installer.zip
    ./install

    Запуск скомпилированного приложения из директории ‘for_testing’ осуществляется с помощью скрипта ‘run_myfunc.sh’ (название скрипта зависит от названия модуля), которому в качестве параметра необходимо передать путь до установленного MCR:

    ./run_myfunc.sh /opt/shared/matlab/r2013b.mcr

    Скрипт ‘run_myfunc.sh’ настраивает необходимые переменные окружения в соответсвии с путём до установленного MCR и затем запускает находящийся рядом исполняемый бинарный файл ‘myfunc’.

    Нюансы использования компилятора смотрите в MATLAB Compiler User’s Guide R2013b.

    Parallel Computing Toolbox

    Технология, позволяющая распараллеливать выполнение программ на несколько процессорных ядер, а также использовать NVidia GPU.

    Distributed Computing Server

    Предоставляет возможность запуска программ MATLAB (в том числе, распараллеливающихся на несколько вычислительных узлов) на кластере, через разные планировщики, включая PBS Pro. Является развитием ‘Parallel Computing Toolbox’. Пользователь работает через стандартный графический интерфейс MATLAB (далее называемый ‘клиент’) и через него получает дополнительные вычислительные ресурсы на кластере. На нашем комплексе возможны два варианта использования, настраиваемые разными способами:

    Клиент работает на узле кластера, пользователь взаимодействует с ним с использованием технологии X Window. Этот способ является предпочтительным.

    Клиент работает на персональном компьютере пользователя, с которого имеется доступ к кластеру по протоколам SSH/SFTP.

    Настройка клиента на кластере

    С помощью интерактивной задачи PBS попасть на узел и запустить MATLAB через X Window:

    module load matlab/r2013b matlab

    В закладке Home открыть Environment → Parallel → Manage Cluster Profiles.
    В появившемся окне создать профиль: Add → Custom → PBS Pro
    Нажать ‘Edit‘, изменить такие параметры:

    JobStorageLocation — директория для временных файлов. В принципе, можно оставить незаполненным, но лучше указать поддиректорию в своей домашней директории или в рабочей области.

    NumWorkers = число, сколько ядер процессора будет запрашиваться.
    HasSharedFileSystem = true
    RshCommand = ssh

    Также обратите внимание на SubmitArgumet и ResourceTemplate — с их помощью можно передавать команде ‘qsub’ дополнительные параметры, а также изменять правило генерации ‘select’ для qsub.

    Переключиться на закладку ‘Validation results’. Нажать кнопку ‘Validate‘. Все тесты должны завершиться со статусом ‘passed’.

    При желании через меню окна ‘Cluster Profiles Manager’ можно переименовать настроенный профиль и установить его как ‘профиль по умолчанию’.

    Настройка клиента на ПК

    Если клиент работает на операционной системе семейства Windows, необходимо преобразовать закрытую часть персонального RSA ключа в формат, используемый в Unix-системах:

    Запустить ‘PUTTYGEN.EXE’
    Кнопкой ‘Load’ загрузить свой ранее созданный .ppk-файл
    Сохранить в нужном формате: Conversion → Export OpenSSH key
    Получившийся файл должен содержать примерно такое:

    -----BEGIN RSA PRIVATE KEY----- MIICWgIBAAKBgQCA2/bpBoLogSg51qhIDIU+KaSPhfm3fhTVAIQdgjQwdmsKDQne M0S6QvKfj3+tX5NJdV0WBie2F0NSgRCvtPZj8Z6/edL/fanW7bUBQiDCkspWC/yV . XsaozzouYGPk8OvtAkB8Uo2OK5fOxLTV1pglGNd9WbG/kuWOBYeIlBGCPAhy0jLo Xo91ZfMgwwzP1pP5hIhf86axqD5ATqgveMuit+tj -----END RSA PRIVATE KEY-----

    Перейти в директорию на персональном компьютере, в которую установлен MATLAB

    Скопировать содержимое поддиректории ‘toolbox\distcomp\examples\integration\pbs\nonshared‘ в ‘toolbox\local\

    Открыть файл ‘toolbox\local\getSubmitString.m‘ и отредактировать, заменив

    submitString = sprintf('qsub -N %s -j oe -o %s %s %s %s', . jobName, quotedLogFile, envString, additionalSubmitArgs, quotedCommand);
    submitString = sprintf('qsub -N %s -j oe -V -o %s %s %s', . jobName, quotedLogFile, additionalSubmitArgs, quotedCommand);

    Запустить MATLAB, если уже работал — перезапустить.
    В закладке Home открыть Environment → Parallel → Manage Cluster Profiles.
    В появившемся окне создать профиль: Add → Custom → Generic
    Нажать ‘Edit‘, изменить такие параметры:
    JobStorageLocation — директория для временных файлов на персональном компьютере
    NumWorkers = число, сколько ядер будет запрашиваться.
    ClusterMatlabRoot = /opt/shared/matlab/r2013b (директория с MATLAB на кластере)
    OperatingSystem = Unix
    HasSharedFileSystem = false
    Поле IndependentSubmitFcn:

    Вместо ‘/mnt/storage/home/hpcuser/matlab’ укажите путь до директории для временных файлов на кластере — или в своей домашней директории, или в своей рабочей области.

    Поле CommunicatingSubmitFcn:

    Вместо ‘/mnt/storage/home/hpcuser/matlab’ укажите путь до директории для временных файлов на кластере — или в своей домашней директории, или в своей рабочей области.

    GetJobStateFcn = @getJobStateFcn
    DeleteJobFcn = @deleteJobFcn

    Переключиться на закладку ‘Validation results’. Нажать кнопку ‘Validate’. Вас попросят ввести свой логин на кластере, путь до созданного ранее файла с закрытой частью ключа и парольную фразу к этому файлу. Все тесты должны завершиться со статусом ‘passed’.

    При желании через меню окна ‘Cluster Profiles Manager’ можно переименовать настроенный профиль и установить его как ‘профиль по умолчанию’.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *