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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

azertyuu



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тут такой конкретный вопросик по разреженным матрицам, может кто-нибудь знает, буду очень благодарен:
 
Ищу такие процедурки (желательно готовые) которые делает вот такое:
 
1) перевести разреженную матрицу в компактный вид (типа например три массива, массив индексов столбцов ненулевых эл-тов + массив индексов строк ненулевых эл-тов + массив самих ненулевых эл-тов)
 
2) произвести умножение вектора на матрицу, записанную в компактном виде
 
3) перевести матрицу из компактоного вида в обычный разреженный
 
Интуиция подскахывает, что все это где-то должно быть готово, операции-то элементарные. и часто употребляемые наверное. вот самому возиться с ними не хочется.  
 
ЗЫ. ну и все это на фортране естественно....

Всего записей: 13 | Зарегистр. 12-04-2005 | Отправлено: 18:51 20-09-2005 | Исправлено: azertyuu, 18:53 20-09-2005
KChernov



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Новые вопросы:
1. Возможно ли средствами фортрана организовать единообразное хранение разнородных объектов (как, например, в ООП языках можно создать массив объектов типа Object, или другого родительского, и хранить там объекты дочерних типов - для Обжекта - всех)?
В принципе можно создать супертип, в котором с помощью union описать как варианты все другие типы, которые так нужно хранить, и описать приведение всех этих типов к этому супертипу. Тогда можно создать массив элементов супертипа и хранить в нем все эти типы (по крайней мере теоретически - я только по документации смотрел).
Но такой вариант кажется несколько громоздким (или он единственный для фортрана?).
2. Как получить имя типа переменной?

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 14:53 01-11-2005
FuzzyLogic



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KChernov
1. Хммм, ерунда получится (если получится), громоздко и бестолково, а главное .. зачем? Надо подбирать инструментарий соответственно задачи, может просто Фортран это немного не то что вам надо?
2. Что-то ощущение что никак

Всего записей: 1920 | Зарегистр. 27-07-2002 | Отправлено: 19:30 01-11-2005
ValterG



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
azertyuu
  Есть библиотека CERN. Сейчас тексты ее уже свободно не дают,
но я отыскал вариантик от 2001 года. Там много чего, возможно
и это есть. К сожалению все это у меня в непричесанном виде -
качал несколько вариантов в один и тот же каталог и придется
разбираться. Пиши в ПМ. Описания содержимого можно во многих
местах найти и даже на русском.  

Всего записей: 995 | Зарегистр. 06-12-2002 | Отправлено: 19:46 01-11-2005
FuzzyLogic



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Почему свободно не дают? Распространяется под GPL, есть тут http://wwwasd.web.cern.ch/wwwasd/cernlib/  
А ему надо что-то из лин. алгебры, типа BLAS, LAPACK, итд, только я теперь уже не помню в какой из них что есть.

Всего записей: 1920 | Зарегистр. 27-07-2002 | Отправлено: 19:52 01-11-2005 | Исправлено: FuzzyLogic, 19:54 01-11-2005
KChernov



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FuzzyLogic
1. Я хочу моделировать область, содержащую разнородные объекты.  
Очень хотелось бы хранить все эти объекты в одном месте + чтобы появление новых типов объектов требовало минимального переписывания существующего кода.
Нашел возможности, позволяющие это делать: structure, union, map.
То есть создать структуру-контейнер, содержащую с помощью union все структуры для типов объектов, и создать массив типа структуры-контейнера.
Тогда можно все объекты хранить единообразно.
+ с помощью interface можно сделать работу со всем этим более прозрачной.
Правда не проверял, как это все сказывается на производительности
 
2. У меня тоже такое ощущение По крайней мере в структуре с union разные объекты различаются по именам, а не по типам.
 
Соответсвенно вопросы по структурам:
3. Что все таки лучше использовать: type или structure ? А то они неравнозначны: у первого нет union (или есть?), а у второго нет предустановленных значений переменных и конструкторов (или я опять же что-то проглядел?).
4. А вместе их использовать нельзя случайно?
5. Есть ли для type альтернатива union ?
6. Есть ли для structure альтернатива конструкторам?
 

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 14:47 08-11-2005
ValterG



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

Цитата:
Я хочу моделировать область, содержащую разнородные объекты

  А чего массив ссылок не годится ? Зачем сложности. Во-вторых хранение
не единственное, что приводит к переписыванию программы -
есть еще обработка. 90-й ФОРТРАН и типы дает универсальный способ :
можно переопределить все операции для нового типа и транслятор  
остальное сам сделает. Например библиотеки типов для сверхдлинных
чисел и чисел любой длины именно так и сделаны. Ссылочки можно
найти на сайте по ФОРТРАН-у   fortran.com  .

