Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Работа с Intel Fortran через Visual Studio 2003 и не только

Автор: Zoratystra
Дата сообщения: 14.12.2009 00:38
Помогите пожалуйста. Вроде это все тут уже и обсуждалось, но у меня сделать не получилось. Я хочу поставить на 2005 или 2008 Microsoft Visual Studio интеловский фортрановский компилятор. У меня есть 9 версия, и есть 11, но 9 с IMSL, которая мне очень нужна, а 11 без, но есть отдельно IMSL 6. Так вот как и что мне и в какой последовательности нужно установить, чтобы можно было пользоваться библиотеками IMSL? И ещё хотелось бы организовать это на 64 битной системе.
Автор: karakurt2
Дата сообщения: 14.12.2009 04:07
Zoratystra

Visual Studio
Intel Fortran Compiler
IMSL

Насколько я понимаю, последовательность установки даже не принципиальна. Настроить работоспособность можно задавая значения переменных окружения PATH, INCLUDE, LIB или заполнив соответствующие поля редактирования в пользовательском интерфейсе Студии. Для примера посмотрите командные файлы, в созданных после установки каталогах.
Автор: Bear87
Дата сообщения: 11.01.2010 09:15
скажите пожалуйста где можно скачать новые версии этих программ: Visual Studio 6, Compaq Visual Fortran 6.6, Fortran Compiler v7.0, IMSL 4. (Windows XP SP3, ia32)

ато нужно в фортране встроенные функции бесселя от комплексного аргумента (у себя на компьютере такой не нашел). пишут в инете, что он есть в новых версиях IMSL (вроде в 6), но IMSL, в свою очередь хочет еще и компилятор... в общем, если не сложно, пришлите на мыло ссылочки для полного рабочего набора программ.

NickBear@rambler.ru

заранее спасибо
Автор: Andrew10
Дата сообщения: 11.01.2010 09:51
Bear87
Для цилиндрических функций комплексного аргумента, включая бесселей, можно использовать библиотеку amos вот отсюда:
ftp://ftp.netlib.org/amos
Это free-исходники.


Цитата:
IMSL, в свою очередь хочет еще и компилятор...

Не очень понятно ... Если ты хочешь использовать фортран, то компилятор нужен в любом случае.
Автор: AZA_N
Дата сообщения: 11.01.2010 11:30
Bear87, в варезнике можно добыть Visual Studio 2008 тут , Intel Fortran и IMSL тут . Как раз и получится полный набор программ.
Автор: Bear87
Дата сообщения: 11.01.2010 16:02
компилятор - да, просто, вроде как, нужен новый. а его надо ж искать, качать. Да и не каждый,насколько я знаю, подойдет...

большое спасибо!
пошел искать
отпишусь о результатах.
Автор: akaGM
Дата сообщения: 11.01.2010 17:38
Bear87
чё его искать:
http://gcc.gnu.org/wiki/GFortran/
http://www.g95.org/

и ты лицензионно чист...
Автор: AZA_N
Дата сообщения: 11.01.2010 22:01
akaGM, работать гораздо удобнее с VS+IVF+IMSL, а вот GNU вполне сгодится, так сказать, для создания видимости этой самой "лицензионной чистоты".
Автор: Bear87
Дата сообщения: 12.01.2010 12:27
что-то я скачал вижуал студию 2008 тут, а она ставиться не хочет.
_http://download.microsoft.com/download/0/9/9/099a2ac7-9916-4cb1-b8a6-0dccb292d5e1/VS2008ProEdition90DayTrialRUSX1487748.iso
запустилась установка - красивая, но дошла до 2го пункта и сказала "ошибка"...
Автор: AZA_N
Дата сообщения: 12.01.2010 13:34
Bear87, такие вопросы лучше задавать в соответствующих ветках форума. Отвечать буду здесь
Автор: Bear87
Дата сообщения: 12.01.2010 14:18
ок, спс.
я извиняюсь, просто мало опыта в работе с форумом.
Автор: Bear87
Дата сообщения: 16.01.2010 10:08

