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

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

Автор: ku66alex
Дата сообщения: 31.03.2008 13:00
Всем привет.
Кто нибудь пробовал встроить intel Visual Fortran 10 и Visual Studio 2008?
У меня студия в упор не видит Фортран.
Автор: Kukumber2121
Дата сообщения: 02.04.2008 03:37
Здравствуйте. Довольно давно занимаюсь различным мат. моделированием, накопилось куча данных, и эта в этой куче, мягко говоря, копаться не удобно. А, в связи с тем, что намечается еще более объемный счет, то есть желание это все дело как то упорядочить. И вот возникла мысль писать все данные в базу данных, а как субд использовать MS SQL SERVER. Подскажите какую-нибудь литературу, как напрямую из Студии делать записи в БД. Заранее благодарен.
Автор: Donkey
Дата сообщения: 02.04.2008 09:54
ku66alex

Цитата:
Кто нибудь пробовал встроить intel Visual Fortran 10 и Visual Studio 2008?
У меня студия в упор не видит Фортран.


Какая подверсия фортрана? До 10.1.015 и не должны.
Автор: ValterG
Дата сообщения: 03.04.2008 14:53
Kukumber2121

Цитата:
писать все данные в базу данных,

Одно время занимался этим вопросом и выяснил, что большие по объему результаты
счета ни одна база не потянет, либо эти результаты просто будут файлами с описанием.
Поэтому удобнее любой каталожной системой воспользоваться. Прада руки и до этого тоже не дошли. И база не дешевое занятие. Сначала надо спроектировать структуру, потом ее(базу) заполнить. Короче, много много лишнего труда, а польза не скоро будет.
А писать-то без проблем. Изучаем SQL и просто шлем команды(ну просто - это громко сказано, сначала материть будут или не получится ничего). Можно команды вручную набивать, можно из программы. Можно конечно написать на С++ или Фортране красивый интерфейс - но тогда считать некогда будет
Автор: Kukumber2121
Дата сообщения: 04.04.2008 02:53
ValterG

Цитата:
[/q][q]что большие по объему результаты
счета ни одна база не потянет, либо эти результаты просто будут файлами с описанием.


Не понятно что вы имеете в виду под "не потянет"? Долго из нее данные будут выгружаться?
Автор: ValterG
Дата сообщения: 04.04.2008 11:22
Kukumber2121

Цитата:
Долго из нее данные будут выгружаться?

И это, и объем сильно "распухнет". Вся соль баз : не дублировать одинаковую информацию. Для результатов расчетов такого нет и экономить не на чем.
Использовать SQL-сервер как простой индекс-каталогизатор можно, но есть специализированный софт. Можно вообще использовать стадартные средства Виндовс - у каждого файла(в NTFS точно) существует закладка свойства - там можно все написать.
Автор: dar71
Дата сообщения: 13.04.2008 15:17

Цитата:
AZA_N: Спасибо за помощь! Все утряслось совсем простым способом – снос ОС (вместе с partition), установка VS2005+IVF10.1.019(IA32)+IMSL5(от IVF9Pro)+IMSL6(с офф. сайта) – и все работает (и c IMSL5, и c IMSL6). Пока еще не все успела оттестировать, но то, о чем писала выше, работает. Так что лучшее средство от насморка – гильотина (особенно после излишне смелых экспериментов с разнородным новым софтом).
Осталось теперь только разобраться, как создавать RC, не выходя из fortran project, и жить спокойно, пока срочно не понадобиться расчет на два ядра (em64t).

Тоже занимаюсь переходом с CVF6.5 на x64 и Core2Duo.
Не понял, проблема решилась отказом от x64 версии IVF?
Автор: Kukumber2121
Дата сообщения: 15.04.2008 05:03
Здравствуйте. Для начала задам вопрос, потом уже полезу сам искать. Вопрос такой. "Внезапно", именно внезапно сдох, фортрановский компилятор (Intel(R) Fortran Compiler 9.1, Studio 2005 ), т.е. теперь во всех программах при компиляции пишет:
"The Fortran compiler (ifort.exe) cannot be found. "
Преставил компилятор, не помогло.
Заранее благодарен за советы.

