Конечно, это возможно. Есть несколько способов сделать это, но:
То, что я привык, имеет вашу «системную логику» в более универсальной логике, которая напрямую поддерживает такие вещи, как pthreads или boost threads и т. Д .; скорее всего, что-то вроде C или C++, а затем порождают разные потоки для разных частей вашего вычисления или параллелизуемых частей данных и т. д. Обратите внимание, что современные компиляторы могут генерировать двоичные файлы из fortran, которые придерживаются обычных конвенций вызова C, так что вызов fortran-функций не делает, t имеет больше накладных расходов, чем вызов других функций C, C++, .... Вы должны сделать все, чтобы не изменять глобальное состояние в своих функциях fortran, хотя!
Нет рационализационной схемы для fortran77, о которой я бы знал; есть few in existence, но насколько я могу судить, они зависят от особенностей языка, которых не было в F77. Как отметил @HighPerformanceMark, OpenMP может очень хорошо работать с компиляторами Intel.
Это, безусловно, возможно, и вы должны направить свои исследования, в первую очередь, на «OpenMP». –
Прошу прощения за ответ. Я понял, что у моего кода были проблемы, теперь я готов попытаться распараллелить его. Я читал [здесь] (https://people.sc.fsu.edu/~jburkardt/f77_src/openmp/openmp.html) и [здесь] (https://www.ncsu.edu/hpc/Courses/ 7shared.html) и [здесь] (http://people.ds.cam.ac.uk/nmm1/openmp/Notes/notes_2.pdf). Я не специалист в программировании, я просто инженер-механик, и недавно я изучил основы fortran, поэтому извините, если я говорю, что это просто фигня. Я понимаю, что можно распараллелить циклы, такие как DO, FOR, добавив «прагмы». Это только? –