Цитата:
Zoratystra
Я хочу поставить на 2005 или 2008 Microsoft Visual Studio интеловский фортрановский компилятор. У меня есть 9 версия, и есть 11, но 9 с IMSL, которая мне очень нужна, а 11 без, но есть отдельно IMSL 6.


а где взять эту самую IMSL последней версии и по возможности лицензию? писал в тему по IMSL там не ответили, да и посл сообщение там было года два назад...


Цитата:
Для цилиндрических функций комплексного аргумента, включая бесселей, можно использовать библиотеку amos вот отсюда:
ftp://ftp.netlib.org/amos
Это free-исходники.


не смог я тут разобраться...
где эту библ взять? и как подключить? или работать только с исходниками?
функцию бесселя комплексного аргумента я то нашел zbesj , но она требует множество других встроеных модулей...
Автор: Andrew10
Дата сообщения: 16.01.2010 16:30
Bear87

Цитата:
не смог я тут разобраться...
где эту библ взять? и как подключить? или работать только с исходниками?
функцию бесселя комплексного аргумента я то нашел zbesj , но она требует множество других встроеных модулей...


1. Скачиваешь из указанного каталога файл amos.tgz
2. Распаковываешь в пустой рабочий каталог
3. В файлах i1mach.f r1mach.f и d1mach.f находишь строки с операторами DATA, идущие после комментария

C MACHINE CONSTANTS FOR THE IBM PC
и раскомментируешь их, т.е. убираешь в первой строке символ C.

4. Файлы, имена которых начинаются с символов 'сq' и 'zq' перенести в отдельный каталог - в них содержатся тестовые программы для функций библиотеки.

Проще всего создать библиотеку из командной строки.
Пример для компилятора Intel Fortran (у меня версия 10.1***), но для 9-й и 11-й то же самое.
Для этого:
5. запускаешь окно для работы в командной строке:
Start -> Programs -> Intel Software Development Kit -> Intel(R) Fortran Compiler 10.1.*** ->
Intel(R) Fortran Environment for applications running on IA32
6. Переходишь в каталог, где файлы библиотеки и
запускаешь из командной строки
>ifort -O2 -c *.f

При компиляции будет выдано массу предупреждений сообщений про функцию ZABS - не обращаешь внимания.

7. Создаешь библиотеку командой
>lib /OUT:amos.lib *.obj

Библиотека готова. Можно проверить ее работу. Для этого нужно перейти в каталог, куда были скопированы файлы с тестами и их скомпилировать. Но прежде нужно зайти в соответствующий файл и убрать в первой строке в командей PROGRAM скобки с аргументами. Например, в файле zqcby.f вместо

PROGRAM ZQCBY(INPUT,OUTPUT,TAPE7=OUTPUT)

оставить просто

PROGRAM ZQCBY

Потом подать команду
>ifort zqcby.f amos.lib /link /libpath:"Здесь указать путь к библиотеке amos.lib"

Будет создан файл zqcby.exe, запускаешь его и после окончания работы результат теста в
каталоге fort.7

Естественно, все это можно сделать и в Visual Studio, но объяснять гораздо дольше.
Автор: Bear87
Дата сообщения: 20.01.2010 22:40
не работает функция из IMSL 6.
бессель от комплексного аргумента.
(вижуал студио 2008, компилятор фортран 11,1.)

тут CALL CBJS (XNU, Z, N, CBS) пишет:

Ошибка    1     error LNK2019: ссылка на неразрешенный внешний символ _S_CBJS в функции _MAIN__    imslmp.obj    

хотя USE CBJS_INT вначале программы вроде ест.


уря! все заработало!

