WedX - журнал о программировании и компьютерных науках

Intel Fortran - chkstk.asm не найден

Я компилирую программу Fortran, используя Visual Studio + Intel Fortran. Программа работает нормально последовательно.

Однако, когда я пытаюсь распараллелить код, он зависает и выдает ошибку: chkstk.asm not found.

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

Я попробовал решение на этом ссылка: перейдите на страницу свойств решения (не проекта), в разделе «Общие свойства/исходные файлы отладки» укажите файлы chkstk.asm в разделе «без отладки», но безуспешно.

Ниже также принтскрин ошибки.

введите здесь описание изображения



Ответы:


1

В вашей программе возникла проблема, и ваш отладчик (в данном случае Visual Studio) был уведомлен об этом. Затем ваш отладчик ищет исходный код, связанный с местом возникновения проблемы. Он не может найти этот исходный код, скорее всего, потому, что он у вас не установлен (это часть базовой библиотеки времени выполнения C).

Но вам не особенно нужен (или не нужен) этот исходный код, чтобы понять природу проблемы.

Судя по названию, код в chkstk.asm проверяет/прощупывает стек, чтобы убедиться, что в стеке выделено достаточно места для выделения стека. Скорее всего, проверка не удалась из-за недостатка места в стеке. Вы можете использовать окно стека вызовов, чтобы определить место в исходном коде на Фортране, связанное с выделением стека — оно может быть связано с вызовом процедуры (создание хранилища для локальных переменных функции) или выражения (создание хранилище для временных результатов функций и т.п.).

Параллельный код, как правило, гораздо интенсивнее использует стек, потому что это простой способ сделать хранилище специфичным для конкретного потока выполнения. Как правило, вам необходимо увеличить объем памяти, зарезервированный для каждого стека (в свойствах соответствующего исполняемого проекта см. Linker> System> Stack Reserve Size, по умолчанию составляет всего 1 МБ или около того, попробуйте сделать его 10 МБ). Вы также можете указать компилятору использовать выделение на основе кучи, а не на основе стека (в свойствах проекта в разделе Фортран > Оптимизация установите для массивов кучи значение 0).

На форумах Intel есть множество сообщений и статей по этому вопросу.

17.06.2016
Новые материалы

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


Для любых предложений по сайту: [email protected]