Добавлено:
Разобрался. Пути для компиляции были пусты. Заполнил, все заработало. А вот почему они стали пустыми и при перестановке компилятора не прописались заново- вот это загадка.
Автор: Ingve
Дата сообщения: 17.04.2008 01:28
Кто то пробывал настроить в VS2005 сворочивание блоков типа "do - endod" как это сделано в С/С++ для блоков "{ }"?
Автор: AZA_N
Дата сообщения: 17.04.2008 12:21
dar71, нет, не отказом. Проблема была не в связке VS2005+IVF, а в том, что я "заездила" OC экспериментами с варезом (может, надо было не сносить, а внимательно реестр почистить и дефрагментировать - но было некогда и срочная работа). Сейчас стоит IVF на 32bit, т.к. просто некогда заниматься 64bit. Если интересуют подробности - давайте в ПМ.
Автор: dar71
Дата сообщения: 17.04.2008 22:46
AZA_N, спасибо. Вопросов пока нет. Попробую установить версию на 64 бит, о результатах доложу
Автор: dar71
Дата сообщения: 19.04.2008 16:48
Что-то у меня VS2005 установленную IMSL 6.0 для фортрана в упор не видит.
Не подскажете, где и что указать надо?

P.S. Вроде заработало! С IMSL всё в порядке. Наблюдается глючок в графике QuickWin.
Автор: recvezitor
Дата сообщения: 21.04.2008 03:04
Здравствуйте, помогите пожайлуйста перейти с Compaq Visual Fortran 6 на Visual Studio
Есть программа которая была написана на CVF там использовалась какая то внутренняя библиотека, которая подключается строкой
USE numerical_libraries
При конвертации в проект Visual Studio все прошло успешно. Но при компиляции естественно вылезла ошибка
Error    9     Error: Error in opening the compiled module file. Check INCLUDE paths. [NUMERICAL_LIBRARIES]    e:\Projects\Programs\disp_plat\main.f90    20    
Чем бы можно заменить эту библиотеку?

Добавлено:
просто пипец какой то. Взял и закоментарил подключение этой строки и все нормально скомпилировалось. Я так полагаю что все что могла Numerical_libraries в CVF может и чтто встроенное в компилятор от INtel (я поставил себе версию 10 ).

Тогда другой вопрос есть другая программа, в которой исполтьзуется статическая библиотека DoubleBessel.lib. При попытке скомпилировать выдает ошибку
Error    1     fatal error LNK1104: cannot open file 'dfor.lib'    LINK    
С чем это связано?
Автор: Andrew10
Дата сообщения: 21.04.2008 09:04
recvezitor

1. USE numerical_libraries подключает IMSL. Нужно посмотреть в исходной программе, какие численные модули вызываются, может быть и никакие, тогда эта строка просто не нужна.

2. dfor.lib это основная фортрановская библиотека CVF. Видимо библиотека бесселевых функций была скомпилирована CVF, и модули из нее вызывают встроенные фортрановские функции из dfor. Можно попробовать просто подключить дополнительно к проекту dfor.lib, но вряд ли получится что-нибудь хорошее, наверняка начнут конфликтовать Интелловские библиотеки с dfor. Проще всего перекомпилировать DoubleBessel.lib.
Автор: recvezitor
Дата сообщения: 22.04.2008 02:26
ТОгда возможно нужно просто удалить все .lib'ы из проекта и заюзать отдельно IMSL. Только как ? Я скачал какую то IMSl установил, а как теперь сказать моему проекту чтобы использовал функции из этого IMSL.
Кстати я там посмотрел, там еще и из Lapack'а функции используются. Может кто даст ссылочку где его скачать?

Добавлено:

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

да действительно там просто ничего сверхестественного не вызывалось
Автор: Andrew10
Дата сообщения: 22.04.2008 09:15
recvezitor