Всего записей: 995 | Зарегистр. 06-12-2002 | Отправлено: 15:33 09-11-2005
KChernov



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

Цитата:
fortran.com

Спасибо, посмотрю.
 
 

Цитата:
 90-й ФОРТРАН и типы дает универсальный способ

Это которые type или которые structure ?

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 15:29 10-11-2005
ValterG



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

Цитата:
Это которые type или которые structure ?

  Type   и    Interface operator

Всего записей: 995 | Зарегистр. 06-12-2002 | Отправлено: 15:09 15-11-2005
azertyuu



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

Всего записей: 13 | Зарегистр. 12-04-2005 | Отправлено: 18:10 26-11-2005
FuzzyLogic



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
azeryuu  
Найдём, были бы вопросы  

Всего записей: 1920 | Зарегистр. 27-07-2002 | Отправлено: 20:36 26-11-2005
ValterG



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
azertyuu
 http://parallel.ru/
  Кстати в основном народ параллелит именно под Линухом.

Всего записей: 995 | Зарегистр. 06-12-2002 | Отправлено: 17:58 27-11-2005
FuzzyLogic



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ValterG
Пошарился ... если честно ... жуть, 90% инфы такое старьё ... но пара страничек почитал с удовольствием, пасиб

Всего записей: 1920 | Зарегистр. 27-07-2002 | Отправлено: 00:28 28-11-2005
Simbr

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
azertyuu
Для работы с разреженными матрицами Cаад (Youcef Saad) выложил свой пакет sparsekit(последняя ревизия 2004). В этом пакете есть набор пп по преобразованию способов хранения разреженных матриц.

Всего записей: 124 | Зарегистр. 10-01-2005 | Отправлено: 09:25 28-11-2005
KChernov



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Попробовал работать с субжем на АМД64 - в челом работает, но не все:
Появились еще вопросы:
1. Можно ли (и как) под VS.net2003 откомпилировать под АМД64 (нужен именно 64-х битный код)?
В документации нашел две опции, которые похожи на то, что мне нужно: i32em и i64.
Но куда его прописывать в VS-е не нашел
Например там в закладке компиляции есть пункт - получившаяся командная строка, и там можно добавлять еще свои опции, но попытка прописывания туда этих ключей привела только к руганию на них компилятора
Или хотя бы приведите пример командной строки для компиляции с получением АМД64.
 
2. В VS.net2003 не видится отладчик интеловского фортрана - судя по всему подключается сишный, что приводит к невозможности отладки
Может это быть связано с тем, что отладчик IVF - 32-х битный?
Пробовал использовать отладчик, который ставится самим фортраном (не в студию), но так сразу он у меня не заработал (правда я и не разбирался)...
Проблема мб в том, что туда сначала ставили VS 2005 64-bit, потом VS 2003, а уже потом IVF 9?
 
Теперь безотносительно АМД64:
3. Еще один минус Интел фортрана по сравнению с Компак фортраном: в последнем работала контекстная помощь.
Вот бы chm прикрутить к студии - это возможно?
 
4. Нашел в файле for_main.chm описание функции, которая мне нужна, но при компиляции не видится библиотека, в которой эта функция описана Где ее прописать в студии? В CVF-е когда такая проблема возникла - успешно ее решил, а здесь ничего подобного найти не могу
 
5. Посоветуйте библиотеку для расчетов с произвольной точностью для фортрана (Совсем хорошо, если она оптимизирована под АМД64)

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 15:45 02-12-2005
dima333a



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

Цитата:
Можно ли (и как) под VS.net2003 откомпилировать под АМД64 (нужен именно 64-х битный код)?  

 
#1 Вообщето я не уверен, можно ли запустить/скомпилировать 64-бит код на 32-bit версии WindowsXP ???
Компилировать из командной строки (вне VS) пробовали?
 
#4 Вообще если физически у вас есть файл с библиотекой то его можно запихнуть в папочку /include ( путь к папке include  должен быть прописан в системных свойствах, можно просто поискать папочку include )
 

Всего записей: 798 | Зарегистр. 27-02-2004 | Отправлено: 19:55 02-12-2005
MZN

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

Цитата:
5. Посоветуйте библиотеку для расчетов с произвольной точностью для фортрана (Совсем хорошо, если она оптимизирована под АМД64)

 
Очень хорошая штука: MPFUN, автор David H. Bailey
 
Вроде была здесь:
http://crd.lbl.gov/~dhbailey/mpdist/index.html
 
 
 
 
 
