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

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

Автор: AZA_N
Дата сообщения: 25.09.2008 22:00
akaGM, это не vf0506 номер версии перепутал, а я его не так поняла. 10.0.027 в VS2008 не интегрируется. Так что просто надо скачать свеженький 10.1.025. Самое забавное, что у меня в VS2008 видно 2е версии - старый 9.1 (который в нее сам по себе не интегрировался) и новый 10.1.025.

Автор: kva
Дата сообщения: 06.11.2008 20:05
Уважаемые коллеги! Возникли вопросы: 1) Как соответствует новая библиотека IMSL 5-6 для тIntel Fortran с библиотекой IMSL для CVF 6.x. Последняя достаточно подробно описана у Бартеньева. Знаеш там где, что и почем. А как относительно новой? 2) У меня, кстати, транслируется и линкуется все нормально, а при запуске появляется окошечко с надписью, что библиотека imsl_dll.dll не найдена и рекомендуется все переустановить. Все подключения в проекте я сделал. Так в чем же дело. Саму библиотеку IMSL-6 переустанавливал уже дважды. У меня Visual Studio 2005 + IF 10.1.021 с лицензией TBE.
Автор: AZA_N
Дата сообщения: 06.11.2008 23:04
kva, (1) что касается текстов программ, то соответствуют (по крайней мере то, что я использовала) и переписывать ничего не пришлось. Т.к., в основном, книги Бартенева по IMSL - перевод хелпов, то просто можно посмотреть хелпы к imsl6 и imsl_cvf, и сравнить конкретно то, что Вы используете. (2) У Вас в path #:\Program Files (x86)\VNI\imsl\fnl600\IA32\lib стоит ((х68) у меня из-за WinXPx64), файл лицензии imsl Вы куда надо поместили? В опциях самой VS все lib и include прописали; /static указали? В переменных окружения FNL_DIR,INCLUDE,LIB,LINK_FNL и еще куча всего, связанного с imsl есть (/libs:static)? Вообще-то было меньше проблем с imsl5 из дистрибутива ivf9, который и с ivf10 тоже работает.
В теме варезника Intel VTune, C++/Fortran Compilers и все другие продукты давали ссылку на патченные файлы из imsl6, чтобы лицензию не просили при переносе exe на другую машину. Если у Вас не запускалось бы на другом компьютере, где не установлена imsl, то тогда было бы понятно, а что на том, на котором создавались exe - странно.
Автор: kva
Дата сообщения: 07.11.2008 16:02
AZA_N

Спасибо. Кое-что для меня в нове. Например, указание /libs:static и переменных окружения. Этого всего в их подсказке нет. Где это можно все почитать?

Патченные файлы я поставил. Есть у меня и IF 9 со встроенной IMSL 5. Может проще поставить ее?
Автор: AZA_N
Дата сообщения: 07.11.2008 17:41
kva, почитать об этом можно с хелпах к IVF. Если будете запускать exe не из-под VS, а так, и не заработает, то проверьте, есть ли у вас в path пути к тем библиотекам (набрать из коматдной строки path > path_lst и просмотреть файл path_lst, как должно быть, посмотрите в fnlsetup.bat и IA32.bat (для imsl), ifortvars.bat для ivf, но это важно только если вы собираетесь работать не из-под vs). Если Вы будете работать с программами на той машине, на которой они были созданы, то можно ставить IVF10 (сейчас уже 11ый появился) + IMSL6 – проблем не будет.

ALL
Я тут попробовала перенести свои exe 32bit (QuickWin и console - приложения), использующие imsl, на машину, где нет ни VS, ни IVF+IMSL , а просто голая ОС. Несмотря на /static и патченные dll, требует дать ей imsl_dll.dll, libguide40.dll, libifcoremd.dll, libifportmd.dll, libmmd.dll, msvcr71.dll (если их ей дать - то все ОК). Все это делалось на WinXPx64 (и основной, и гостевой),IVF10,IMSL6. Опции из-под VS2008 [more=подробнее]

Compiling with Intel(R) Fortran Compiler 10.1.025 [IA-32]...
ifort /nologo /Zi /Od /gen-interfaces /warn:interfaces /module:"Debug\\" /object:"Debug\\" /traceback /check:bounds /libs:static /threads /dbglibs /c /libs:static /Qvc9 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin" "F:\Project IF VS08\TestsIVF\TstIMSL-QD2VL.F90"

