Вычислительные программы "затормозятся"
У меня были некоторые проблемы с запуском кода в моих системах Ubuntu. Та же ошибка возникает на моей рабочей станции 14.04 и моем ноутбуке 16.04. Я пишу код для диагонализации матриц или выполнения тензорных манипуляций, и эта задача - не одна большая, гигантская проблема, а одна относительно управляемая проблема, повторяемая несколько сотен или тысяч раз, с некоторыми параметрами, настроенными. Например, я мог бы запустить код, чтобы найти собственные значения матрицы, а затем ту же матрицу, но с несколькими измененными числами, и снова и снова. Эта проблема возникает с кодом, который я пишу на Julia и C++, хотя я ожидаю, что подобные вещи произойдут, если я буду использовать Python.
Когда я запускаю код, сначала кажется, что программа работает без сбоев, но после нескольких десятков итераций она перестает выдавать вывод. Запуск top показывает, что центральный процессор все еще используется для этого процесса, но вывод не производится, хотя та же самая проблема (с немного отличающимися параметрами) прекрасно работала в течение нескольких десятков итераций ранее. Использование оперативной памяти низкое (~5%), а Ubuntu вообще не зависает и не тормозит. Там нет ничего особенного в точный момент, когда он перестает работать - я могу повторно запустить код с теми же параметрами, когда программа остановилась, и она работает нормально, пока не пройдет еще несколько десятков итераций и проблема возникнет снова.
Одна особенность, которую я заметил при запуске top, заключалась в том, что остановка программы почти всегда была связана с уменьшением использования процессора. Когда программа работает нормально, она использует 400-600% моего процессора, но когда она останавливается, это число всегда падает до 100%.
Я был бы благодарен за любые идеи вообще. Заранее спасибо.