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

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

Автор: OlikF
Дата сообщения: 28.02.2011 20:44
Этот вариант я тоже попробовала: Project->Properties->Fortran->General/Linker (там прописывала дополнительные библиотеки и Additional Dependencies). Но рез-т тот же самый. Поэтому я и полагаю, что это не из-за того, что я неправильно подключаю библиотеку к самому проекту.
Автор: SuperAlexis
Дата сообщения: 28.02.2011 21:10
Ну, а рекомендации сайта?
http://www.vni.com/tech/imsl/gettingStarted/using/use_for_win.php
http://www.vni.com/tech/imsl/gettingStarted/running/run_for_win.php
по подключению библиотеки выполнены?

Насколько я помню, use numerical_libraries уже не пишут, как было возможно в CVF.

НАДО:
INCLUDE 'link_fnl_static.h' - для статической линковки
и
INCLUDE 'link_fnl_chare.h' - для динамической!!!

далее указать используемые функции, например,
USE LSARG_INT
USE WRRRN_INT
Автор: OlikF
Дата сообщения: 28.02.2011 21:17
У меня эти ссылки просто отсылают на главную страницу сайта производителя, поэтому я не поняла, о чем именно речь.

Я сделала, как Вы подсказали:

INCLUDE 'link_fnl_chare.h'
use GAMMA_INT
IMPLICIT NONE
! Declare variables
INTEGER NOUT
REAL V, X
! Compute
X = 0.5
V = GAMMA(X)
! Print the results
WRITE (*,*) V
end

Но получаю ошибку линковки:

1>LINK : fatal error LNK1104: cannot open file 'mkl_intel_c.lib'
Автор: SuperAlexis
Дата сообщения: 28.02.2011 21:50
OlikF
Ну, на сайте полно полезной информации - надо поковырять его.
Кроме того, видимо, п Вашем проекте не прописан путь к библиотеке.
Автор: OlikF
Дата сообщения: 28.02.2011 22:45
Дело в том, что у меня нет именно этого файла (проверила поиском), поэтому прописать для нее путь просто не могу.
Автор: SuperAlexis
Дата сообщения: 28.02.2011 22:57
OlikF
это файл фортрана - он должен лежать в
C:\...tel\ComposerXE-2011\mkl\lib\ia32> (я говорю о фортране 2011 интегрированном в ВСтудио-2010)
Автор: Krav
Дата сообщения: 30.03.2011 17:44
Помогите запустить программу, которая использует IMSL на другом компьютере. Проблема заключается в том, что программа требует файл imslcmath_dll.dll.
Сделал статическую линковку по мануалу http://forums.vni.com/showthread.php?p=8210 - не помогло. Пути указывал в формате $(IntDir)\include\ и $(IntDir)\lib\ заранее положив все нужные файлы в папку с компилируемой программой.

Также менял переменные среды, заменяя пути, но все равно не помогло.

Использую VS 2008 + IMSL 7.0 for C++


Автор: Andrew10
Дата сообщения: 30.03.2011 21:32
Krav
Посмотри здесь, может быть, поможет
Автор: Krav
Дата сообщения: 01.04.2011 15:07
Andrew10
К сожалению версия патченных библиотек только для фортрана, а мне необходимо для с++

вопрос остается в силе
Автор: terminat0r
Дата сообщения: 01.04.2011 15:29
Krav

Цитата:
Проблема заключается в том, что программа требует файл imslcmath_dll.dll.

И что, нельзя вместе с программой дать эту библиотеку?
Автор: Andrew10
Дата сообщения: 01.04.2011 15:40
KravК

Цитата:
сожалению версия патченных библиотек только для фортрана, а мне необходимо для с++

вопрос остается в силе


Все равно, вопрос "варезный", поэтому спрашивать нужно там, а если точнее, то Здесь.
Автор: Krav
Дата сообщения: 05.04.2011 16:53
terminat0r, все равно не видит.

Andrew10, спасибо

Я уже и переменные среды описал, а именно LM_LICENSE_FILE, LIB, PATH, INCLUDE.
Все равно не помогает.
Также пробовал вручную зарегистрировать imslcmath_dll.dll через regsvr32 - выдает ошибку при запуске.
Пробовал отвязать по той же методике, что и для фортрана, но у меня библиотека для с++ и библиотек описанных в мануале.

Не могли вы описать как сделать чтобы программа работала на другой машине?
Автор: Krav
Дата сообщения: 09.04.2011 14:15
Поборол программу. Причиной оказалась неправильно установленная Microsoft Visual C++ Redistributable Package, одна из библиотек была битая, поэтому вылетала ошибка.

также при переносе программы не забудьте прописать переменные LM_LICENSE_FILE и PATH, в моем случае остальные переменные не используются.

Всем спасибо!
Автор: nightmore
Дата сообщения: 22.09.2011 21:05
Здравствуйте, товарищи!

При интеграции Intel Fortran 11 в Visual Studio 2010
не подключается фортрановская контекстная справка.
В VS2008 всё работало нормально. Ось - Windows 7.

Кто-нибудь сталкивался с подобной проблемой?
Автор: SuperAlexis
Дата сообщения: 22.09.2011 22:33
Cтавьте версию 12 - она интегрируется без проблем.
Автор: toshiro111
Дата сообщения: 25.09.2011 20:33
Имеются Visual Studio 2005 (версия 8.*) и Intel Visual Fortran Compiler 10.0.027
Компилятор, вроде как, встроился в VS: cоздаю через неё фортрановский проект (Console Application), запускаю (Build Solution) - и тут выскакивает:

------ Build started: Project: Console3, Configuration: Debug Win32 ------
The Fortran compiler (ifort.exe) cannot be found.

Build log written to "file://C:\...пам-парам...\Visual Studio 2005\Projects\Console3\Console3\Debug\BuildLog.htm"
Console3 - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Порылся и нашёл этот ifort.exe в директории, куда установлен интеловский компилятор:
C:\Program Files\Intel\Compiler\Fortran\10.0.027\em64t\bin\ifort.exe

Что нужно делать, чтоб VS всё-таки откомпилила прогу???

Кроме того, проверил в "Tools->Options->Intel(R) Fortran->General" поле "Compiler Selection". При варианте Target Platform - "Win32", Selected Compiler не определён! (No Compiler Installed).Хоть у меня и 64 система но Target Platform - "x64" - нет
Автор: akaGM
Дата сообщения: 25.09.2011 21:17
toshiro111
лучше всего установить системные переменные
IFORT_COMPILER10=
INTEL_LICENSE_FILE=
+
повесить на системный path директорию где сидит
/bin/ifort.exe

ну и ессно проверить в студии все установки директорий в projects & solutions
Автор: LULUFLU
Дата сообщения: 04.10.2011 11:26
Уважаемый SuperAlexis!

Цитата:
Cтавьте версию 12 - она интегрируется без проблем.

А что такое "версию 12"?
У меня в VS2010 стоит "Intel(R) Visual Fortran Composer XE 2011 Update 1 for Windows*",
версия продукта 2011.1.127, версия файла 12.0.1.127
Подскажите, пжлста, как установить контекстную справку для Intel Fortran.
Делаю через Диспетчер библиотеки справки VS2010, а именно: "Справка" > "Управление параметрами справки".
Указываю путь для установки справки
D:\Program Files\Intel\ComposerXE-2011\Documentation\msvhelp\1033\compiler_f\helpcontentsetup.msha
Но получается оченно криво: например, жму F1 на отмеченном "INTEGER",
а попадаю в справку "Тип данных Integer (Visual Basic)". На "SUBROUTINE" и кое-где еще попадаю, однако, в правильный Fortran-топик .
Получается, что Справка VS2010 не фильтрует общий контент для Fortran-проекта. ИЛИ: что я делаю не так?
Автор: Igorr
Дата сообщения: 04.10.2011 16:56
LULUFLU
Цитата:
например, жму F1 на отмеченном "INTEGER",
а попадаю в справку "Тип данных Integer (Visual Basic)".
А в нижнее окно не смотрите - для каких продуктов могут быть справки по искомому слову?
Автор: LULUFLU
Дата сообщения: 05.10.2011 13:01
Igorr
Простите, про какое нижнее окно Вы говорите? Поясните,пжлста. Посмотрев в Справке IVF на "Getting Help and Support",
видим, что фильтр по IVF и F1 действует для VS2005, VS2008. А про VS2010 ничего нет. Выходит, что все-таки Intel® Fortran Compiler XE 12.0 справку нормально не интегрирует.

Добавлено:
Уважаемые граждане!
У меня вопрос: есть ли для IVF хоть в какой-нибудь VS (2003,2005,2008,2010) навигация (Иерархия вызовов, Go To Definition Of ..., Go To Reference To ...),
как было в Compaq Visual Fortran 6.6 и ранее, в Fortran PowerStation 4.0. Или во всех VS ето только для C# и C++? Когда много (>90) файлов-исходников и еще больше subroutine (>140), то приходиться вертаться на CVF. И как тут утешиться?
Автор: Vskazka
Дата сообщения: 05.10.2011 14:51
LULUFLU
Попробуйте при разборе программ воспользоваться
http://forum.ru-board.com/topic.cgi?forum=35&bm=1&topic=20882&start=40#lt
хоть и написано, что это про си понимает также и фортран
Автор: Igorr
Дата сообщения: 05.10.2011 17:11
LULUFLU
Цитата:
Простите, про какое нижнее окно Вы говорите?
Нижнее окно справки. Да, в 2010 его нет; есть в 2008 - оно показывает принадлежность слова по топикам. Как я понимаю, это не косяк фортрана, а "новое качество" MSDN.
Автор: SuperAlexis
Дата сообщения: 05.10.2011 18:04
это не косяк фортрана, а "новое качество" MSDN - все верно, так и есть.
Автор: LULUFLU
Дата сообщения: 06.10.2011 04:47
Vskazka
Спасибо за Understand 2.6(581). Давным-давно пользовалась какой-то древней Understand - но было очень коряво и с ошибками -.
А ета версия - красота! И фортан понимает, умничка. Правим сорсы в Understand, а в открытой VS компилим и билдим - будем делать так, надеюсЬ, новая Understand без ошибок.

Но все-таки лучше иметь навигацию под рукой - в VS. Когда ето будет для IVF??? И будет ли вообще??? Или не будет??? Кто знает - скажите. Будет спасибо.

Igorr & SuperAlexis !!
А насчет справки в VS2010 - по-моему так явно хуже, чем в VS2008. Зачем фильтр убрали? И зачем надо было занимать браузер для неё? Есть у кого доброе слово за такие новшества в справке?
Автор: SuperAlexis
Дата сообщения: 06.10.2011 18:12
LULUFLU

Дело в том, Микрософт реализует свою стратегию, а Интел "встраивается" в неё. Когда работаю на С/С++/С#, то все прекрасно. А вот с Фортраном есть проблемы. Но это не самое страшное... Пока не получается с переводом фортрановских библиотек на 64 разряда - проблема с АПИшными функциями (прогрессбаром)
Автор: Lapochka ili Chai
Дата сообщения: 25.11.2011 13:39
Устанавливаю компилятор w_cprof p 11.1.054 novsshell

1. Надо ли давать ему доступ в сеть? (Не хотелось бы без нужды давать разрешения кому попало.)
2. Почему-то не хотят устанавливаться такие компоненты:
-- Integration(s) in Microsoft Visual Studio
-- Intel(R) Parallel Debugger Extension
-- Integrated Documentation
Это можно вылечить?


3. Microsoft Development Product, как я понимаю, это SDK (это правильное предположение?), его лучше чтобы в процессе устанновки установила программа-установщик? Или лучше самому поискать его в интернете?
Ой, пардон, а вроде получается, что его вообще надо было заранее ставить?

Вообще-то там пишут так:
The Intel professional edition compiler requires that a Microsoft* development product be installed. Refer to the Release Notes for a list of the required Microsoft* development tools.

А в дистрибутиве почему-то нет ни Microsoft* development tools, ни Release Notes ...
Автор: plazmon
Дата сообщения: 10.01.2012 15:52
Lapochka ili Chai

Цитата:
The Intel professional edition compiler requires that a Microsoft* development product be installed. Refer to the Release Notes for a list of the required Microsoft* development tools.