Linking...
Link /OUT:"Debug\TstIMSL-QD2VL_console.exe" /INCREMENTAL:NO /NOLOGO /MANIFEST /MANIFESTFILE:"F:\Project IF VS08\TestsIVF\TstIMSL-QD2VL_console\debug\tstimsl-qd2vl_console.exe.intermediate.manifest" /DEBUG /PDB:"F:\Project IF VS08\TestsIVF\TstIMSL-QD2VL_console\debug\tstimsl-qd2vl_console.pdb" /SUBSYSTEM:CONSOLE /IMPLIB:"F:\Project IF VS08\TestsIVF\TstIMSL-QD2VL_console\debug\tstimsl-qd2vl_console.lib" imsl_dll.lib "Debug\TstIMSL-QD2VL.obj"
Link: executing 'link'

Libraries:
$(IFortInstallDir)Lib
$(VCInstallDir)atlmfc\lib
$(VCInstallDir)lib
$(WindowsSdkDir)lib
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\LIB
C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib
C:\Program Files (x86)\Intel\Compiler\Fortran\10.1.025\IA32\Bin
C:\Program Files (x86)\Intel\Compiler\Fortran\10.1.025\IA32\Lib
C:\Program Files (x86)\Intel\Compiler\Fortran\10.1.025\em64t\bin
C:\Program Files (x86)\VNI\imsl\fnl600\IA32\lib

Includes:
$(IFortInstallDir)Include
$(VCInstallDir)atlmfc\include
$(VCInstallDir)include
$(WindowsSdkDir)include
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\ATLMFC\INCLUDE
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE
C:\Program Files\Microsoft SDKs\Windows\v6.0A\include
C:\Program Files (x86)\Intel\Compiler\Fortran\10.1.025\Include
C:\Program Files (x86)\VNI\imsl\fnl600\IA32\include\static


[/more]

Кто смог заставить работать exe с пропатченной (см. тут, для непропатченной то же самое, толко указать LM_LICENSE_FILE=путь_к_файлу\license.lic) imsl6 на "голой" OC без всякого ПО - подскажите, как вам удалось сделать так, чтобы exe не просил этих dll?
Автор: Kukumber2121
Дата сообщения: 24.12.2008 04:17
Здравствуйте. Поставил в 2008 Studio компилятор w_fc_p_10.1.021_intel64 и теперь невероятно долго проходит компиляция. Минут 5, наверное. Раньше такого никогда не было. Подскажите в чем дело? Заранее благодарен. Да, и еще, устанавливался компилятор тоже с горем пополам. Ну очень долго chklic.exe грузил процессор по полной. Что он там выискивал?
Автор: SYarD
Дата сообщения: 24.12.2008 15:47
Привет. Сегодня заметил странную особенность... Компилировал и запускал одну и ту же программу под линукс (ubuntu 8.04 32x, IVF 11 for linux) и под виндовз (XP sp3 32x, но IVF 10.1+visualStudio2008). Это все на     DualCore Intel Core 2 Duo E4700, 2600 MHz (13 x 200) . Так вот... В линуксе у меня оба ядра загружены, хоть он и 32x, и программа (*.out) работает меньше секунды (программа решает математическую задачу), а в виндовз загружено одно ядро и программа работает 5 сек...
Чем это объяснить? Компилятором, операционной системой?
И еще один вопрос можно ли каким-либо образом запускать 64x приложения из 32x виндовз (я интуитивно понимаю что глупость :), но у меня в 32-разрядной винде компилятор IA64 из под консоли *.exe-файл творит, а что с ним потом делать? ) Если еще проще, то можно ли в виндовз 32x c интеловским фортраном (10.1, или 11.0) загружать оба ядра без распаралеливания, или нельзя? Где-то про что-то похожее уже писали, но никак не найду... Спасибо..:)
Автор: akaGM
Дата сообщения: 24.12.2008 16:05
SYarD
глянь, с какими кодами под Винь компилируешь:
/Qax<codes>
/Qx<codes>

Автор: KChernov
Дата сообщения: 24.12.2008 19:03
Офигительный глюк - больше 1-2 файлов за раз не открывает - приходится закрывать старые, чтобы открыть новые
Кто-нибудь в курсе, как с этим бороться?
2008-я студия + 10-й фортран

Добавлено:
Выдаётся ошибка Библиотека не зарегистрирована Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)
Автор: SYarD
Дата сообщения: 24.12.2008 19:32
akaGM

Спасибо!!!
Действительно, нужно просто было поставить вместо debuga -release в solution configuration для visual studio и все летает, а под линукс там вообще дебага нет :). И все же под linux быстрей работает... Я увеличил размерность системы, то что в линуксе считает 1 сек в винде около 4...
Второй вопрос остается открытым... про два ядра.
Автор: akaGM
Дата сообщения: 24.12.2008 19:52
SYarD
гы
а я-то здесь причём?


