Здравствуйте!
По работе появился алгоритм на Fortran, который нужно запускать, причем алгоритм нужно доработать таким образом, чтобы основная рабочая матрица (двумерный массив) был «гигантским», например:
Код:
REAL*8 U(32000,7000)
Текущий компилятор — Compaq Visual Fortran Version 6.6. Операционная система — Windows XP 32-bit.
Естественно, при попытке построить exe-файл появляется ошибка:
Debug/test.exe : warning LNK4084: total image size ... exceeds max (268435456); image may not run
Конечно, самое красивое решение — переписать алгоритм, чтобы он не запрашивал такого большого объема памяти. Но, к сожалению, иногда приходится выбирать другие решения.
Прошу подсказать:
1) Возможно ли увеличить до каких-то пределов ограничения на image size на Fortran для данного или другого компилятора (например, до 512 МБ, 1024 МБ, ...)?
2) Каким образом лучше работать с «очень гигантскими» массивами, например, 5-50 ГБ на Fortran? (Я понимаю, что уже на первых гигабайтах я наткнусь, во-первых, на ограничение на выделение памяти Windows XP 32-bit на одну программу, затем на возможности работы Windows XP 32-bit с памятью (3-4 ГБ), поэтому я имею в виду какие-нибудь механизмы, как БД, но для Fortran, которые там легко реализовать.)
Прошу прощения, если мои вопросы звучат глупо, так как я в Fortran даже не любитель... :)
Заранее спасибо!