Цитата:
Только как ? Я скачал какую то IMSl установил, а как теперь сказать моему проекту чтобы использовал функции из этого IMSL.


Видимо почитать документацию к IMSL


Цитата:
Кстати я там посмотрел, там еще и из Lapack'а функции используются. Может кто даст ссылочку где его скачать?


ftp://ftp.netlib.org/lapack - исходники.
Но лучше использовать оптимизированные версии, откомпилированные под конкретные процессоры. Для Intel-а - библиотеку MKL.
Ссылки на нее и лекарство можно найти в родственном форуме:
hxxp://forum.ru-board.com/topic.cgi?forum=35&bm=1&topic=4530&start=1040#lt

Автор: recvezitor
Дата сообщения: 23.04.2008 02:32
блин позарез нужна лиценция для IMSL Может ссылочку???

Добавлено:
а все нашел... только эта штука мне теперь каждый раз предлагает найти путь к лицензии при компиляции, не вкурсе как ей аз и навсегда показать где она лежит

Добавлено:
теперь у меня тестовые примеры компилятся. Но припопытке откомпилировать свою старую программку говорит
Error    1     error #11035: Fatal error cannot open imsl_dll.lib    ipo    
а также
Error    2     error error_during_IPO_compilation: problem during multi-file optimization compilation (code 1)    Link    

Какие нибудь идеи?

Да кстати чтобы он каждый раз н спрашивал где лицензия ее надо положить в C:\Program Files\VNI\license\

Добавлено:
и с этим эррором разобрались. Не ту папку указал для линкера.
Но эта гадость не хочет видеть функцию DMUCRV, хотя я точно знаю, что она в IMSL'е и пример из мануала нормально компилируется, и выдает результат. а этот гад говорит
Error    1     error LNK2019: unresolved external symbol _DMUCRV@36 referenced in function _MATRIXAB    Matrixab.obj    
и еще куча других функций(но остальные и должны выдавать ошибку потому что они из другого пакета из лапака)
Почему он не видит эту функцию? все сделал как в примере

Добавлено:
ура товарищи IMSL теперь подключен и функция DMUCRV прошла, благодаря строке
USE Numerical_libraries и
include 'link_fnl_shared.h'
Осталось немножко. Остальные функции я так полагаю из lapack'a
Error    1     error LNK2019: unresolved external symbol _ZGEQRF@32 referenced in function _AMINUS1B    Matrixab.obj    
Error    2     error LNK2019: unresolved external symbol _ZUNGQR@36 referenced in function _AMINUS1B    Matrixab.obj    
Error    3     error LNK2019: unresolved external symbol _ZTRTRI@32 referenced in function _AMINUS1B    Matrixab.obj    
Error    4     error LNK2019: unresolved external symbol _ZBESJ@36 referenced in function _DISPEQ    Kodis.obj    
Error    5     error LNK2019: unresolved external symbol _ZBESI@36 referenced in function _DISPEQ    Kodis.obj    
Error    6     error LNK2019: unresolved external symbol _ZBESK@36 referenced in function _DISPEQ    Kodis.obj    



Я поставил себе IMK 9.0 прописал такие же пути как и для IMSL,
но полюбой еще нужен какой то include. Никто не знает какой?
Автор: recvezitor
Дата сообщения: 23.04.2008 08:41
функции lapack'a подключаются включением в проект mkl_s_dll.lib
остались бессели. Только не понятно откуда они. Поиск по мануалам в IMSL и MKL не нашел такие функции. От куда они?
CALL ZBESK(DREAL(n0),IMAG(n0),FNU,KODE,N,rhr,rhi,NZ,IERR)
CALL ZBESH
CALL ZBESI
CALL ZBESJ
Автор: Andrew10
Дата сообщения: 23.04.2008 13:54
recvezitor

