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

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

Автор: akaGM
Дата сообщения: 12.04.2010 18:11
блииин...
инстальнули IF последней версии в VM ThinApp и теперь горя не знаем:
у каждого флешка на 2-4 ГБ с полной студией & IF (два экзюка ~1.2GB) на _любой_ машине
как в старые добрые времена: всё своё ношу с собой... на дискетке :)

всем настоятельно рекомендую:
http://www.vmware.com/products/thinapp/

правда, её хрен укупишь за 8 штук :(
Автор: AZA_N
Дата сообщения: 12.04.2010 21:40
akaGM, кто купит, а кто и так
А если на машине уже есть VS+IVF, но ничего не портит?
Автор: akaGM
Дата сообщения: 13.04.2010 12:06
AZA_N
если честно, то мы тоже так...

Цитата:
А если на машине уже есть VS+IVF, но ничего не портит?

ты знаешь, не я с ней/ним игрался, мне принесли только готовый результат, но я точно знаю, что на машине, на кот. эти игрища проходили, стояла 2008 с IF-ом

а как юзер, я заявляю следующее:
1. оно работает на РС с инсталлированными VS&IF штатным образом, причем, VS встречалась в разных комбинациях: 2008 Express+2003 Full (это у меня) и 2008 полная

2. но что самое примечательное лично для меня:
оно работает буквально на "голой" машине, на кот. даже .НЕТ нет, т.е. какая-то совсем несвежая версия 2.х
а мне, собственно, большего и не надо...
у меня теперь эта флешка самая любимая :)
Автор: Vskazka
Дата сообщения: 13.04.2010 13:28
AZA_N
akaGM
И всем, кому интересно.
Развлекался сегодня с появившейся VS2010: установил и попробовал поставить IVF (последний 11.1.060). Не встает. Не хочет интегрироваться туда.
Автор: akaGM
Дата сообщения: 13.04.2010 13:50

Цитата:
Не встает

ну и фиг с ним :)
т.е. с ней...
у меня в ВМваре как раз 11.1.060 воткнут...

кстати, по всем объективным данным, лучше всего использовать VS адаптированную самими Интелами под IF...
Автор: AZA_N
Дата сообщения: 13.04.2010 13:51
Vskazka, ее же только что испекли. Вот объявит Интел о совместимости новой версии IVF с VS2010, тогда и поглядим.

Добавлено:
akaGM, и где ее "взять" (ну, из того же места, что и VMware ThinApp)?
Автор: akaGM
Дата сообщения: 13.04.2010 15:06
AZA_N
соррь, у нас прикуплена...
Автор: akaGM
Дата сообщения: 13.04.2010 17:33
кстати, не знаю как с полноценной версией, а для обычной версии (мы купили за 400 амер.руб.) нам стала доступна вся текущая ветка
т.е. купили 11.0.хх и периодически скачивали до последних "хх",
а вот с 11.1.хх это уже не прошло...
Автор: az2007
Дата сообщения: 21.04.2010 10:07
Можно ли с Intel fortran под Windows добиться того, чтобы в console моде принудительно выводить информацию на экран НЕЗАВИСИМО ОТ перенаправления stdout и stderr?
В GNU fortran (linux и cygwin в windows) можно использовать /dev/tty , и вывод туда НЕ ПЕРЕНАПРАВЛЯЕТСЯ.
B intel можно открыть файл CON , но вывод в него БУДЕТ ПЕРЕНАПРАВЛЯТЬСЯ.
Автор: KChernov
Дата сообщения: 21.04.2010 21:11
az2007
Может проще писать в лог вместо stdout?
Автор: nikonimag
Дата сообщения: 04.05.2010 20:42
Подскажите пожалуйста, как задать всем переменным вещественный тип, по умолчанию, а то у меня почему то не объявленной переменной задается целый тип, даже если при этом к ней присваивается объявленная вещественная переменная

