У меня есть один процесс на сервере Linux, я устанавливаю 1 ГБ виртуальной памяти для этого процесса с помощью функции setrlimit (), а в базе кода используется openmp. В процессе выполнения произошел сбой, генерируется основной файл. Я отладил файл ядра и обнаружил, что происходит сбой в параллели #pragma omp для строки. Я думаю, что виртуальная память превышена в выражении openmp, и исключение bad_alloc вызывается, а не обрабатывается. Я попытался добавить эту параллель #pragma omp для строки внутри блока try и добавил блок catch с исключением bad_alloc, но он не перехватывает. Даже я устал от улова (…), но не повезло.
Можете ли вы поделиться своим предложением о том, как обрабатывать исключения, которые возникают в операторе omp.
Задача ещё не решена.
Других решений пока нет …