Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Работа с Intel Fortran через Visual Studio 2003 и не только

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

Открыть новую тему     Написать ответ в эту тему

Bear87



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ок, спс.
я извиняюсь, просто мало опыта в работе с форумом.

Всего записей: 31 | Зарегистр. 11-01-2010 | Отправлено: 15:18 12-01-2010
Bear87



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

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

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

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

Всего записей: 31 | Зарегистр. 11-01-2010 | Отправлено: 11:08 16-01-2010
Andrew10

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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, но объяснять гораздо дольше.

Всего записей: 780 | Зарегистр. 26-02-2005 | Отправлено: 17:30 16-01-2010 | Исправлено: Andrew10, 14:21 18-01-2010
Bear87



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не работает функция из IMSL 6.
бессель от комплексного аргумента.
(вижуал студио 2008, компилятор фортран 11,1.)
 
тут CALL CBJS (XNU, Z, N, CBS) пишет:
 
Ошибка    1     error LNK2019: ссылка на неразрешенный внешний символ _S_CBJS в функции _MAIN__    imslmp.obj    
 
хотя USE CBJS_INT вначале программы вроде ест.
 
 
уря! все заработало!
 
ОГРОМНЕЙШЕЕ СПАСИБО ЗА ПОМОЩЬ!!!
ВСЕМУ ФОРУМУ И В ОСОБЕННОСТИ AZA_N!

Всего записей: 31 | Зарегистр. 11-01-2010 | Отправлено: 23:40 20-01-2010 | Исправлено: Bear87, 13:39 19-02-2010
AZA_N

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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 похожую проблему решал. пользуйтесь поиском по теме (в правом верхнем углу "Версия для печати", а потом промто текстовый поиск)

Всего записей: 853 | Зарегистр. 10-11-2007 | Отправлено: 10:42 21-01-2010
nkpetrova

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не могу направить вывод с консоли в файл при работе с exe, полученном с Фортрана:[q][/q]
 
даю стандартную команду file.exe>file.txt
Открывается окно QuickWin и весь вывод идет в него. file.txt оказывается пустым. Запуск делала и из командной строки и из FAR - все одно и то же.  
Подскажите как быть.

Всего записей: 2 | Зарегистр. 27-01-2010 | Отправлено: 21:17 27-01-2010
AZA_N

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nkpetrova, создайте не QuickWin Application, а Console Application.

Всего записей: 853 | Зарегистр. 10-11-2007 | Отправлено: 09:40 28-01-2010
nkpetrova

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nkpetrova, создайте не QuickWin Application, а Console Application.[q][/q]
Спасибо, но я, к сожалению, не знаю, как создать Console Application.
Трансляцию и линкование я делаю в Developer Studio, а запуск .exe уже через командную строку в FAR или т.п.
На каком этапе необходимо создать Console Application?

Всего записей: 2 | Зарегистр. 27-01-2010 | Отправлено: 20:32 01-02-2010
AZA_N

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nkpetrova, у Вас, наверное, еще Compaq Visual Fortran. Как там это делать, я уже не помню, но, наверное, так же, как и в VisualStudio2008 - проще всего при создании нового проекта  в Project types указать Console Application, а не QuickWin Application. Сложнее - заменить опции в уже существующем проекте (какие - для CVF не подскажу, нет под рукой, смотрите в help)

Всего записей: 853 | Зарегистр. 10-11-2007 | Отправлено: 23:01 01-02-2010
KChernov



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Чтобы поменять тип проекта, можно просто создать новый и перенести и подключить туда файлы фортрана (ну и данных, если есть). Но вот если была настройки - их уже  вручную. Не уверен, что тип проекта так легко поменять после создания.

----------
Наиболее ценным качеством наставника является не способность преподнести ученику готовый результат, а способность познакомить его с процессом поиска этого результата.

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 08:47 02-02-2010
AZA_N

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KChernov, легко поменять. В VS2008+IVF заменить /libs:qwin на /libs:static /threads в опциях компилятора, и в опциях линкера /SUBSYSTEM:WINDOWS на /SUBSYSTEM:CONSOLE и будет консольное приложение вместо QuickWin.

Всего записей: 853 | Зарегистр. 10-11-2007 | Отправлено: 09:03 02-02-2010
Animosus



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возникла проблема при переходе к двойной точности с помощью 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 отличается от интеловского...)
 