REAL:: X = 10.
Y = X ! НО Y ВСЕ РАВНО ОПРЕДЕЛЯЕТСЯ КАК ПЕРЕМЕННАЯ ЦЕЛОГО ТИПА,
! МОЖНО ЛИ СДЕЛАТЬ ТАК ЧТО БЫ В ТАКИХ ЛУЧАХ Y БЫЛА ВЕЩЕСТВЕННОЙ , БЕЗ ПРЕДВАРИТЕЛЬНОГО ОБЪЯВЛЕНИЯ ТИПА?
Автор: KChernov
Дата сообщения: 04.05.2010 22:16
nikonimag
По-хорошему надо все переменные объявлять.
А вообще implicit
Автор: nikonimag
Дата сообщения: 05.05.2010 00:30
KChernov
Спасибо!!! Вот это возможности , Mathcad и Mathlab отдыхают!! Я и так в основном все все расчеты и курсовые делал в Visua Fortran в режиме отладки, единственное что напрягало это, то что нужно объявлять
в явном виде, а с командой
implicit REAL (A-Z) об это можно не вспоминать. Спасибо еще раз огромное! я просто в восторге =)))
Автор: AlexeyTr
Дата сообщения: 15.07.2010 21:00
Есть программка на С++, вычислительная часть которой написана на ФОРТРАНе.
Все было собрано на Visual Studio 2005 и Intel Fortran. Фортрановская часть подключается как статическая lib'а.
С IF 9.x и 10.x все работало нормально - выдавался корректный результат.
Поставил 11-ю версию. На выходе, при некоторой комбинации параметров, стали появляться артефакты. Т.е. результат стал отличаться.
Что может быть причиной? Никаких специальных ключей не использую.
Оптимизацию пробовал отключать - не помогает...
Автор: Igorr
Дата сообщения: 15.07.2010 21:22
AlexeyTr
А перекомпилирован ли весь прект целиком (т.е. и сишная, и фортрановская части)?
Автор: AlexeyTr
Дата сообщения: 16.07.2010 06:15
Естественно. Полная перекомпиляция. Сишный компилятор неизменен - MS.
Автор: akaGM
Дата сообщения: 16.07.2010 14:55
AlexeyTr

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

Причина в
Цитата:
некоторой комбинации параметров
, которую тебе придётся зафиксировать, иначе -- никак...
может вы там до сих пор на дыре сидели...
Автор: Scouse
Дата сообщения: 30.07.2010 14:14
Здравствуйте,
возникла проблема с использованием библиотеки IMSL.
Использую 2008 VS, компилятор интеловский 11 фортран
все переменные среды, описанные в readme прописаны, либы и инклуды в проекте тоже прописаны,
примеры из мануала компилируются, но вылетают при линковке
с ошибкой:
fatal error LNK1107: invalid or corrupt file: cannot read at 0x308    C:\Program Files (x86)\VNI\imsl\fnl600\IA32\lib\imsl_dll.dll    1    

При этом устанавливала библиотеку с двух источников, но ошибка появляется в обоих случаях, так что вряд ли проблема в испорченном dll
что еще можно попробовать сделать?
Автор: karakurt2
Дата сообщения: 30.07.2010 17:49
Scouse
попробуйте сменить расширение с .dll на .lib
Автор: Scouse
Дата сообщения: 30.07.2010 21:17
При попытке прописать в свойствах проекта любую *.lib из библиотеки, проект линкуется, но вылезает ошибка exe-шки, что не может найти imsl_dll.dll
Если прописать несколько файлов и в том числе dll, опять ошибка при ланковке - не может открыть файл .dll
karakurt2
вылетает с той же ошибкой
Автор: karakurt2
Дата сообщения: 31.07.2010 06:24
Scouse, значит у вас переменные окружения не настроены. добавьте в переменную %PATH% путь к динамической библиотеке. где-то там в каталоге VNI должен быть командный файл, который всё сделает как следует, либо самостоятельно:

PATH "%PATH%;C:\Program Files (x86)\VNI\imsl\fnl600\IA32\lib"
Автор: Scouse
Дата сообщения: 03.08.2010 12:16
karakurt2
Запуталась в трех соснах, точнее в двух компах)
действительно работает с *.lib и отказывается работать с dll
что сделать, чтобы заработали dll?
Автор: karakurt2
Дата сообщения: 05.08.2010 11:09
проще всего поместить .dll в папку с исполняемым файлом
попробуйте