ОГРОМНЕЙШЕЕ СПАСИБО ЗА ПОМОЩЬ!!!
ВСЕМУ ФОРУМУ И В ОСОБЕННОСТИ AZA_N!
Автор: AZA_N
Дата сообщения: 21.01.2010 09:42
Bear87
Tools->Options->Intel(R)VisualFortran>Compilers:
в libraries добывить C:\Program Files\VNI\imsl\fnl600\IA32\lib (исправить путь на тот, куда у Вас установлен imsl6), в include добавить C:\Program Files\VNI\imsl\fnl600\IA32\include\static
В настройках проекта configuration properties->Linker->CommandLine->AdditionalOptions добавить imsl.lib imsl_dll.lib libguide40.lib

С этими настройками example из SFUN.pdf (стр147, CBJS) работает.

Добавлено:
Bear87, в теме уже раньше NihtsVoron похожую проблему решал. пользуйтесь поиском по теме (в правом верхнем углу "Версия для печати", а потом промто текстовый поиск)
Автор: nkpetrova
Дата сообщения: 27.01.2010 20:17
Не могу направить вывод с консоли в файл при работе с exe, полученном с Фортрана:[q][/q]

даю стандартную команду file.exe>file.txt
Открывается окно QuickWin и весь вывод идет в него. file.txt оказывается пустым. Запуск делала и из командной строки и из FAR - все одно и то же.
Подскажите как быть.
Автор: AZA_N
Дата сообщения: 28.01.2010 08:40
nkpetrova, создайте не QuickWin Application, а Console Application.
Автор: nkpetrova
Дата сообщения: 01.02.2010 19:32
nkpetrova, создайте не QuickWin Application, а Console Application.[q][/q]
Спасибо, но я, к сожалению, не знаю, как создать Console Application.
Трансляцию и линкование я делаю в Developer Studio, а запуск .exe уже через командную строку в FAR или т.п.
На каком этапе необходимо создать Console Application?
Автор: AZA_N
Дата сообщения: 01.02.2010 22:01
nkpetrova, у Вас, наверное, еще Compaq Visual Fortran. Как там это делать, я уже не помню, но, наверное, так же, как и в VisualStudio2008 - проще всего при создании нового проекта в Project types указать Console Application, а не QuickWin Application. Сложнее - заменить опции в уже существующем проекте (какие - для CVF не подскажу, нет под рукой, смотрите в help)
Автор: KChernov
Дата сообщения: 02.02.2010 07:47
Чтобы поменять тип проекта, можно просто создать новый и перенести и подключить туда файлы фортрана (ну и данных, если есть). Но вот если была настройки - их уже вручную. Не уверен, что тип проекта так легко поменять после создания.
Автор: AZA_N
Дата сообщения: 02.02.2010 08:03
KChernov, легко поменять. В VS2008+IVF заменить /libs:qwin на /libs:static /threads в опциях компилятора, и в опциях линкера /SUBSYSTEM:WINDOWS на /SUBSYSTEM:CONSOLE и будет консольное приложение вместо QuickWin.
Автор: Animosus
Дата сообщения: 12.02.2010 13:54
Возникла проблема при переходе к двойной точности с помощью implicit real*8(a-h,o-z).
Проект- Standard Graphics Application.

Компилятор ругается на строчки
1) "use ifqwin" - в файле FGRAPH.FD
2) "RECORD /VIDEOCONFIG/ VC" - error #6455: This structure name has not been declared

Причем проблема возникает только на Intel Visual Fortran Compiler 11.0.074 и VisualStudio 2005.
При компиляции той же программы на Compaq Visual Fortran 6 никаких ошибок не выдается.
(правда, там содержимое файла FGRAPH.FD отличается от интеловского...)

Кто-нибудь знает, в чем тут дело?

Автор: akaGM
Дата сообщения: 12.02.2010 14:50
Animosus
попробуй для IF что-нибудь одно:
или include 'fgraph.fd' или use ifqwin, лучше второе...


Цитата:
Возникла проблема при переходе к двойной точности с помощью implicit real*8(a-h,o-z)

а это-то тут причём?
Автор: Animosus
Дата сообщения: 12.02.2010 15:09
akaGM

Цитата:
попробуй для IF что-нибудь одно:
или include 'fgraph.fd' или use ifqwin, лучше второе...

Сейчас у меня в проге напечатано

Код: INCLUDE 'FGRAPH.FD'
RECORD /VIDEOCONFIG/ VC
Автор: akaGM
Дата сообщения: 12.02.2010 15:34
Animosus

Цитата:
This USE statement is not positioned correctly within the scoping unit

ну так ты в неверном месте написал эту директиву, т.е. включил FGRAPH.FD
use Надо писать сразу же после объявлений program/module/sub и func

покажи где ты написал use и/или include FGRAPH.FD?
Автор: Animosus
Дата сообщения: 12.02.2010 15:58
akaGM


Цитата:
ну так ты в неверном месте написал эту директиву, т.е. включил FGRAPH.FD

Сейчас включено так:

Код:     SUBROUTINE SUB1
    include 'param.inc'
    include 'dimen.inc'

    INCLUDE 'FGRAPH.FD'
    RECORD /VIDEOCONFIG/ VC
    RECORD /WXYCOORD/ SS
    LOGICAL*2 FINVERT

    dimension rad(Nx),theta(Ny)
    ...
Автор: akaGM
Дата сообщения: 12.02.2010 16:08
Animosus
попробуй так:
Код:
SUBROUTINE SUB1
use ifqwin
include 'param.inc'
include 'dimen.inc'
INCLUDE 'FGRAPH.FD'

RECORD /VIDEOCONFIG/ VC
...
Автор: Animosus
Дата сообщения: 12.02.2010 18:14
akaGM
Большое спасибо за помощь! Все заработало.
Я еще проверил такой вариант:

Код: SUBROUTINE SUB1
INCLUDE 'FGRAPH.FD'
include 'param.inc'
include 'dimen.inc'

RECORD /VIDEOCONFIG/ VC
...
Автор: akaGM
Дата сообщения: 12.02.2010 20:06
Animosus
SUBROUTINE SUB1
INCLUDE 'FGRAPH.FD'
include 'param.inc'
include 'dimen.inc'

RECORD /VIDEOCONFIG/ VC

это полный аналог того, что я написал, т.к.
INCLUDE 'FGRAPH.FD' эквивалентно use ifqwin

а вообще весь implicit кроме implicit none -- маздай
Автор: AquaTour
Дата сообщения: 31.03.2010 04:06
Помогите разобраться со ScaLAPACK
Не получается слинкова примеры, которые идут с Intel MKL 10.2.4.032

Откомпилировать пытаюсь файл c:\Program Files\Intel\MKL\10.2.4.032\tests\scalapack\source\TESTING\EIG\pssdpsubtst.f

В настройках проекта добавил следующие lib файлы
mkl_scalapack_core.lib mkl_intel_c.lib mkl_sequential.lib mkl_core.lib mkl_blacs_intelmpi.lib impi.lib impicxx.lib libiomp5mt.lib

прописал к ним пути, все находит, на отсутствие файлов не жалуется. Так же в настройках проекта стоит Use Intel Math Kerkel Library: Cluster (/Qmkl:cluster)

Программа компилируется, на этапе линковки выдается:
1>Finished searching libraries
1>pssdpsubtst.obj : error LNK2019: unresolved external symbol _PSLASIZESQP referenced in function _PSSDPSUBTST
1>pssdpsubtst.obj : error LNK2019: unresolved external symbol _PSSEPCHK referenced in function _PSSDPSUBTST
1>pssdpsubtst.obj : error LNK2019: unresolved external symbol _PSSEPQTQ referenced in function _PSSDPSUBTST
1>libifcoremt.lib(for_main.obj) : error LNK2019: unresolved external symbol _MAIN__ referenced in function _main
1>Debug\Console4.exe : fatal error LNK1120: 4 unresolved externals


Что еще необходимо добавить для успешной линковки?

Страницы: 123456789101112131415161718192021

Предыдущая тема: Относительное перемещение мыши


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.