Цитата:
И все же под linux быстрей работает

ядро под железо сам собирал?

KChernov
а у меня встречный вопрос

Цитата:
2008-я студия + 10-й фортран

вот что вы здесь все под этим понимаете?
что Фор использует какие-то ms-библиотеки, что?

+
чё-то у тебя с длл-ками анрегистрировалось, regsvr32 сбойнул при инсталле,
попробуй жёстко статическую линковку
/ML или /MT
не знаю где это в среде устанавливается...
Автор: KChernov
Дата сообщения: 25.12.2008 01:10
akaGM

Цитата:
вот что вы здесь все под этим понимаете?
что Фор использует какие-то ms-библиотеки, что?

Фор использует среду разработки от МС.
Автор: AZA_N
Дата сообщения: 25.12.2008 11:42
KChernov, а после каких событий этот глюк появился, или сразу после установки? Мощности то у компьютера хватает на IDE VS2008? "Не открывает" - это значит подвешивает, или что-то еще? И как было дело на VS2005?
После каких действий появляется ошибка библиотеки? А если переустановить, вдруг сразу полегчает.


Цитата:
что Фор использует какие-то ms-библиотеки, что?

Насколько я поняла (где-то на оф. сайте об этом было), то не только IDE, но и библиотеки.

Автор: KChernov
Дата сообщения: 25.12.2008 12:57
AZA_N

Цитата:
а после каких событий этот глюк появился, или сразу после установки?

Да я месяц назад апгрейдился (е7200 + 4Гб), ну и ось переставил со сборки ЗверьДВД.
Ну и студию 2008 поставил и интел поверх.
А для порядку хелло-ворд запустил - всё работало.

А сейчас вот понадобилось проектик поправить, и наткнулся на такую фигню
В принципе можно и несколько окон открыть, если сначала их по-одному пооткрывать.
Мб стоит сервиспак на студию поставить (вроде уже должен был выйти), а мб и фортран глючный?..
Автор: AZA_N
Дата сообщения: 25.12.2008 13:34
KChernov, мне кажется (мой и не только мой опыт), проблема в том, что ОС - сборка. Ставьте оригинальный англ. VL образ WindowsXP (в варезнике все есть, что надо), и лучше х64, а не х86. VS2008EN, а не новоиспеченную RU, SP уже давно вышел (лучше бы поставить, но у меня и без него не глючит). Для нормальной работы Fortran, C++, CAD/CAM/CAE, Maple, etc. никаких сборок, русских ОС, Висты и путей с русскими символами - избежите массы проблем.
Автор: akaGM
Дата сообщения: 25.12.2008 13:48

Цитата:
Фор использует среду разработки от МС.

бедный...
Автор: KChernov
Дата сообщения: 25.12.2008 14:00
AZA_N

Цитата:
проблема в том, что ОС - сборка

Мб.


Цитата:
и лучше х64

Всё собираюсь, но вот всё переставлять руки пока не дошли.
Опять же хочется сделать свою сборку и ставить с неё.
Всё таки на несколько компов всё с нуля ставить не очень.


Цитата:
путей с русскими символами

С этим всё в порядке.

akaGM

Цитата:
бедный...

А какую лучше?
Автор: akaGM
Дата сообщения: 25.12.2008 14:25
KChernov
да чёрт его знает...
слава богу, мне вообще текст-редактора + write'ов хватает...

и кстати да, SP1.1 на полноценную (не экспресс) VS2008 поставить надо...
Автор: AZA_N
Дата сообщения: 25.12.2008 14:43
akaGM, а как же прелести IDE? Особенно отладчика. Первать в любом месте, посмотреть графики массивов (особенно здорово для двумерных карт полей), тут же поменять значения кое-каких переменных, перепрыгнуть через кусок кода и т.д. и т.п. Так что просто текст. редактор, ком. строка и макросы со скриптами хороши для уже отлаженных консольных приложений. А если нужно ресурсы в QuickWin и др. подцепить, то как тут без IDE.

KChernov, если дойдут руки до сборки х64, поделитесь в соответствующем топике? А то мне тоже совсем не до разборок с 64 и специфическими заморочками с nLite, даже обновления не интегрировала, не говоря уж о о мелком софте, а надо бы. Сорри за офтоп.

Автор: akaGM
Дата сообщения: 25.12.2008 15:06
AZA_N

Цитата:
а как же прелести IDE?