а ещё лучше выполнить статическую сборку, где не требуется привязка к динамическим библиотекам.
Автор: Scouse
Дата сообщения: 05.08.2010 15:46
karakurt2
спасибо, разобралась со статическими либами, теперь вроде проблем нет, во всяком случае с компиляцией и линковкой)
а дальше попробую сама)
Автор: SuperAlexis
Дата сообщения: 25.10.2010 20:28
Коллеги! Нужен ваш профессиональный совет. Стоит задача обновить софт, представляющий собой фортрановский расчетный код (собран на Visual Fortran 6.6.b + IMSL) в виде DLL-библиотек и Windows-оболочку (Visual Studio 2005).
Необходимо передалать по Windows 7 в 64-х разрядной версии. Доставил на VC-2010 PGI Visual Fortran. Однако DLL подключить к С++ не удалось. Да и IMSL для PGI Visual Fortran не нашел...
Можно ли использовать для этой цели Intel Fortran? Есть ли 64-х разрядная версия с IMSL ?

Автор: akaGM
Дата сообщения: 25.10.2010 20:56
SuperAlexis

Цитата:
Можно ли использовать для этой цели Intel Fortran?

даже нужно...

Цитата:
Есть ли 64-х разрядная версия с IMSL ?

глянь расклад:
http://software.intel.com/en-us/articles/fortran-compilers/
Автор: SuperAlexis
Дата сообщения: 26.10.2010 08:07
Спасибо. Однако там не написано про совместимость со Студио-2010 и разрядность IMSL. Да и триал версии только для Unix.
Автор: akaGM
Дата сообщения: 26.10.2010 13:12
SuperAlexis
не за что...

Цитата:
не написано про совместимость со Студио-2010 и разрядность IMSL

стоп...
Первое. IMSL -- сторонняя библиотека, почему интелы должны "озабачиваться" её разрядностью, совместимостью етц и вообще существованием?

Второе. Студия -- это среда, в кот. можно встрамить тот или иной компилятор

Цитата:
Доставил на VC-2010 PGI Visual Fortran.

это, я так понимаю, Портланд фортран?
Так вот это _свой_, отдельный компилятор, кот. ты интегрировал в VS
и с каких-таких веников он должен быть совместим по коду и внутренней кухне с IFV, или,
как в твоём случае, с Компаковским Visual Fortran 6.6.b?
отсюда и проблема:
Цитата:
Однако DLL подключить к С++ не удалось.

проблема может решиться очень и очень просто:
покури раздел PGI, относящийся к что-то типа "mixed-language programming", посмотри там соглашения о вызовах и приведи в соответствие всю интерфейсную часть своих FOR и С++ программ

Цитата:
Да и триал версии только для Unix

:)

http://forum.ru-board.com/topic.cgi?forum=35&topic=5255#1
http://forum.ru-board.com/topic.cgi?forum=35&topic=16451#1
Автор: SuperAlexis
Дата сообщения: 26.10.2010 20:05
akaGM
Спасибо. Просто в PGI Fortran'е нет никаких примеров, да и документация куцая (версия 10.9). Кроме того, пришлось удалять все комментарии, сделанные малыми русскими буквами - генерил ошибки...
Интерфесную часть своей задачи почти без проблем реализовал в 64-х разрядном коде (благо писал её сам лет 5 назад на MFC). А вот сформировать DLL в PGI не получилось - никак не слинковаться в IMSL (её нет в моей версии PGI Фортрана, да и достать не получается...)
Отсюда интерес к Интел-Фортрану. К нему библиотеку достать легче, да и документация и примеры лучше. Однако, смысл переделки - именно 64-х разрядность, существенно повышающая скорость расчетов.
Конечно, не обязательно все трансляторы ставить в одну среду - DLL можно делать в одной, а использовать в другой. Однако, к сожалению, мой опыт работы с Фортраном оканчивается версией 6.6b, и IMSL библиотеками тоже (кстати, хорошо документированной с вполне прилиными приерами).
Автор: akaGM
Дата сообщения: 26.10.2010 21:01
SuperAlexis

Цитата:
Однако, смысл переделки - именно 64-х разрядность, существенно повышающая скорость расчетов.

вообще говоря, никто кроме интел, не сделает 64-код лучше для своих же 64-битных камней, да и с распараллеливанием у них всё в порядке...

Страницы: 123456789101112131415161718192021

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


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