Кто-нибудь знает, в чем тут дело?
 

Всего записей: 8 | Зарегистр. 12-02-2010 | Отправлено: 14:54 12-02-2010
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Animosus
попробуй для IF что-нибудь одно:
или include 'fgraph.fd' или use ifqwin, лучше второе...
 

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

а это-то тут причём?

Всего записей: 24120 | Зарегистр. 06-12-2002 | Отправлено: 15:50 12-02-2010
Animosus



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

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

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

Код:
INCLUDE  'FGRAPH.FD'  
RECORD /VIDEOCONFIG/ VC
 

Выдаются такие ошибки :  
 
1)...\fortran\include\FGRAPH.FD(37): error #6278: This USE statement is not positioned correctly within the scoping unit.
2)error #6455: This structure name has not been declared.   [VIDEOCONFIG]
 
Открываю 'fgraph.fd' - там куча комментов и одна строчка - "use ifqwin"
 

Цитата:
а это-то тут причём?

Просто до того, как я решил перейти к двойной точности, все работало и компилилось без ошибок.

Всего записей: 8 | Зарегистр. 12-02-2010 | Отправлено: 16:09 12-02-2010 | Исправлено: Animosus, 16:11 12-02-2010
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Animosus

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

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

Всего записей: 24120 | Зарегистр. 06-12-2002 | Отправлено: 16:34 12-02-2010 | Исправлено: akaGM, 16:58 12-02-2010
Animosus



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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)
    ...
 

Только что попробовал включать ее в другом месте - выдает те же ошибки. Думаю, проблема в чем-то другом. Ведь в Compaq Fortran все компилируется без ошибок.

Всего записей: 8 | Зарегистр. 12-02-2010 | Отправлено: 16:58 12-02-2010 | Исправлено: Animosus, 19:15 12-02-2010
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Animosus
попробуй так:
Код:
 
    SUBROUTINE SUB1
    use ifqwin
    include 'param.inc'
    include 'dimen.inc'
    INCLUDE  'FGRAPH.FD'
 
    RECORD /VIDEOCONFIG/ VC
...

дальше можно будет это аккуратно сделать условным блоком:
 
!DEC$ if defined (что_там_у_нас_по_компаку)
      INCLUDE  'FGRAPH.FD'
!DEC$ else
      use ifqwin
!DEC$ endif
 
или наоборот:
 
!DEC$ if defined (__INTEL_COMPILER)
      use ifqwin
!DEC$ else
      INCLUDE  'FGRAPH.FD'
!DEC$ endif
 
 

Цитата:
Я так понимаю, что 37 в FGRAPH.FD(37)  относится только к содержимому файла FGRAPH.FD

да, я уже исправился...

Всего записей: 24120 | Зарегистр. 06-12-2002 | Отправлено: 17:08 12-02-2010 | Исправлено: akaGM, 17:12 12-02-2010
Animosus



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Большое спасибо за помощь! Все заработало.
Я еще проверил такой вариант:

Код:
    SUBROUTINE SUB1
    INCLUDE  'FGRAPH.FD'
    include 'param.inc'
    include 'dimen.inc'
 
    RECORD /VIDEOCONFIG/ VC
...  

Он тоже работает.
 
Как выяснилось, ошибка была в том, что запись implicit real*8(a-h,o-z)  стояла в файле param.inc и подключалась раньше, чем FGRAPH.FD.

Всего записей: 8 | Зарегистр. 12-02-2010 | Отправлено: 19:14 12-02-2010
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Animosus
    SUBROUTINE SUB1
    INCLUDE  'FGRAPH.FD'
    include 'param.inc'
    include 'dimen.inc'
 
    RECORD /VIDEOCONFIG/ VC
 
это полный аналог того, что я написал, т.к.
    INCLUDE  'FGRAPH.FD' эквивалентно use ifqwin
 
а вообще весь implicit кроме implicit none -- маздай

Всего записей: 24120 | Зарегистр. 06-12-2002 | Отправлено: 21:06 12-02-2010
AquaTour



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите разобраться со 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
 
 
Что еще необходимо добавить для успешной линковки?

Всего записей: 22 | Зарегистр. 05-03-2006 | Отправлено: 05:06 31-03-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Работа с Intel Fortran через Visual Studio 2003 и не только


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru