Как установить компилятор в matlab
Перейти к содержимому

Как установить компилятор в matlab

  • автор:

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

Можно использовать компилятор MinGW-w64, чтобы создать файлы MEX и автономный механизм MATLAB ® и приложения MAT-файла. Чтобы установить компилятор, используйте меню Add-Ons, описанное в, Получают Дополнения. Ищите MinGW или выберите из Features. Для получения дополнительной информации см. статью File Exchange «Поддержка MATLAB Компилятора C/C++ MinGW-w64».

Создание yprime.c Пример

Можно протестировать компилятор MinGW ® путем создания примера yprime.c . Скопируйте исходный файл в перезаписываемую папку.

copyfile(fullfile(matlabroot,'extern','examples','mex','yprime.c'),'.','f')

Если вам только установили компилятор MinGW в вашей системе, команда mex автоматически выбирает MinGW. Перейдите к следующему шагу. Однако, если у вас есть несколько C или компиляторы C++, используйте mex -setup , чтобы выбрать MinGW.

mex -setup 

Создайте файл MEX.

mex yprime.c 

MATLAB отображает “Создание с” сообщением, показывающим, какой компилятор использовался, чтобы создать файл MEX.

yprime(1,1:4)

Папка установки MinGW не может содержать пробел

Не устанавливайте MinGW в месте с пробелами в пути. Например, не используйте:

C:\Program Files\mingw-64

Вместо этого используйте:

C:\mingw-64

Обновление файлов MEX, чтобы использовать компилятор MinGW

Если вам создали исходные файлы MEX с различным поддерживаемым MATLAB компилятором, вы можете должны быть изменить код, чтобы создать с компилятором MinGW. Например:

  • Файлы библиотеки ( .lib ), сгенерированные Microsoft ® Visual Studio ® , не совместимы с MinGW.
  • Объектная очистка не возможна, когда исключение выдается с помощью функции mexErrMsgIdAndTxt от файлов MEX C++, приводя к утечке памяти.
  • Неперехваченное исключение в файлах MEX C++, скомпилированных с MinGW, заставляет MATLAB отказывать.
  • Файлы MEX с переменными, содержащими большие объемы данных, не могут быть скомпилированы, когда компилятор исчерпывает память.

Похожие темы

  • Дополнения
  • Поиск и устранение проблем и Ограничения при компиляции Файлы MEX C/C++ с MinGW-w64

Внешние веб-сайты

  • Поддерживаемые и совместимые компиляторы
  • https://www.mathworks.com/matlabcentral/fileexchange/52848-matlab-support-for-mingw-w64-c-c++-compiler
Документация MATLAB
Поддержка
  • MATLAB Answers
  • Помощь в установке
  • Отчеты об ошибках
  • Требования к продукту
  • Загрузка программного обеспечения

© 1994-2019 The MathWorks, Inc.

  • Условия использования
  • Патенты
  • Торговые марки
  • Список благодарностей

Для просмотра документации необходимо авторизоваться на сайте
Войти
Памятка переводчика

1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.

2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.

3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.

4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.

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

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

Можно использовать компилятор MinGW-w64, чтобы создать файлы MEX, MATLAB ® взаимодействуйте через интерфейс к библиотеке C++, и автономному движку MATLAB и приложениям MAT-файла. Для получения дополнительной информации см. «Поддержку MATLAB Компилятора C/C++ MinGW-w64».

Установите компилятор MinGW-w64

Чтобы установить компилятор, используйте меню Add-Ons.

  • На вкладке MATLAB Home, в разделе Environment, нажимают Add-Ons > Get Add-Ons.
  • Ищите MinGW или выберите из Features.

Создание yprime.c Пример

Можно протестировать MinGW ® компилятор путем создания yprime.c пример. Скопируйте исходный файл в перезаписываемую папку.

copyfile(fullfile(matlabroot,'extern','examples','mex','yprime.c'),'.','f')

Если вам только установили компилятор MinGW в вашей системе, mex команда автоматически выбирает MinGW. Перейдите к следующему шагу. Однако, если у вас есть несколько C или компиляторы C++, используйте mex -setup выбрать MinGW.

mex -setup 

Создайте файл MEX.

mex yprime.c 

MATLAB отображает “Создание с” сообщением, показывающим, какой компилятор использовался, чтобы создать файл MEX.

yprime(1,1:4)

Папка установки MinGW не может содержать пробел

Не устанавливайте MinGW в месте с пробелами в пути. Например, не используйте:

C:\Program Files\mingw-64

Вместо этого используйте:

C:\mingw-64

Обновление файлов MEX, чтобы использовать компилятор MinGW

Если вам создали исходные файлы MEX с различным компилятором, который поддерживает MATLAB, вы можете должны быть изменить код, чтобы создать с компилятором MinGW. Например:

  • Библиотека ( .lib ) файлы сгенерированы Microsoft ® Visual Studio ® не совместимы с MinGW.
  • Объектная очистка не возможна, когда исключение выдается с помощью mexErrMsgIdAndTxt функция от файлов MEX C++, приводящих к утечке памяти.
  • Неперехваченное исключение в файлах MEX C++, скомпилированных с MinGW, заставляет MATLAB отказывать.
  • Файлы MEX с переменными, содержащими большие объемы данных, не могут быть скомпилированы, когда компилятор исчерпывает память.

Похожие темы

  • Дополнения
  • Получите и управляйте дополнениями
  • Поиск и устранение проблем и Ограничения при компиляции Файлы MEX C/C++ с MinGW-w64

Внешние веб-сайты

  • Поддерживаемые и совместимые компиляторы
  • https://www.mathworks.com/matlabcentral/fileexchange/52848-matlab-support-for-mingw-w64-c-c-compiler

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

Поддержка

  • MATLAB Answers
  • Помощь в установке
  • Отчеты об ошибках
  • Требования к продукту
  • Загрузка программного обеспечения

© 1994-2021 The MathWorks, Inc.

  • Условия использования
  • Патенты
  • Торговые марки
  • Список благодарностей

Для просмотра документации необходимо авторизоваться на сайте
Войти
Памятка переводчика

1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.

2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.

3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.

4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.

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

How to install MinGW64 compiler manually for Matlab 2019a

Mingw.mlpkginstall for Matlab R2019a fails because it is blocked by our Internet filters. Connection error.

Is there a way to install manually?
I cannot find the software or the documentation for the installation.

0 Comments

Answers (1)

Gargi Patil on 9 Nov 2021

Direct link to this answer

Cancel Copy to Clipboard

Direct link to this answer

Cancel Copy to Clipboard

Kindly refer to the following link which describes different cases and ways to install MinGW Compiler.

I believe the cases:
2. I already have MinGW-w64 on my computer. How do I configure it to work with MATLAB?
9. I do not have access to the internet on my machine. Can I still install the MinGW-w64 Add-On?
will be helpful for you.

0 Comments

See Also

Categories

Find more on MATLAB Support for MinGW-w64 C/C++ Compiler in Help Center and File Exchange

Tags

Products

Release

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

An Error Occurred

Unable to complete the action because of changes made to the page. Reload the page to see its updated state.

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list

How to Get Best Site Performance

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.

  • América Latina (Español)
  • Canada (English)
  • United States (English)
  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
    • Australia (English)
    • India (English)
    • New Zealand (English)
    • 中国
      • 简体中文 Chinese
      • English

      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 не будет опубликован. Обязательные поля помечены *