Цитата:
функции lapack'a подключаются включением в проект mkl_s_dll.lib
остались бессели. Только не понятно откуда они. Поиск по мануалам в IMSL и MKL не нашел такие функции. От куда они?
CALL ZBESK(DREAL(n0),IMAG(n0),FNU,KODE,N,rhr,rhi,NZ,IERR)
CALL ZBESH
CALL ZBESI
CALL ZBESJ


Судя по заголовкам, это бесселевы функции из библиотеки SLATEC.
Исходники можно найти здесь:
ftp://ftp.netlib.org/slatec/
Автор: gogahron
Дата сообщения: 21.08.2008 16:41
Вроде зарегистрировался, не могу войти
Автор: AZA_N
Дата сообщения: 26.08.2008 20:46
Помогите, пожалуйста, решить проблему с Intel Array Visualizer 3.3 (cкачала отсюда http://www.intel.com/cd/software/products/asmo-na/eng/compilers/226302.htm - av_dev_ia32 ).
В WinXPx64SP2, VS2005+IVF10.1.021(32bit)+AV3.3(32bit) в отладчике можно было нормально просмотреть массивы (AV3.3(64bit) не заработал). На новом HDD поменяла на WinXPx64SP2+updates+VS2008+IVF10.0.24(32bit)+AV3.3(32bit), и View array стал неактивным (т.е. все как обычно – в отладчике правой кнопкой мыши по массиву – и не работает). Удалила VS2008, вернула VS2005 – не работает. Поставила на VirtualPC WinXPSP3x86+VS2008; WinXPSP3x86+VS2005; на VMware WinXPSP2x64+VS2008; WinXPSP2x64+VS2005; WinXPx64SP2 без updates; av_rt_ia32 вместо av_dev_ia32 – нигде не работает. В путях все bin, lib и include прописала, так что примеры из самого AV работают, а вот в отладчике – нет. Смотрела на Интеловском форуме (http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30249577.aspx и в других местах – без толку, у кого работает, у кого - нет). Что бы еще попробовать, вроде, все опции перерыла. Очень нужен просмотр массивов в отладчике.
Автор: KChernov
Дата сообщения: 27.08.2008 12:55
AZA_N
Ничего не могу сказать про 10-ку - не ставил.
Но когда я ставил 9-ку на 2005-ю студию (в том числе и на х64) - все работало без проблем.
У меня был дистриб, когда появляется окно со списком продуктов, которые можно поставить, и я сначала ставил сам фортран, а потом сразу же и визуалайзер.
Автор: AZA_N
Дата сообщения: 29.08.2008 22:24
Сухой остаток экспериментов с установкой Array Visualizer 3.3 на WinXPx64SP2+VS2008+IVF10.1.024 (может, кому пригодиться):
Чтобы View array в отладчике стал активным, пришлось сначала поставить IVF9.1(только компилятор 32бит), затем AV(32bit), затем IVF10.1(полностью). Чтобы массивы нормально отображались, надо security в IE понизить до medium (т.к. activeX).
После всего этого оказалось, что IMSL5 работает нормально, а exe, созданные с IMSL6 требуют MSVCR71.dll (которая устанавливается только с IDB 32bit, т.е. только в Win x86, а в Win x64 в IDB EMT64 ее нет).
Для создания приложений 32бит - указываю пути к lib и include - #:\Program Files (x86)\VNI\imsl\fnl600\IA32\lib и #:\Program Files (x86)\VNI\imsl\fnl600\IA32\include\static; fortran, command line - /libs:static; linker, command line - imsl.lib imsl_dll.lib libguide40.lib. Т.е. не понятно, при чем здесь msvcr71.DLL?

Добавлено позднее:
C WinXPx64(x86)+VS2005(2008)+IVF11+AV3.3 с AV ничуть не лучше.
Автор: Kukumber2121
Дата сообщения: 16.09.2008 03:28
Здравствуйте. Подскажите где в Visual Studio поставить "галочку", чтоб на все проекты сохранялись одинаковые настройки компилятора? А так же интересует вопрос с скрытием строк под спойлер: при каждом запуске проекта приходится заново в нужных местах нажимать Hide Selection. Можно ли чтоб этот спойлер "прирос" к проекту? Заранее благодарен.
Автор: alvik00
Дата сообщения: 21.09.2008 11:06
Помогите разобраться!
VS2005 Intel Fortran 10.1.025
Eсть dll на Си (okawsp5.dll - свойства воды и пара) из неё надо вызвать функцию (напрмер wspSPT)
Делаю так:

PROGRAM TESTA

!dec$ attributes C, DLLimport, alias : '_wspSPT' :: wspSPT
interface
REAL*8 function wspSPT(P,T)
REAL*8 P,T
end function wspSPT
end interface

REAL*8 ww, pp, TT
pp=2500000.0
TT=410.4
ww=wspSPT(pp,TT)
PRINT *,ww

END PROGRAM TESTA

От линковщика:
1>c:\windows\system32\okawsp5.dll : fatal error LNK1107: invalid or corrupt file: cannot read at 0x2D0

библиотека okawsp5.dll на месте имеется и прогой Depends.Exe видно все функции, которые она содержит

Из VB6 доступ есть!
Помогите подключить к фортрановским прогам.

О библиотеке
http://twt.mpei.ac.ru/orlov/watersteampro
Цитата с сайта:
Библиотека является стандартной динамически линкуемой библиотекой Windows (Dynamic link library) и поэтому может использоваться во всех программах, «умеющих» обращаться к DLL.
Автор: akaGM
Дата сообщения: 22.09.2008 13:42
alvik00

Цитата:
От линковщика:
invalid or corrupt file

ну естественно...
на хрен ты линкуешь с длл
в лучшем случае вообще ничего подключать не надо, а только указать из какой длл берётся, .exe сам её запросит, в худшем случае надо подключать сишную .lib или динамически грузить с-длл в фортране...

не получится -- шли okawsp5.dll на мыло:
(мой_ник на яндексе)

---
и такие вопросы лучше задавать
здесь
Автор: Igorr
Дата сообщения: 22.09.2008 18:19
alvik00

Цитата:
Помогите подключить к фортрановским прогам.

Посмотри в Intel Visual Fortran Compiler Documentation (должна быть "по умолчанию" в ..\Program Files\Intel\Compiler\Fortran\10.x.xxx..\Docs\) раздел "Calling Subprograms from the Main Program". Цитата оттуда:
"If no import library, use Windows API routines LoadLibrary and GetProcAddress and call the procedure through an integer pointer"

Автор: vf0506
Дата сообщения: 25.09.2008 11:08
Эта проблема обсуждается в форме очень долго. Я вышел на нее через Гугла на страницу 17 этой темы. Ваш вопрос на первой страницы.
Мне нужно работать на х64 платформе, так как иначе я теряю бытодействие, что принципиально: считать неделю или день.
Имею опыт с Visual Studio 2003, в которую фортран попал прямо из установочного набора.
На Visual Studio 2005 фотран сразу не появился, но последующая его устновка ввела его в Visual Studio 2005. Но все это х32 варианты.
Теперь поставил Visual Studio 2008, поставил Fortran Intel 10.0.027 При постановке его был вопрос о подсоединении его к Visual Studio. Но в списке возможных форм проектов фортран не появился.
Что делать?
В.Ф.
Автор: AZA_N
Дата сообщения: 25.09.2008 21:49
vf0506, судя по w_fc_c_10.0.027_INSTALL.htm версия 10.0.027 в VS2008 еще не интегрируется. С какой точно версии поддерживается работа с VS2008, точно не помню, но если устанавливать w_fc_p_10.1.025_novsppe.exe (для того, чтобы иметь и 32, и 64), то все будет ОК, и в VS2008 должен появиться Intel(R) Fortran в списке проектов и платформы win32 и x64 (configuration manager).
Автор: akaGM
Дата сообщения: 25.09.2008 21:54
вернее даже
10.1.025

Страницы: 123456789101112131415161718192021

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


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