Добавлено:
KChernov

Цитата:
1. Можно ли (и как) под VS.net2003 откомпилировать под АМД64 (нужен именно 64-х битный код)?  

 
По словам nt[gjllth;rb Intel нельзя. Даже под Windows 64 bit.  
 
А, кстати, как у Вас работает интеграция в VS? У меня ее нет вовсе.

Всего записей: 1715 | Зарегистр. 23-10-2004 | Отправлено: 23:02 03-12-2005
KChernov



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

Цитата:
#1 Вообщето я не уверен, можно ли запустить/скомпилировать 64-бит код на 32-bit версии WindowsXP ???

Сори, ничего не написал про версию винды - она конечно же 64-х разрядная
 

Цитата:
#4 Вообще если физически у вас есть файл с библиотекой то его можно запихнуть в папочку /include

Вообще в VS пути задаются через какие-то внутренние переменные, которые начинаются с "$" - где бы их посмотреть/задать? Или там используются переменные окружения оси?
 
MZN

Цитата:
Очень хорошая штука: MPFUN, автор David H. Bailey

Спасибо, посмотрю
 

Цитата:
Даже под Windows 64 bit.

Уже наткнулся на соотв пункт в документации
Как-то это странно - чем так версия 64-х битного компилятора может отличаться от 32-х битного?!
 

Цитата:
А, кстати, как у Вас работает интеграция в VS? У меня ее нет вовсе.

Нормально работает (только вот под 64-х биной осью с дебагером проблемы).
 
Какой у Вас VS и какой фортран?
 
VS (пока только 2003-й) должен быть поставлен первым.
Потом поверх него нужно ставить фортран и или выбрать кастом установку и поставить галочку для пакета интеграции для версии 8 или поставить интегратор для версии 9.

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 14:49 05-12-2005
MZN

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

Цитата:
VS (пока только 2003-й) должен быть поставлен первым

 
Уменя получилось, что он был вторым деинсталяция и переустановка интела не помогла... Он похоже, свою интеграцию вообще не деинсталирует.

Всего записей: 1715 | Зарегистр. 23-10-2004 | Отправлено: 16:49 05-12-2005
dima333a



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

Цитата:
Вообще в VS пути задаются через какие-то внутренние переменные, которые начинаются с "$" - где бы их посмотреть/задать? Или там используются переменные окружения оси?  
 

 
Кхм  хороший вопрос. Я на самом деле пользуюсь старым добрым VS 6.   По идее когда устанавливаешь Intel FORTRAN то в меню Start( Пуск) там где ярлычки для Intel(R) Software Development Tools -> Fortran ...лалала должен быть ярлык для использования компилятора из командной строки. Если заглянуть в свойства ярлыка, то можно найти батник который устанавливает все эти переменные. Опять таки, у меня Intel Fortran ver. 7.0... так что могут быть варианты. Что у меня:
Вот куда ведет ярлык для запуска компилятора из коммандной строки:
 

Код:
C:\WINDOWS\system32\cmd.exe  /K "C:\Program Files\Intel\Compiler70\IA32\Bin\ifcvars.bat"  

 
А вот содержание батника:
 

Код:
 
 
@echo off
Rem Intel® Fortran Compiler environment var set
echo Environment variables for the Intel(R) Fortran Compiler set
 
@call "C:\Program Files\Microsoft Visual Studio\DF98\Bin\DFvars.bat"
 
SET PATH=C:\Program Files\Intel\EDB70;%Path%
SET PATH=C:\Program Files\Intel\Compiler70\IA32\bin;C:\Program Files\Common Files\Intel\Shared Files\ia32\bin;%PATH%
SET LIB=C:\Program Files\Intel\Compiler70\IA32\lib;C:\Program Files\Common Files\Intel\Shared Files\ia32\lib;%LIB%
SET INCLUDE=C:\Program Files\Intel\Compiler70\IA32\include;%INCLUDE%
 
SET PACKAGEID=W_FC_P_7.0.077
 
Echo Results from C:\Program Files\Intel\Compiler70\Docs\Notes\FSupport.txt
Type "C:\Program Files\Intel\Compiler70\Docs\Notes\FSupport.txt"
 
 

 
Тут помоему все более мение рзясняет ситуацию с тем где что лежит. НАверняка VS включает пути необходимые для Intel FORTRAN в собственный набор путей. Соответственно если бросить библиотечку в INCLUDE для Intel FoRTRAN то должно заработать. Хотя, кхммм я ничего не гарантирую..
 

Всего записей: 798 | Зарегистр. 27-02-2004 | Отправлено: 17:02 05-12-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 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