а никак...
я их не отрицаю, но, _по счастью_, они мне [пока] не нужны


Цитата:
Так что просто текст. редактор, ком. строка и макросы со скриптами хороши для уже отлаженных консольных приложений

...или для случая, когда я чётко знаю чтО хочу от фортрана...
для поисковых работ и меня есть матлаб и дельфи...
Автор: KChernov
Дата сообщения: 25.12.2008 15:12
Ясно, спасибо, попробую всё обновить
Автор: SYarD
Дата сообщения: 25.12.2008 16:38
kva

не все процедуры IMSL из cvf будут работать в ivf, некоторые прийдется переписывать. В основном приходится только имя заменить. Как писала AZA_N читайте хелп к библиотекам той версии которая вам нужна.

akaGM
Как при чем? С вашей помощью теперь могу быстрее считать... Я про этот релиз давно уже знал просто больших вычислений не приходилось делать... Дебага хватало.

Хотя до конца так и не разобрался в чем загводка... Увеличил размерность задачи получается, что в линуксе все равно в 4 раза быстрее считает (я ничего с ядром линукса не делал, стало как стало), хотя и загружается в линуксе тоже только одно ядро процессора... так по крайней мере показывает системный монитор.

По поводу загрузки второго ядра без распаралеливания в 32-разрядных системах никто ничего не скажет...?
Автор: akaGM
Дата сообщения: 25.12.2008 18:02
SYarD
ладно, уговорил...
пожалуйста...

посмотри ещё в сторону потоков, хотя я в этом сомневаюсь -- не специалист...
Автор: SYarD
Дата сообщения: 29.12.2008 13:31
Поковырялся еще немного в project properties в visual studio (fortran->optimization) нашел там paralerization. Поставил Yes(Qparalel)... и всю оптимизацию. Теперь конечно загружается весь процессор, но толку от этого мало (но есть! )... Где-то 1 сек на 10 сек счета...
интересно, что счетчик времени cpu_time() выдает время в два раза больше... Может просто два ядра одно и тоже в паралель считают ?

akaGM
только сейчас дошло про Qx и все остальное в первом посте.
Может и про потоки дойдет...

Автор: vf0506
Дата сообщения: 30.12.2008 07:46
Да, счетчик cpu_time считает суммарные затраты. В ЛИНУКСЕ есть "time задача", что дает календарное, т.е. затраты нашего времени.
Автор: vaulin
Дата сообщения: 10.03.2009 11:39
vf0506


Цитата:
Да, счетчик cpu_time считает суммарные затраты. В ЛИНУКСЕ есть "time задача", что дает календарное, т.е. затраты нашего времени.


Вы не в курсе, какая функция служит для измерения процессорного времени в g95? другими словами, мне нужна функция аналогичная cpu_time()
Автор: NihtsVoron
Дата сообщения: 22.03.2009 22:27
Здравствуйте. возникла проблема при подключении imsl библиотеки к visual studio 2008. Компилятор фортрана встал нормально, в студии 2008 можно создавать проекты, но нельзя подключить библиотеки пакета imsl. пишет что

Ошибка    1     Error: Cannot open include file 'imsl.lib'    C:\Console1\Console1\Source1.F90    3    

как можно исправить ошибку? до этого работал в CVF, с Microsoft Studio 2008 не работал. если можно, жду подробного ответа, так как неопытен. работаю под вистой. компилятор intel fortran ia-32, imsl 6.
Автор: Igorr
Дата сообщения: 22.03.2009 23:53
NihtsVoron
Что-то типа: Properties->...Property Pages->Linker->Input->Additional Dependencies: imsl_dll.lib
Если этого мало, то ещё: Tools->Options...->Projects and Solutioms->VC++ Directories->Show directories for:...
Автор: NihtsVoron
Дата сообщения: 23.03.2009 11:54
Вроде бы все исправил. но все равно ошибка. как сейчас осуществляется вызов мат библиотеки imsl? Какие еще могут быть причины ошибки? Прошу помочь, очень нужно. Если не сложно то пошагово, буду признателен. версия компилятора 10.1.30
Автор: Igorr
Дата сообщения: 23.03.2009 16:17
IMSL не вызывается - она линкуется, а вызываются процедуры из нее через USE.
У вас есть явный вызов IMSL (3-я строчка)?
Ошибка говорит, что либо в местах поиска 'imsl.lib' (соответствующих каталогах) ее нет, либо структура файла 'imsl.lib' не соответствует ожидаемой.

Страницы: 123456789101112131415161718192021

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


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