Microsoft Development Tools (Visual Studio) покупается и уиснавливается отдельно.
Насколько я помню Express версия фортрану не подходит.
Именно потому что не установлена Студия не устанавливаются и компоненты из Вашего списка.
Автор: Andrew10
Дата сообщения: 26.01.2012 08:42
Привет всем!

Установил Intel Parallel Studio для Windows, версии компиляторов 12.1.1.258 на MS Visual Studio 2008 и столкнулся со следующим явлением. В программе есть кусок кода, который вводит значения для 4-х целых переменных np, nh, nsec и signal_flag:

[more=кусок кода]...................
...................
!
! Ввод NSEC
!
case('NSEC', 'nsec')
nsec = 2
write(*,*) "NSEC = ", nsec !<---------- Это тестовая печать на консоль
nsec_flg = .TRUE.
cycle

!
! Ввод NP
!
case('NP', 'np')
np = 137
write(*,*) "NP = ", np !<---------- Это тестовая печать на консоль
np_flg = .TRUE.
cycle


!
! Ввод SIGNALFLAG
!

case('SIGNALFLAG', 'signalflag')
signal_flag = 1
write(*,*) "SIGNAL_FLAG = ", signal_flag !<---------- Это тестовая печать на консоль
signal_flg = .TRUE.
cycle

!
! Ввод NH
!

case('NH', 'nh')
nh = 8
write(*,*) "NH = ", nh !<---------- Это тестовая печать на консоль
nh_flg = .TRUE.
cycle

..........................
..........................
[/more]


Для каждой из переменных совершенно одинаковый код, все они описаны тоже одинаково, как integer в отдельном модуле, который подключен через директиву USE.
В результате для двух переменных отладчик после прохода строки с присваиванием показывает правильные новые значения, а для двух других - нулевые, какие были до присваивания.
Тестовая печать на консоль выдает _правильные_ величины для всех 4-х переменных. Однако после этого куска стоит анализ введенных данных, и он показывает, что для двух "аномальных" переменных сохраняются нулевые значения, в результате чего программа завершает работу, т.к. такие значения недопустимы.

(Вместо прямого присваивания, как в приведенном коде, в исходной программе стоял вызов модуля, который вводит значение соответствующей переменной из файла, но эффект остается и в случае прямого присваивания)

Эффект одинаковый для Debug и для Release конфигураций. При Debug все оптимизации отключены. Кто-нибудь может подсказать, в какую сторону рыть?

До этого стояла версия компилятора Intel Fortran 10 и все работало.

Спасибо!


Ошибка найдена
Автор: akaGM
Дата сообщения: 26.01.2012 11:31
Andrew10
а не под отладчиком, в автономной программе работает?
думаю, дело всё-таки софтовое...

кстати, "кусок кода" как-то малоинформативен...
Автор: Andrew10
Дата сообщения: 26.01.2012 12:29
akaGM

Цитата:
а не под отладчиком, в автономной программе работает?
думаю, дело всё-таки софтовое...


Без отладчика из командной строки тоже не работает. Точнее, работает также, как и под отладчиком. То есть
тестовая печать выдает на консоль правильные значения, а затем контроль значений переменной signal_flag показывает, что она равна нулю и печатает на ту же консоль сообщение об этом и нулевое (неправильное) значение переменной .

Я и сам думаю, что дело не в VS, а в компиляторе. Здесь спросил, поскольку эта тема конкретно про Intel-компиляторы и не варезник.


Цитата:

кстати, "кусок кода" как-то малоинформативен...


К сожалению, полная программа слишком большая, чтобы ее размещать, а "вычленять" кусок слишком хлопотно, при этом почти наверняка эффект пропадет. Можно, конечно, попробовать, но проще будет откатиться назад и не париться.

Мне не нужно прямо указать ошибку, достаточно подсказки на уровне идеи, с чем это могло бы быть связано. Первая мысль у меня была насчет оптимизации кода, но вроде бы я все отключил опцией /Od. Так еще есть какие-то
Threshold for Auto-Parallelization
Threshold for Vectorization
Первая, как я понимаю, связана с развертыванием циклов, а вторая?

Страницы: 123456789101112131415161718192021

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


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